[
  {
    "path": ".editorconfig",
    "content": "# Top-most EditorConfig file\nroot = true\n[*.cs]\n\n\n#Core editorconfig formatting - indentation\n\n#use soft tabs (spaces) for indentation\nindent_style = space\n\n#Formatting - new line options\n\n#place catch statements on a new line\ncsharp_new_line_before_catch = true\n#place else statements on a new line\ncsharp_new_line_before_else = true\n#require finally statements to be on a new line after the closing brace\ncsharp_new_line_before_finally = true\n#require members of object initializers to be on the same line\ncsharp_new_line_before_members_in_object_initializers =true\n#require braces to be on a new line for control_blocks, types, lambdas, object_collection_array_initializers, and methods (also known as \"Allman\" style)\ncsharp_new_line_before_open_brace =all\n\n#Formatting - organize using options\n\n#sort System.* using directives alphabetically, and place them before other usings\ndotnet_sort_system_directives_first = true\n\n#Formatting - spacing options\n\n#require NO space between a cast and the value\ncsharp_space_after_cast = false\n#require a space before the colon for bases or interfaces in a type declaration\ncsharp_space_after_colon_in_inheritance_clause = true\n#require a space after a keyword in a control flow statement such as a for loop\ncsharp_space_after_keywords_in_control_flow_statements = true\n#require a space before the colon for bases or interfaces in a type declaration\ncsharp_space_before_colon_in_inheritance_clause = true\n#remove space within empty argument list parentheses\ncsharp_space_between_method_call_empty_parameter_list_parentheses = false\n#remove space between method call name and opening parenthesis\ncsharp_space_between_method_call_name_and_opening_parenthesis = false\n#do not place space characters after the opening parenthesis and before the closing parenthesis of a method call\ncsharp_space_between_method_call_parameter_list_parentheses = false\n#remove space within empty parameter list parentheses for a method declaration\ncsharp_space_between_method_declaration_empty_parameter_list_parentheses = false\n#place a space character after the opening parenthesis and before the closing parenthesis of a method declaration parameter list.\ncsharp_space_between_method_declaration_parameter_list_parentheses = false\n\n#Formatting - wrapping options\n\n#leave code block on single line\ncsharp_preserve_single_line_blocks = true\n\n#Style - Code block preferences\n\n#prefer curly braces even for one line of code\ncsharp_prefer_braces = true:suggestion\n\n#Style - expression bodied member options\n\n#prefer block bodies for constructors\ncsharp_style_expression_bodied_constructors =false:silent\n#prefer expression-bodied members for methods\ncsharp_style_expression_bodied_methods = true:suggestion\n#prefer expression-bodied members for properties\ncsharp_style_expression_bodied_properties = true:suggestion\n\n#Style - expression level options\n\n#prefer out variables to be declared inline in the argument list of a method call when possible\ncsharp_style_inlined_variable_declaration =true:error\n#prefer tuple names to ItemX properties\ndotnet_style_explicit_tuple_names = true:suggestion\n#prefer the language keyword for member access expressions, instead of the type name, for types that have a keyword to represent them\ndotnet_style_predefined_type_for_member_access = true:suggestion\n\n#Style - Expression-level  preferences\n\n#prefer default over default(T)\ncsharp_prefer_simple_default_expression =true:error\n#prefer objects to be initialized using object initializers when possible\ndotnet_style_object_initializer = true:suggestion\n#prefer inferred tuple element names\ndotnet_style_prefer_inferred_tuple_names = true:suggestion\n\n#Style - implicit and explicit types\n\n#prefer var over explicit type in all cases, unless overridden by another code style rule\ncsharp_style_var_elsewhere =true:error\n#prefer var is used to declare variables with built-in system types such as int\ncsharp_style_var_for_built_in_types =true:error\n#prefer var when the type is already mentioned on the right-hand side of a declaration expression\ncsharp_style_var_when_type_is_apparent =true:error\n\n#Style - language keyword and framework type options\n\n#prefer the language keyword for local variables, method parameters, and class members, instead of the type name, for types that have a keyword to represent them\ndotnet_style_predefined_type_for_locals_parameters_members = true:suggestion\n\n#Style - Miscellaneous preferences\n\n#prefer local functions over anonymous functions\ncsharp_style_pattern_local_over_anonymous_function =true:error\n\n#Style - modifier options\n\n#prefer accessibility modifiers to be declared except for public interface members. This will currently not differ from always and will act as future proofing for if C# adds default interface methods.\ndotnet_style_require_accessibility_modifiers = for_non_interface_members:suggestion\n\n#Style - Modifier preferences\n\n#when this rule is set to a list of modifiers, prefer the specified ordering.\ncsharp_preferred_modifier_order = public,internal,private,protected,async,readonly,static,override,abstract:suggestion\n\n#Style - Pattern matching\n\n#prefer pattern matching instead of is expression with type casts\ncsharp_style_pattern_matching_over_as_with_null_check =true:error\n\n#Style - qualification options\n\n#prefer fields not to be prefaced with this. or Me. in Visual Basic\ndotnet_style_qualification_for_field = false:suggestion\n#prefer methods not to be prefaced with this. or Me. in Visual Basic\ndotnet_style_qualification_for_method = false:suggestion\n#prefer properties not to be prefaced with this. or Me. in Visual Basic\ndotnet_style_qualification_for_property = false:suggestion\ninsert_final_newline=true\ncsharp_using_directive_placement=outside_namespace:error\ncsharp_prefer_simple_using_statement=true:error\ncsharp_style_throw_expression=true:error\ncsharp_style_prefer_null_check_over_type_check=true:error\ncsharp_style_prefer_index_operator=true:error\ncsharp_style_prefer_range_operator=true:error\ncsharp_style_deconstructed_variable_declaration=true:error\ncsharp_style_unused_value_assignment_preference=discard_variable:error\ncsharp_style_unused_value_expression_statement_preference=discard_variable:none\ncsharp_prefer_static_local_function=true:error\ncsharp_style_conditional_delegate_call=true:error\ncsharp_style_prefer_switch_expression=true:error\ncsharp_style_prefer_pattern_matching=true:error\ncsharp_style_pattern_matching_over_is_with_cast_check=true:error\ncsharp_style_prefer_not_pattern=true:error\n\n# IDE0058: Expression value is never used\ndotnet_diagnostic.IDE0058.severity = none\n\n[*.{cs,vb}]\nend_of_line=lf\ndotnet_style_coalesce_expression=true:error\ndotnet_style_null_propagation=true:error\ndotnet_style_prefer_is_null_check_over_reference_equality_method=true:error\ndotnet_style_prefer_auto_properties=true:silent\ndotnet_style_object_initializer=true:error\ndotnet_style_collection_initializer=true:error\ndotnet_style_prefer_simplified_boolean_expressions=true:error\ndotnet_style_prefer_conditional_expression_over_assignment=true:silent\ndotnet_style_prefer_conditional_expression_over_return=true:silent\ndotnet_style_explicit_tuple_names=true:error\ndotnet_style_prefer_inferred_tuple_names=true:error\ndotnet_style_prefer_inferred_anonymous_type_member_names=true:error\ndotnet_style_prefer_compound_assignment=true:error\ndotnet_style_readonly_field=true:error\ndotnet_style_predefined_type_for_locals_parameters_members=true:error\ndotnet_code_quality_unused_parameters=all:error"
  },
  {
    "path": ".gitattributes",
    "content": "###############################################################################\n# Set default behavior to automatically normalize line endings.\n###############################################################################\n* text=auto\n*.cs text eol=lf\n###############################################################################\n# Set default behavior for command prompt diff.\n#\n# This is need for earlier builds of msysgit that does not have it on by\n# default for csharp files.\n# Note: This is only used by command line\n###############################################################################\n#*.cs     diff=csharp\n\n###############################################################################\n# Set the merge driver for project and solution files\n#\n# Merging from the command prompt will add diff markers to the files if there\n# are conflicts (Merging from VS is not affected by the settings below, in VS\n# the diff markers are never inserted). Diff markers may cause the following\n# file extensions to fail to load in VS. An alternative would be to treat\n# these files as binary and thus will always conflict and require user\n# intervention with every merge. To do so, just uncomment the entries below\n###############################################################################\n#*.sln       merge=binary\n#*.csproj    merge=binary\n#*.vbproj    merge=binary\n#*.vcxproj   merge=binary\n#*.vcproj    merge=binary\n#*.dbproj    merge=binary\n#*.fsproj    merge=binary\n#*.lsproj    merge=binary\n#*.wixproj   merge=binary\n#*.modelproj merge=binary\n#*.sqlproj   merge=binary\n#*.wwaproj   merge=binary\n\n###############################################################################\n# behavior for image files\n#\n# image files are treated as binary by default.\n###############################################################################\n#*.jpg   binary\n#*.png   binary\n#*.gif   binary\n\n###############################################################################\n# diff behavior for common document formats\n#\n# Convert binary document formats to text before diffing them. This feature\n# is only available from the command line. Turn it on by uncommenting the\n# entries below.\n###############################################################################\n#*.doc   diff=astextplain\n#*.DOC   diff=astextplain\n#*.docx  diff=astextplain\n#*.DOCX  diff=astextplain\n#*.dot   diff=astextplain\n#*.DOT   diff=astextplain\n#*.pdf   diff=astextplain\n#*.PDF   diff=astextplain\n#*.rtf   diff=astextplain\n#*.RTF   diff=astextplain\n\n*.sln filter=gitignore\n"
  },
  {
    "path": ".github/FUNDING.yml",
    "content": "# These are supported funding model platforms\n\ngithub: TwentyFourMinutes\ncustom: https://www.paypal.me/24minutes\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/---bug-report.md",
    "content": "---\nname: \"\\U0001F41E Bug report\"\nabout: Create a report about something that is not working.\ntitle: ''\nlabels: bug\nassignees: TwentyFourMinutes\n\n---\n\n<!--\n\nIf you believe you have an issue that affects the SECURITY of the project, please do NOT create an issue and instead head over to the [Security tab](https://github.com/TwentyFourMinutes/Venflow/security/policy).\n\n-->\n\n### Describe the bug\nA clear and concise description of what the bug is.\n\n### Reproduction\n<!--\nA minimalistic code snippet which reproduces the issue you are facing. If this issue is more complex and requires a bigger setup, please create a repository which includes the reproduction sample.\n-->\n\n### Exceptions (if any)\n<!-- \n\nInclude the Exception you got including the StackTrace if possible.\n\n-->\n\n### Further technical details\n- .NET/.NET Core version:\n- Venflow version:\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/---feature request.md",
    "content": "---\nname: 💡 Feature Request\nabout: Suggest an idea for this project.\ntitle: ''\nlabels: enhancement\nassignees: TwentyFourMinutes\n\n---\n\n### Is your feature request related to a problem, if so please describe it.\n\n<!--\n\nA clear and concise description of what the problem is.\n\n-->\n\n### Describe the solution you'd like\n\n<!--\n\nA clear and concise description of the solution you think of. Include any alternatives you've considered.\n\n-->\n\n### Additional context (if any)\n\n<!--\n\nAdd any other context or screenshots about the feature request here.\n\n-->\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "content": "blank_issues_enabled: true\ncontact_links:\n  - name: Discussions\n    url: https://github.com/TwentyFourMinutes/Venflow/discussions/new\n    about: Is your issue perhaps more of a discussion? Please open topics for discussion using the new GitHub Discussions feature.\n"
  },
  {
    "path": ".github/dependabot.yml",
    "content": "version: 2\nupdates:\n  - package-ecosystem: \"github-actions\"\n    directory: \"/\"\n    schedule:\n      interval: \"daily\"\n    assignees:\n      - \"TwentyFourMinutes\"\n  \n  - package-ecosystem: \"nuget\"\n    directory: \"/src/Venflow/Venflow/\"\n    schedule:\n      interval: \"daily\"\n    assignees:\n      - \"TwentyFourMinutes\"\n"
  },
  {
    "path": ".github/workflows/benchmarks.yml",
    "content": "name: Benchmarks\n\non:\n  release:\n    types: [created]\n\n  workflow_dispatch:\n    inputs:\n      logLevel:\n        description: 'Log level'\n        required: true\n        default: 'warning'\n\njobs:\n  build:\n\n    runs-on: ubuntu-latest\n    env:\n        VENFLOW_BENCHMARKS_CONNECTION_STRING: 'Server=127.0.0.1;Port=5432;Database=venflow_benchmarks;UserId=venflow_benchmarks;Password=venflow_benchmarks;'\n\n    steps:\n    - uses: actions/checkout@v3\n\n    - name: Setup .NET 6.0\n      uses: actions/setup-dotnet@v2\n      with:\n        dotnet-version: 6.0.100-rc.1.21463.6\n\n    - name: Install dependencies\n      run: dotnet restore\n\n    - name: Build\n      run: dotnet build --configuration Release --no-restore\n\n    - name: Configure PostgreSQL\n      uses: harmon758/postgresql-action@v1\n      with:\n        postgresql version: '13.1'\n        postgresql db: 'venflow_benchmarks'\n        postgresql user: 'venflow_benchmarks'\n        postgresql password: 'venflow_benchmarks'\n\n    - name: Clear old benchmarks\n      working-directory: ./benchmarks\n      run: rm -rf *\n\n    - name: Run Query Benchmarks\n      working-directory: ./test/Venflow.Benchmarks\n      run: dotnet run -c Release -f net6.0 -- -f \"*query*\"\n\n    - name: Run Insert Benchmarks\n      working-directory: ./test/Venflow.Benchmarks\n      run: dotnet run -c Release -f net6.0 -- -f \"*insert*\"\n\n    - name: Run Update Benchmarks\n      working-directory: ./test/Venflow.Benchmarks\n      run: dotnet run -c Release -f net6.0 -- -f \"*update*\"\n\n    - name: Run Delete Benchmarks\n      working-directory: ./test/Venflow.Benchmarks\n      run: dotnet run -c Release -f net6.0 -- -f \"*delete*\"\n\n    - name: Run Instantiation Benchmarks\n      working-directory: ./test/Venflow.Benchmarks\n      run: dotnet run -c Release -f net6.0 -- -f \"*instantiation*\"\n\n    - name: Run Score Calculator\n      working-directory: ./test/Venflow.Score\n      run: dotnet run -c Release -- \"../Venflow.Benchmarks/BenchmarkDotNet.Artifacts/results\" \"../../../benchmarks\" \"../../../README.md\"\n\n    - name: Commit Benchmark changes\n      uses: stefanzweifel/git-auto-commit-action@v4.14.0\n      with:\n        commit_message: Updated Benchmarks\n        branch: dev\n        push_options: '--force'\n"
  },
  {
    "path": ".github/workflows/build.yml",
    "content": "name: .NET Core\n\non:\n  push:\n    branches: [ dev ]\n  pull_request:\n    branches: [ dev ]\n\njobs:\n  build:\n\n    runs-on: ubuntu-latest\n    env:\n        VENFLOW_TESTS_CONNECTION_STRING: 'Server=127.0.0.1;Port=5432;Database=venflow_tests;UserId=venflow_tests;Password=venflow_tests;Timeout=25;'\n\n    steps:\n    - uses: actions/checkout@v3\n      with:\n        persist-credentials: false\n\n    - name: Setup .NET 6.0\n      uses: actions/setup-dotnet@v2\n      with:\n        dotnet-version: 6.0.100-rc.1.21463.6\n\n    - name: Setup .NET 5.0\n      uses: actions/setup-dotnet@v2\n      with:\n        dotnet-version: 5.0.400\n\n    - name: Setup .NET 3.1\n      uses: actions/setup-dotnet@v2\n      with:\n        dotnet-version: 3.1.118\n\n    - name: Install dependencies\n      run: dotnet restore\n\n    - name: Build\n      run: dotnet build --configuration Release --no-restore\n\n    - name: Configure PostgreSQL\n      uses: harmon758/postgresql-action@v1\n      with:\n        postgresql version: '13.4'\n        postgresql db: 'venflow_tests'\n        postgresql user: 'venflow_tests'\n        postgresql password: 'venflow_tests'\n\n    - name: Execute Tests (.Net 6)\n      working-directory: ./test/Venflow.Tests\n      run: 'dotnet test -c Release --no-restore --no-build --verbosity normal -f net6.0 /p:CollectCoverage=true /p:CoverletOutputFormat=lcov /p:CoverletOutput=coverage-reports/ /p:Exclude=\"[Venflow.Shared]*\"'\n\n    - name: Execute Tests (.Net 5)\n      working-directory: ./test/Venflow.Tests\n      run: dotnet test -c Release --no-restore --no-build --verbosity normal -f net5.0\n\n    - name: Execute Tests (.Net Core 3.1)\n      working-directory: ./test/Venflow.Tests\n      run: dotnet test -c Release --no-restore --no-build --verbosity normal -f netcoreapp3.1\n\n    - name: Upload coverage report to coveralls.io\n      uses: coverallsapp/github-action@master\n      if: ${{ github.event_name == 'push' }}\n      with:\n        github-token: ${{ secrets.GITHUB_TOKEN }}\n        path-to-lcov: ./test/Venflow.Tests/coverage-reports/coverage.net6.0.info\n\n    - name: Build Documentation\n      uses: nikeee/docfx-action@v1.0.0\n      if: ${{ github.event_name == 'push' }}\n      with:\n        args: /github/workspace/docs/docfx/docfx.json --property TargetFramework=net5.0\n        \n    - name: Deploy Documentation to Github Pages\n      uses: JamesIves/github-pages-deploy-action@v4.2.5\n      if: ${{ github.event_name == 'push' }}\n      with:\n        token: ${{ secrets.GITHUB_TOKEN }}\n        branch: dev\n        folder: docs\n        target-folder: docs\n        commit-message: \"Updated docs\"\n        clean: true\n"
  },
  {
    "path": ".github/workflows/cla.yml",
    "content": "name: \"CLA Assistant\"\non:\n  issue_comment:\n    types: [created]\n  pull_request_target:\n    types: [opened,closed,synchronize]\n\njobs:\n  CLAssistant:\n    runs-on: ubuntu-latest\n    steps:\n      - name: \"CLA Assistant\"\n        if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target'\n        uses: cla-assistant/github-action@v2.1.3-beta\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n          PERSONAL_ACCESS_TOKEN : ${{ secrets.PERSONAL_ACCESS_TOKEN }}\n        with:\n          path-to-signatures: 'signatures/version1/cla.json'\n          path-to-document: 'https://github.com/TwentyFourMinutes/Venflow/blob/dev/CLA.md'\n          branch: 'dev'\n          allowlist: TwentyFourMinutes,bot*\n"
  },
  {
    "path": ".github/workflows/codeql-analysis.yml",
    "content": "# For most projects, this workflow file will not need changing; you simply need\n# to commit it to your repository.\n#\n# You may wish to alter this file to override the set of languages analyzed,\n# or to provide custom queries or build logic.\n#\n# ******** NOTE ********\n# We have attempted to detect the languages in your repository. Please check\n# the `language` matrix defined below to confirm you have the correct set of\n# supported CodeQL languages.\n#\nname: \"CodeQL\"\n\non:\n  push:\n    branches: [ dev ]\n  pull_request:\n    # The branches below must be a subset of the branches above\n    branches: [ dev ]\n  schedule:\n    - cron: '40 18 * * 4'\n\njobs:\n  analyze:\n    name: Analyze\n    runs-on: ubuntu-latest\n\n    strategy:\n      fail-fast: false\n      matrix:\n        language: [ 'csharp' ]\n        # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]\n        # Learn more:\n        # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed\n\n    steps:\n    - name: Checkout repository\n      uses: actions/checkout@v3\n\n    - name: Setup .NET 6.0\n      uses: actions/setup-dotnet@v2\n      with:\n        dotnet-version: 6.0.100-rc.1.21463.6\n\n    # Initializes the CodeQL tools for scanning.\n    - name: Initialize CodeQL\n      uses: github/codeql-action/init@v1\n      with:\n        languages: ${{ matrix.language }}\n        # If you wish to specify custom queries, you can do so here or in a config file.\n        # By default, queries listed here will override any specified in a config file.\n        # Prefix the list here with \"+\" to use these queries and those in the config file.\n        # queries: ./path/to/local/query, your-org/your-repo/queries@main\n\n    # Autobuild attempts to build any compiled languages  (C/C++, C#, or Java).\n    # If this step fails, then you should remove it and run the build manually (see below)\n    - name: Manual build\n      working-directory: ./\n      run:  | \n        dotnet build -c Release\n\n    - name: Perform CodeQL Analysis\n      uses: github/codeql-action/analyze@v1\n"
  },
  {
    "path": ".github/workflows/devskim-analysis.yml",
    "content": "name: DevSkim\n\non:\n  push:\n    branches: [ dev ]\n  pull_request:\n    branches: [ dev ]\n  schedule:\n    - cron: '20 22 * * 5'\n\njobs:\n  lint:\n    name: DevSkim\n    runs-on: ubuntu-20.04\n    permissions:\n      actions: read\n      contents: read\n      security-events: write\n    steps:\n      - name: Checkout code\n        uses: actions/checkout@v3\n\n      - name: Run DevSkim scanner\n        uses: microsoft/DevSkim-Action@v1\n        \n      - name: Upload DevSkim scan results to GitHub Security tab\n        uses: github/codeql-action/upload-sarif@v1\n        with:\n          sarif_file: devskim-results.sarif\n"
  },
  {
    "path": ".github/workflows/publish.yml",
    "content": "name: Publish to NuGet\non:\n  push:\n    branches:\n      - dev\njobs:\n  publish:\n    name: build, pack & publish\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n\n      - name: Setup .NET 6.0\n        uses: actions/setup-dotnet@v2\n        with:\n          dotnet-version: 6.0.100-rc.1.21463.6\n\n      - name: build Venflow.Generators\n        working-directory: ./src/Venflow.Generators\n        run: dotnet build -c Release\n\n      - name: Publish Venflow.Keys on version change\n        id: publish_venflow_keys_nuget\n        uses: TwentyFourMinutes/PublishNuget@dev\n        with:\n          name: Venflow.Keys\n          project_file_path: src/Venflow.Keys/Venflow.Keys.csproj\n          version_file_path: Directory.Build.props\n          nuget_key: ${{secrets.NUGET_API_KEY}}\n          include_symbols: true\n\n      - name: Publish Venflow on version change\n        id: publish_venflow_nuget\n        uses: TwentyFourMinutes/PublishNuget@dev\n        with:\n          name: Venflow\n          project_file_path: src/Venflow/Venflow.csproj\n          version_file_path: Directory.Build.props\n          nuget_key: ${{secrets.NUGET_API_KEY}}\n          include_symbols: true\n\n      - name: Publish Venflow.Extensions.Logging on version change\n        id: publish_venflow_extensions_logging_nuget\n        uses: TwentyFourMinutes/PublishNuget@dev\n        with:\n          name: Venflow.Extensions.Logging\n          project_file_path: src/Venflow.Extensions.Logging/Venflow.Extensions.Logging.csproj\n          version_file_path: Directory.Build.props\n          nuget_key: ${{secrets.NUGET_API_KEY}}\n          include_symbols: true\n\n      - name: Publish Venflow.AspNetCore on version change\n        id: publish_venflow_aspnetcore_nuget\n        uses: TwentyFourMinutes/PublishNuget@dev\n        with:\n          name: Venflow.AspNetCore\n          project_file_path: src/Venflow.AspNetCore/Venflow.AspNetCore.csproj\n          version_file_path: Directory.Build.props\n          nuget_key: ${{secrets.NUGET_API_KEY}}\n          include_symbols: true\n\n      - name: Publish Venflow.NewtonsoftJson on version change\n        id: publish_venflow_newtonsoftjson_nuget\n        uses: TwentyFourMinutes/PublishNuget@dev\n        with:\n          name: Venflow.NewtonsoftJson\n          project_file_path: src/Venflow.NewtonsoftJson/Venflow.NewtonsoftJson.csproj\n          version_file_path: Directory.Build.props\n          nuget_key: ${{secrets.NUGET_API_KEY}}\n          include_symbols: true\n"
  },
  {
    "path": ".github/workflows/securitycodescan-analysis.yml",
    "content": "name: SecurityCodeScan\n\non:\n  push:\n    branches: [ dev ]\n  pull_request:\n    branches: [ dev ]\n  schedule:\n    - cron: '22 3 * * 0'\n\njobs:\n  SCS:\n    runs-on: windows-latest\n    steps:\n      - uses: actions/checkout@v3\n      - uses: nuget/setup-nuget@v1.0.5\n      - uses: microsoft/setup-msbuild@v1.0.2\n      \n      - name: Setup .NET 6.0\n        uses: actions/setup-dotnet@v2\n        with:\n          dotnet-version: 6.0.100-rc.1.21463.6\n      \n      - name: Set up projects for analysis\n        uses: security-code-scan/security-code-scan-add-action@main\n        \n      - name: Restore dependencies\t\n        run: dotnet restore\n\n      - name: Build\n        run: dotnet build --no-restore\n\n      - name: Convert sarif for uploading to GitHub\n        uses: security-code-scan/security-code-scan-results-action@main\n\n      - name: Upload sarif\n        uses: github/codeql-action/upload-sarif@v1\n"
  },
  {
    "path": ".github/workflows/shiftleft-analysis.yml",
    "content": "name: SL Scan\n\non:\n  push:\n    branches: [ dev ]\n  pull_request:\n    branches: [ dev ]\n  schedule:\n    - cron: '39 4 * * 6'\n\njobs:\n  Scan-Build:\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@v3\n    \n    - name: Setup .NET 6.0\n      uses: actions/setup-dotnet@v2\n      with:\n        dotnet-version: 6.0.100-rc.1.21463.6\n        \n    - name: Manual build\n      working-directory: ./\n      run:  | \n        dotnet build -c Release\n\n    - name: Perform Scan\n      uses: ShiftLeftSecurity/scan-action@master\n      env:\n        WORKSPACE: \"\"\n        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n        SCAN_AUTO_BUILD: true\n      with:\n        output: reports\n        # Scan auto-detects the languages in your project. To override uncomment the below variable and set the type\n        # type: credscan,java\n        # type: python\n\n    - name: Upload report\n      uses: github/codeql-action/upload-sarif@v1\n      with:\n        sarif_file: reports\n"
  },
  {
    "path": ".gitignore",
    "content": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n##\n## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore\n\n# Custom\nbuild/\n\n.idea/\nVenflow.Compatible/\nVenflow.Execution/\n\n# User-specific files\n*.rsuser\n*.suo\n*.user\n*.userosscache\n*.sln.docstates\n\n# User-specific files (MonoDevelop/Xamarin Studio)\n*.userprefs\n\n# Mono auto generated files\nmono_crash.*\n\n# Build results\n[Dd]ebug/\n[Dd]ebugPublic/\n[Rr]elease/\n[Rr]eleases/\nx64/\nx86/\n[Aa][Rr][Mm]/\n[Aa][Rr][Mm]64/\nbld/\n[Bb]in/\n[Oo]bj/\n[Ll]og/\n[Ll]ogs/\n\n# Visual Studio 2015/2017 cache/options directory\n.vs/\n# Uncomment if you have tasks that create the project's static files in wwwroot\n#wwwroot/\n\n# Visual Studio 2017 auto generated files\nGenerated\\ Files/\n\n# MSTest test Results\n[Tt]est[Rr]esult*/\n[Bb]uild[Ll]og.*\n\n# NUnit\n*.VisualState.xml\nTestResult.xml\nnunit-*.xml\n\n# Build Results of an ATL Project\n[Dd]ebugPS/\n[Rr]eleasePS/\ndlldata.c\n\n# Benchmark Results\nBenchmarkDotNet.Artifacts/\n\n# .NET Core\nproject.lock.json\nproject.fragment.lock.json\nartifacts/\n\n# StyleCop\nStyleCopReport.xml\n\n# Files built by Visual Studio\n*_i.c\n*_p.c\n*_h.h\n*.ilk\n*.meta\n*.obj\n*.iobj\n*.pch\n*.pdb\n*.ipdb\n*.pgc\n*.pgd\n*.rsp\n*.sbr\n*.tlb\n*.tli\n*.tlh\n*.tmp\n*.tmp_proj\n*_wpftmp.csproj\n*.log\n*.vspscc\n*.vssscc\n.builds\n*.pidb\n*.svclog\n*.scc\n\n# Chutzpah Test files\n_Chutzpah*\n\n# Visual C++ cache files\nipch/\n*.aps\n*.ncb\n*.opendb\n*.opensdf\n*.sdf\n*.cachefile\n*.VC.db\n*.VC.VC.opendb\n\n# Visual Studio profiler\n*.psess\n*.vsp\n*.vspx\n*.sap\n\n# Visual Studio Trace Files\n*.e2e\n\n# TFS 2012 Local Workspace\n$tf/\n\n# Guidance Automation Toolkit\n*.gpState\n\n# ReSharper is a .NET coding add-in\n_ReSharper*/\n*.[Rr]e[Ss]harper\n*.DotSettings.user\n\n# TeamCity is a build add-in\n_TeamCity*\n\n# DotCover is a Code Coverage Tool\n*.dotCover\n\n# AxoCover is a Code Coverage Tool\n.axoCover/*\n!.axoCover/settings.json\n\n# Visual Studio code coverage results\n*.coverage\n*.coveragexml\n\n# NCrunch\n_NCrunch_*\n.*crunch*.local.xml\nnCrunchTemp_*\n\n# MightyMoose\n*.mm.*\nAutoTest.Net/\n\n# Web workbench (sass)\n.sass-cache/\n\n# Installshield output folder\n[Ee]xpress/\n\n# DocProject is a documentation generator add-in\nDocProject/buildhelp/\nDocProject/Help/*.HxT\nDocProject/Help/*.HxC\nDocProject/Help/*.hhc\nDocProject/Help/*.hhk\nDocProject/Help/*.hhp\nDocProject/Help/Html2\nDocProject/Help/html\n\n# Click-Once directory\npublish/\n\n# Publish Web Output\n*.[Pp]ublish.xml\n*.azurePubxml\n# Note: Comment the next line if you want to checkin your web deploy settings,\n# but database connection strings (with potential passwords) will be unencrypted\n*.pubxml\n*.publishproj\n\n# Microsoft Azure Web App publish settings. Comment the next line if you want to\n# checkin your Azure Web App publish settings, but sensitive information contained\n# in these scripts will be unencrypted\nPublishScripts/\n\n# NuGet Packages\n*.nupkg\n# NuGet Symbol Packages\n*.snupkg\n# The packages folder can be ignored because of Package Restore\n**/[Pp]ackages/*\n# except build/, which is used as an MSBuild target.\n!**/[Pp]ackages/build/\n# Uncomment if necessary however generally it will be regenerated when needed\n#!**/[Pp]ackages/repositories.config\n# NuGet v3's project.json files produces more ignorable files\n*.nuget.props\n*.nuget.targets\n\n# Microsoft Azure Build Output\ncsx/\n*.build.csdef\n\n# Microsoft Azure Emulator\necf/\nrcf/\n\n# Windows Store app package directories and files\nAppPackages/\nBundleArtifacts/\nPackage.StoreAssociation.xml\n_pkginfo.txt\n*.appx\n*.appxbundle\n*.appxupload\n\n# Visual Studio cache files\n# files ending in .cache can be ignored\n*.[Cc]ache\n# but keep track of directories ending in .cache\n!?*.[Cc]ache/\n\n# Others\nClientBin/\n~$*\n*~\n*.dbmdl\n*.dbproj.schemaview\n*.jfm\n*.pfx\n*.publishsettings\norleans.codegen.cs\n\n# Including strong name files can present a security risk\n# (https://github.com/github/gitignore/pull/2483#issue-259490424)\n#*.snk\n\n# Since there are multiple workflows, uncomment next line to ignore bower_components\n# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)\n#bower_components/\n\n# RIA/Silverlight projects\nGenerated_Code/\n\n# Backup & report files from converting an old project file\n# to a newer Visual Studio version. Backup files are not needed,\n# because we have git ;-)\n_UpgradeReport_Files/\nBackup*/\nUpgradeLog*.XML\nUpgradeLog*.htm\nServiceFabricBackup/\n*.rptproj.bak\n\n# SQL Server files\n*.mdf\n*.ldf\n*.ndf\n\n# Business Intelligence projects\n*.rdl.data\n*.bim.layout\n*.bim_*.settings\n*.rptproj.rsuser\n*- [Bb]ackup.rdl\n*- [Bb]ackup ([0-9]).rdl\n*- [Bb]ackup ([0-9][0-9]).rdl\n\n# Microsoft Fakes\nFakesAssemblies/\n\n# GhostDoc plugin setting file\n*.GhostDoc.xml\n\n# Node.js Tools for Visual Studio\n.ntvs_analysis.dat\nnode_modules/\n\n# Visual Studio 6 build log\n*.plg\n\n# Visual Studio 6 workspace options file\n*.opt\n\n# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)\n*.vbw\n\n# Visual Studio LightSwitch build output\n**/*.HTMLClient/GeneratedArtifacts\n**/*.DesktopClient/GeneratedArtifacts\n**/*.DesktopClient/ModelManifest.xml\n**/*.Server/GeneratedArtifacts\n**/*.Server/ModelManifest.xml\n_Pvt_Extensions\n\n# Paket dependency manager\n.paket/paket.exe\npaket-files/\n\n# FAKE - F# Make\n.fake/\n\n# CodeRush personal settings\n.cr/personal\n\n# Python Tools for Visual Studio (PTVS)\n__pycache__/\n*.pyc\n\n# Cake - Uncomment if you are using it\n# tools/**\n# !tools/packages.config\n\n# Tabs Studio\n*.tss\n\n# Telerik's JustMock configuration file\n*.jmconfig\n\n# BizTalk build output\n*.btp.cs\n*.btm.cs\n*.odx.cs\n*.xsd.cs\n\n# OpenCover UI analysis results\nOpenCover/\n\n# Azure Stream Analytics local run output\nASALocalRun/\n\n# MSBuild Binary and Structured Log\n*.binlog\n\n# NVidia Nsight GPU debugger configuration file\n*.nvuser\n\n# MFractors (Xamarin productivity tool) working folder\n.mfractor/\n\n# Local History for Visual Studio\n.localhistory/\n\n# BeatPulse healthcheck temp database\nhealthchecksdb\n\n# Backup folder for Package Reference Convert tool in Visual Studio 2017\nMigrationBackup/\n\n# Ionide (cross platform F# VS Code tools) working folder\n.ionide/\n\nsrc/Venflow/Venflow.ExecutionTests/\n\n*.lnk\n"
  },
  {
    "path": "CLA.md",
    "content": "# Individual Contributor License Agreement\n\nAdapted from http://www.apache.org/licenses/icla.pdf © The Apache Software Foundation\n\nThank you for your interest in Venflow (the \"Project\"). In order to clarify the intellectual property license granted with Contributions from any person or entity, the Project must have a Contributor License Agreement (\"CLA\") on file that has been signed by each Contributor, indicating agreement to the license terms below. This license is for your protection as a Contributor as well as the protection of the project and its users; it does not change your rights to use your own Contributions for any other purpose.\n\nYou accept and agree to the following terms and conditions for Your present and future Contributions submitted to the project. In return, the project shall not use Your Contributions in a way that is contrary to the public benefit or inconsistent with its bylaws in effect at the time of the Contribution. Except for the license granted herein to the project and recipients of software distributed by the project, You reserve all right, title, and interest in and to Your Contributions.\n\n1. Definitions.\n\n   **\"You\" (or \"Your\")**\n\n   \"You\" (or \"Your\") shall mean the copyright owner or legal entity authorized by the copyright owner that is making this Agreement with the project. For legal entities, the entity making a Contribution and all other entities that control, are controlled by, or are under common control with that entity are considered to be a single Contributor. For the purposes of this definition, \"control\" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.\n\n   **\"Contribution\"**\n\n   \"Contribution\" shall mean any original work of authorship, including any modifications or additions to an existing work, that is intentionally submitted by You to the project for inclusion in, or documentation of, any of the products owned or managed by the project (the \"Work\"). For the purposes of this definition, \"submitted\" means any form of electronic, verbal, or written communication sent to the project or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the project for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by You as \"Not a Contribution.\"\n\n2. Grant of Copyright License. Subject to the terms and conditions of this Agreement, You hereby grant to the project and to recipients of software distributed by the project a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Your Contributions and such derivative works.\n\n3. Grant of Patent License. Subject to the terms and conditions of this Agreement, You hereby grant to the project and to recipients of software distributed by the project a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by You that are necessarily infringed by Your Contribution(s) alone or by combination of Your Contribution(s) with the Work to which such Contribution(s) was submitted. If any entity institutes patent litigation against You or any other entity (including a cross-claim or counterclaim in a lawsuit) alleging that your Contribution, or the Work to which you have contributed, constitutes direct or contributory patent infringement, then any patent licenses granted to that entity under this Agreement for that Contribution or Work shall terminate as of the date such litigation is filed.\n\n4. You represent that you are legally entitled to grant the above license. If your employer(s) has rights to intellectual property that you create that includes your Contributions, you represent that you have received permission to make Contributions on behalf of that employer, that your employer has waived such rights for your Contributions to the project, or that your employer has executed a separate Corporate CLA with the project.\n\n5. You represent that each of Your Contributions is Your original creation (see section 7 for submissions on behalf of others). You represent that Your Contribution submissions include complete details of any third-party license or other restriction (including, but not limited to, related patents and trademarks) of which you are personally aware and which are associated with any part of Your Contributions.\n\n6. You are not expected to provide support for Your Contributions, except to the extent You desire to provide support. You may provide support for free, for a fee, or not at all. Unless required by applicable law or agreed to in writing, You provide Your Contributions on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON- INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE.\n\n7. Should You wish to submit work that is not Your original creation, You may submit it to the project separately from any Contribution, identifying the complete details of its source and of any license or other restriction (including, but not limited to, related patents, trademarks, and license agreements) of which you are personally aware, and conspicuously marking the work as \"Submitted on behalf of a third-party: [named here]\".\n\n8. You agree to notify the project of any facts or circumstances of which you become aware that would make these representations inaccurate in any respect.\n"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "content": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as\ncontributors and maintainers pledge to making participation in our project and\nour community a harassment-free experience for everyone, regardless of age, body\nsize, disability, ethnicity, sex characteristics, gender identity and expression,\nlevel of experience, education, socio-economic status, nationality, personal\nappearance, race, religion, or sexual identity and orientation.\n\n## Our Standards\n\nExamples of behavior that contributes to creating a positive environment\ninclude:\n\n* Using welcoming and inclusive language\n* Being respectful of differing viewpoints and experiences\n* Gracefully accepting constructive criticism\n* Focusing on what is best for the community\n* Showing empathy towards other community members\n\nExamples of unacceptable behavior by participants include:\n\n* The use of sexualized language or imagery and unwelcome sexual attention or\n advances\n* Trolling, insulting/derogatory comments, and personal or political attacks\n* Public or private harassment\n* Publishing others' private information, such as a physical or electronic\n address, without explicit permission\n* Other conduct which could reasonably be considered inappropriate in a\n professional setting\n\n## Our Responsibilities\n\nProject maintainers are responsible for clarifying the standards of acceptable\nbehavior and are expected to take appropriate and fair corrective action in\nresponse to any instances of unacceptable behavior.\n\nProject maintainers have the right and responsibility to remove, edit, or\nreject comments, commits, code, wiki edits, issues, and other contributions\nthat are not aligned to this Code of Conduct, or to ban temporarily or\npermanently any contributor for other behaviors that they deem inappropriate,\nthreatening, offensive, or harmful.\n\n## Scope\n\nThis Code of Conduct applies both within project spaces and in public spaces\nwhen an individual is representing the project or its community. Examples of\nrepresenting a project or community include using an official project e-mail\naddress, posting via an official social media account, or acting as an appointed\nrepresentative at an online or offline event. Representation of a project may be\nfurther defined and clarified by project maintainers.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be\nreported by contacting the project team at office@twenty-four.dev. All\ncomplaints will be reviewed and investigated and will result in a response that\nis deemed necessary and appropriate to the circumstances. The project team is\nobligated to maintain confidentiality with regard to the reporter of an incident.\nFurther details of specific enforcement policies may be posted separately.\n\nProject maintainers who do not follow or enforce the Code of Conduct in good\nfaith may face temporary or permanent repercussions as determined by other\nmembers of the project's leadership.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,\navailable at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html\n\n[homepage]: https://www.contributor-covenant.org\n\nFor answers to common questions about this code of conduct, see\nhttps://www.contributor-covenant.org/faq\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# Contributing to Venflow\nFirst and foremost, I want to say, thank you! Maintaining this project is not an easy task and any help, no matter the scope, is appreciated. However, to keep things well organized there are a few steps you should go through before creating an issue or a pull-request.\nNo matter how you are planning on contributing to Venflow, always ensure that your behaviour and the ones of others align with the [Code of Conduct](https://github.com/TwentyFourMinutes/Venflow/blob/dev/CODE_OF_CONDUCT.md).\n## Creating an issue\n1. You should make sure, that the issue you are facing is or was not discussed in an existent issue or discussion.\n2. Make sure, that you include _all_ the necessary information to reproduce this issue.\n## Creating a pull-requests\n1.  You should make sure that the contribution you want to make is not already discussed in an existent pull request, issue, or discussion.\n2. If you would like to contribute to Venflow, first identify the scale of what you would like to contribute. If it is small (grammar/spelling or a bug fix) feel free to start working on a fix. However, if you are submitting a feature or substantial code contribution, please discuss it beforehand with other contributors if your pull request is appropriate.\n\n3. You should read the *Writing Code* section and make sure your code contributions stick as tightly to it as possible.\n## Writing Code\n**Do**\n- Write code comments and documentation in English.\n- Primarily write _fast_ code, that is easy to read and understand, even though it may require you to write more. If it is not possible to make it easily readable and would sacrifice performance, be sure to add comments to your code explaining what is happening.\n- Stick to the Coding Conventions mentioned below and the ones [provided by Microsoft](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/inside-a-program/coding-conventions).\n- Stick to the Naming Conventions provided by Microsoft.\n  - [Capitalization Conventions](https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/capitalization-conventions)\n  - [General Naming Conventions](https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/general-naming-conventions)\n  - [Names of Classes, Structs, and Interfaces](https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/names-of-classes-structs-and-interfaces)\n  - [Names of Type Members](https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/names-of-type-members)\n  - [Write XML Documentation](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/xmldoc/) for all publicly accessible types and members. \n  - [Naming Parameters](https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/naming-parameters)\n- Write Unit Tests if the new code will not be covered by existing ones.\n- Cache Reflection results in the same method of class if they are going to be used frequently.\n- Question existing Coding and Naming Conventions and break them, if reasonable.\n\n**Do not**\n- Push code which reformats the whole project.\n- Push code which contains breaking changes, without them being approved.\n- Write unconcise and vage commit messages.\n## Coding and Naming Conventions\nOur conventions differ from the ones provided by Microsoft in some ways, here you will find the ones which actually differ.\n\n**I. Types**\n\n**II. Fields**\n- a. All field names should be prefixed with “_”.\n\n**III. Properties**\n\n**VI. Methods**\n\n**V. Misc**\n- a. Avoid the use of Collections which do not have an indexer, if one with an indexer could be used instead.\n- b. Avoid the use of foreach loops in places where a for loop could be used instead.\n"
  },
  {
    "path": "Directory.Build.props",
    "content": "<Project>\n  <PropertyGroup>\n    <LangVersion>preview</LangVersion>\n    <Nullable>enable</Nullable>\n    <AnalysisLevel>preview</AnalysisLevel>\n    <EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>\n    <SuppressNETCoreSdkPreviewMessage>true</SuppressNETCoreSdkPreviewMessage>\n    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>\n    <NoWarn>NU5104</NoWarn>\n\n    <Title>Venflow</Title>\n    <Authors>Twenty</Authors>\n    <Company>Twenty</Company>\n    <Version>1.2.0</Version>\n    <Language>en</Language>\n    <NeutralLanguage>en</NeutralLanguage>\n    <PackageIcon>icon.png</PackageIcon>\n    <PackageLicenseFile>LICENSE</PackageLicenseFile>\n    <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>\n    <RepositoryUrl>https://github.com/TwentyFourMinutes/Venflow</RepositoryUrl>\n    <RepositoryType>git</RepositoryType>\n    <PackageTags>Venflow ORM ORM-Framework O/RM Data Postgres SQL PostgreSQL</PackageTags>\n    <Copyright>Copyright ©2021 Twenty</Copyright>\n\n    <DocumentationFile>$(MSBuildProjectDirectory)/$(MSBuildProjectName).xml</DocumentationFile>\n    <PackageOutputPath>$(MSBuildThisFileDirectory)build</PackageOutputPath>\n\n    <AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)/Venflow.snk</AssemblyOriginatorKeyFile>\n    <SignAssembly>true</SignAssembly>\n\n    <IncludeSymbols>true</IncludeSymbols>\n    <SymbolPackageFormat>snupkg</SymbolPackageFormat>\n    <Deterministic>true</Deterministic>\n\n    <PublishRepositoryUrl>true</PublishRepositoryUrl>\n    <EmbedUntrackedSources>true</EmbedUntrackedSources>\n    <AddSyntheticProjectReferencesForSolutionDependencies>false</AddSyntheticProjectReferencesForSolutionDependencies>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <None Include=\"$(MSBuildThisFileDirectory)images/icon.png\" Pack=\"true\" PackagePath=\"\" />\n    <None Include=\"$(MSBuildThisFileDirectory)LICENSE\" Pack=\"true\" PackagePath=\"\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"Microsoft.SourceLink.GitHub\" Version=\"1.1.0-beta-20204-02\">\n      <PrivateAssets>all</PrivateAssets>\n    </PackageReference>\n  </ItemGroup>\n\n</Project>"
  },
  {
    "path": "LICENSE",
    "content": "                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [yyyy] [name of copyright owner]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
  },
  {
    "path": "README.md",
    "content": "<p align=\"center\">\n <img width=\"100px\" src=\"images/venflow.png\" align=\"center\" alt=\"GitHub Readme Stats\" />\n <h1 align=\"center\">Venflow</h1>\n <p align=\"center\">A brand new, fast, and lightweight ORM. | <a href=\"https://twentyfourminutes.github.io/Venflow/\">Documentation</a></p>\n</p>\n<p align=\"center\">\n<a href=\"https://www.nuget.org/packages/Venflow\"><img alt=\"Nuget\" src=\"https://img.shields.io/nuget/v/Venflow\"></a> <a href=\"https://www.nuget.org/packages/Venflow\"><img alt=\"Nuget\" src=\"https://img.shields.io/nuget/dt/Venflow\"></a> <a href=\"https://github.com/TwentyFourMinutes/Venflow/issues\"><img alt=\"GitHub issues\" src=\"https://img.shields.io/github/issues-raw/TwentyFourMinutes/Venflow\"></a> <a href='https://coveralls.io/github/TwentyFourMinutes/Venflow?branch=dev'><img src='https://coveralls.io/repos/github/TwentyFourMinutes/Venflow/badge.svg?branch=dev' alt='Coverage Status' /></a> <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/master/LICENSE\"><img alt=\"GitHub\" src=\"https://img.shields.io/github/license/TwentyFourMinutes/DulcisX\"></a> <a href=\"https://discordapp.com/invite/EYKxkce\"><img alt=\"Discord\" src=\"https://discordapp.com/api/guilds/275377268728135680/widget.png\"></a>\n</p>\n<p align=\"center\">\n <b>🚧 Venflow is currently undergoing a full rewrite, check the progress <a href=\"https://github.com/TwentyFourMinutes/Venflow/projects/1\">here</a>. 🚧</b>\n</p>\n\n## About\n\nVenflow is a brand new ORM, written from the ground up to try and provide an alternative to EF-Core and many other ORMs. It allows you to define Models and their relations with each other. Additionally it maps all queries on its own while still maintaining great performance.\n\nLets face it, EF-Core is awesome, but it can be slow, really slow. However this library tries to overcome that by providing similar features while maintaining great performance. Venflow comes with a very similar UX to Dapper and EF-Core, in order to keep the learning curve as low as possible. \n\n#### Features\n\n- Simple change-tracking for update operations\n- Autogenerated Inserts\n- Autogenerated Deletes\n- Autogenerated Query Materializer, Join Generator\n- SQL Injection safe string Interpolated SQL\n- Refactorable and maintainable SQL \n\n\n### Collaboration\n\nThe simplest way to do so, is by giving the project a :star: and sharing the project to others. How you can help other than that? This can be done in numerous ways, over on the issue section, such as:\n\n- Creating feature requests\n- Creating pull requests\n- Reporting bugs\n\nFor more information take a look at our [contribution guideline](https://github.com/TwentyFourMinutes/Venflow/blob/dev/CONTRIBUTING.md).\n\n## Installation\n\nVenflow can currently be downloaded on [nuget.org](https://www.nuget.org/packages/Venflow).\n\nAlso you can install it via the **P**ackage **M**anager **C**onsole:\n\n```\nInstall-Package Venflow\n```\n\n## Comparison\n\nBenchmarking ORM's isn't an easy task, since there are a bunch of different factors which can alter the result in one way or another. I do not present any beautiful graphs here simply because they would get too complex and it would require too many graphs to remain practical. This is also the reason why I tried to come up with a composite number based on benchmark results. If you still want check all the individual benchmarks, which you definitely should, the source code can be found [here](./test/Venflow.Benchmarks) and the results as `.csv` and `.md` are over [here](./benchmarks).\n\nLets just directly hop into the composite numbers of each tested ORM.\n<!--Benchmark Start-->\n\n| ORM Name | Composite Score\\* | Mean Score\\* | Allocation Score\\* |\n| :- | :-: | :-: | :-: |\n| #1 [Dapper](https://github.com/StackExchange/Dapper) | 2,822 | 2,707 | 0,115 |\n| #2 [Venflow](https://github.com/TwentyFourMinutes/Venflow) | 4,658 | 3,786 | 0,872 |\n| #3 [RepoDb](https://github.com/mikependon/RepoDb) | 51,532 | 49,333 | 2,199 |\n| #4 [EFCore](https://github.com/dotnet/efcore) | 113,686 | 94,394 | 19,292 |\n<!--Benchmark End-->\n\\* Lower is considered to be better </br>\n\\*\\* Do have missing benchmark entries for specific benchmark groups and therefor might have either better or worse scores.\n\nNow how do I calculate this _magic number_? The formula is as following: \n```\ncompositeScore = Σ((meanTime / lowestMeanTimeOfGroup - 1) + (allocation / lowestAllocationOfGroup - 1) / 10)\n```\nA group is considered to be a list of benchmark entries which are inside the same file and have the same count and target framework. Now as some ORM's don't have any benchmarks entries for specific benchmark groups it will instead take the _lowest_ mean and the _lowest_  allocation from this group. The source code of the calculation can be found [here](./test/Venflow.Score).\n\n#### Disclaimer\n\nThe benchmarks themselves or even the calculation of the composite numbers may not be right and contain bugs. Therefor take these results with a grain of salt. If you find any bugs inside the calculations or in the benchmarks please create an issue and I'll try to fix it ASAP.\n\n## Is this package for you?\n\nEspecially for ORM's it is becoming a harder challenge than ever before, to choose the right one for you. This project tries to be as transparent as possible, so if any of the following points apply to you or your project, choose a different ORM at least for your current project.\n\n- You are feeling unsure about writing raw SQL.\n- <sup>†</sup> You are using a database other than PostgreSQL.\n- <sup>†</sup> You rely on a code-first implementation.\n- You require Linq2Sql.\n\n*<sup>†</sup> indicates that this point might change it the future*\n\n#### But why should I use Venflow over EF-Core anyway?\n\nObviously this project is nowhere near as mature as EF-Core as it already covers all your needs. However Venflow is all about performance in every way. You might ask yourself now, why would I even care? Well, especially for Web-Apps it really matters! Your response times for all requests involving some sort of Database interaction will immediately decrease. This also means that your application will not take up as much resources on your server. Obviously this only is applicable, if the website encounters somewhat high traffic.     \n\n#### But why should I use Venflow over Dapper anyway?\n\nVenflow supports a lot more things out of the box, such as automatically generated Delete/Insert statements, as well as simple change tracking to easily update specific entities. Another big factor, which probably is one of the biggest differences to Dapper, are the automatically generated materializers for queries. A lot of the times a materializer generated by Venflow will be faster, especially for bigger tables, than a hand written Dapper one. This is due to the nature of how Dapper and Venflow handle parsing of SQL results.\n\n## Basic usage\n\nAs already mentioned, Venflow tries to keep the learning curve from other ORM's as low as possible, therefore a lot of patterns will seem familiar to either EFCore or Dapper.\n\n### Basic configuration\n\n_The official documentation and guides can be found [here](https://twentyfourminutes.github.io/Venflow/)_\n\nIn Venflow you are reflecting your PostgreSQL database with the `Database` class, which will host all of your tables. This class represents a connection to your database and therefor doesn't support multi threaded use. In the following example we will configure a database containing two tables, `Blogs` and `Posts`. One Blog contains many posts and a post contains a single Blog.\n\n```cs\npublic class BlogDatabase : Database\n{\n    public Table<Blog> Blogs { get; set; }\n    public Table<Post> Posts { get; set; }\n\n    public BlogDatabase() : base(\"Your connection string.\")\n    {\n    }\n}\n```\n\nNow lets configure the actual relation between Blogs and Posts through the `EntityConfiguration<T>` class. In the `Configure` , method you can configure several things such as the name of the table this entity should map to and much more. These configuration classes do automatically get discovered, if they are in the same assembly as the `Database` class. If they are not in the same assembly, you can override the `Configure` method in the `Database` class which passes in a `DatabaseOptionsBuilder`, which will allow you to specify assemblies which should also be searched for entity configurations.\n\n```cs\npublic class BlogConfiguration : EntityConfiguration<Blog>\n{\n    protected override void Configure(IEntityBuilder<Blog> entityBuilder)\n    {\n        entityBuilder.HasMany(b => b.Posts)\n                     .WithOne(p => p.Blog)\n                     .UsingForeignKey(p => p.PostId);\n    }\n}\n```\n\nAn instance of your `Database` class exposes the underlying connection and the actual CRUD builders. In the example below you can see how you would query a set of Blogs with their posts.\n\n```cs\nawait using var database = new BlogDatabase(); // You should register a Transient/Scoped your DI Container.\n\nconst string sql = @\"SELECT * FROM \"\"Blogs\"\" JOIN \"\"Posts\"\" ON \"\"Posts\"\".\"\"BlogId\"\" = \"\"Blogs\"\".\"\"Id\"\"\";\n\nvar blogs = await database.Blogs.QueryBatch(sql).JoinWith(x => x.Posts).QueryAsync();\n// Or\nvar blogs = await database.Blogs.QueryBatch<Post>((b, p) => $\"SELECT * FROM {b} JOIN {p} ON {p.BlogId} = {b.Id}\").QueryAsync();\n```\n\nWith parameters, this could be written in one of the following two ways.\n\n```cs\nvar id = 1;\n\nvar blogs = await database.Blogs.QueryBatch(b => $\"SELECT * FROM {b} WHERE {b.Id} = {id}\").QueryAsync();\n// Or\nvar blogs = await database.Blogs.QueryInterpolatedBatch(@$\"SELECT * FROM \"\"People\"\" WHERE \"\"Id\"\" = {id}\").QueryAsync();\n```\n\nMore on topic of querying and other CRUD operations can be found over on the [docs](https://twentyfourminutes.github.io/Venflow/guides/operations/query.html). \n\n## Road map\n\n- Composed PK support\n- Direct support for many to many relations\n- Support for materialized Views\n- Bulk operation support from [`PostgreSQL.Bulk`](https://github.com/TwentyFourMinutes/PostgreSQL.Bulk)\n- Code-First\n- AOT proxy/entity generation with Source Generators\n\n### Acknowledgements\n\nI also want to mention all the other great packages out there, build by awesome people, which helped with building Venflow in one way or another such as being open-source.\n\n- [Npgsql](https://github.com/npgsql/npgsql) by [the Npgsql core contributers](https://github.com/npgsql/) for providing an awesome and fast PostgreSQL data provider.\n- [Sharplab](https://github.com/ashmind/SharpLab) by [ashmind](https://github.com/ashmind) and the [sharplab.io](https://sharplab.io) website for immensely simplify the generation for IL.\n- [EF-Core](https://github.com/dotnet/efcore) by [Microsoft and the .Net team](https://github.com/dotnet) for providing the inspiration for such an awesome surface API.\n- [RepoDb](https://github.com/mikependon/RepoDb) by [mikependon](https://github.com/mikependon) for providing the idea of generating runtime IL/Expressions to boost performance.\n- [Fody](https://github.com/Fody/Fody) by [the Fody core contributers](https://github.com/Fody) for providing an easy way to IL weave Venflow.\n- [GitHub](https://github.com/) for hosting the documentation with [GitHub Pages](https://pages.github.com/) and the repository itself.\n- [DocFX](https://github.com/dotnet/docfx) by [Microsoft and the .Net team](https://github.com/dotnet) for providing a great any easy static markdown/documentation html generator.\n- [Typora](https://typora.io/) for being a fully extensive and great markdown editor.\n- [GitKraken](https://www.gitkraken.com/) for providing a full fledged git UI with a bunch of great features.\n- [Shields](https://shields.io/) for providing awesome badges for the README.\n\n#### Awesome people which helped in the development\n\n- [LunarLite](https://github.com/LunarLite) for helping me with highly complex logically issues.\n- [AnotherZane](https://github.com/AnotherZane) for being one of the early preview testers. \n- [Jas](https://github.com/jas777) and [Altrius](https://github.com/AltriusRS) for providing general surface API ideas.\n\n## Notes\n\n### Contact information\n\nIf you feel like something is not working as intended or you are experiencing issues, feel free to create an issue. Also for feature requests just create an issue. For further information feel free to send me an [email](mailto:office@twenty-four.dev) at `office@twenty-four.dev` or message me on Discord `24_minutes#7496`.\n\n## Sponsors\n\nI wanna thank [JetBrains](https://www.jetbrains.com/?from=DulcisX) for providing me and the project with a free Open Source license for their whole JetBrains suite. Their tools greatly improve the development speed of this project. If you want to get a free Open Source license for your own project and their collaborators, visit their [Open Source page](https://www.jetbrains.com/opensource/).\n\n<a href=\"https://www.jetbrains.com/?from=DulcisX\"><img width=\"350px\" src=\"images/jetbrains_logo.png\"></a>\n"
  },
  {
    "path": "SECURITY.md",
    "content": "# Security Policy\n\n## Supported Versions\n\nCurrently only the latest release candiate of the project is supported with security updates.\n\n| Version | Supported          |\n| ------- | ------------------ |\n| 1.x  | :white_check_mark: |\n\n## Reporting a Vulnerability\n\nSecurity issues and bugs should be reported privately, by emailing office@twenty-four.dev. You should receive a response within 24-72 hours. If for some reason you do not, please follow up via email to ensure I received your original message.\n\nPlease do not open issues for anything you think might have a security implication.\n"
  },
  {
    "path": "Venflow.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio Version 17\nVisualStudioVersion = 17.0.31410.414\nMinimumVisualStudioVersion = 10.0.40219.1\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Venflow\", \"src\\Venflow\\Venflow.csproj\", \"{B16B88AB-3D5E-4A8B-B11C-75F89EFABAEF}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Venflow.Benchmarks\", \"test\\Venflow.Benchmarks\\Venflow.Benchmarks.csproj\", \"{14283B7A-E5F9-4D42-899A-E2438C39DE0D}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Venflow.Tests\", \"test\\Venflow.Tests\\Venflow.Tests.csproj\", \"{BC0B800C-7EF7-42CD-AFEC-45A93EE3814B}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Venflow.Shared\", \"test\\Venflow.Shared\\Venflow.Shared.csproj\", \"{C03CA4A2-4B42-45E0-BB89-6965E4D8123D}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Venflow.Score\", \"test\\Venflow.Score\\Venflow.Score.csproj\", \"{F33684D5-806D-4040-9F19-32EDE6648F3C}\"\nEndProject\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"src\", \"src\", \"{665796E7-E527-43D5-B095-6000D6C0FF60}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Venflow.Extensions.Logging\", \"src\\Venflow.Extensions.Logging\\Venflow.Extensions.Logging.csproj\", \"{9D79B81A-BBDE-437F-954C-259BB8AA9336}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Venflow.Generators\", \"src\\Venflow.Generators\\Venflow.Generators.csproj\", \"{B617D0A6-90A0-4337-8F8B-D25F7A806040}\"\nEndProject\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"Analyzers\", \"Analyzers\", \"{3B6EB80A-E40F-464F-8455-67FE8FD7AC77}\"\nEndProject\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"test\", \"test\", \"{EE96D718-66F6-4941-9169-0F5F46D632A6}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Venflow.NewtonsoftJson\", \"src\\Venflow.NewtonsoftJson\\Venflow.NewtonsoftJson.csproj\", \"{AD531038-6689-45EE-8DF8-FB169F187FA2}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Venflow.AspNetCore\", \"src\\Venflow.AspNetCore\\Venflow.AspNetCore.csproj\", \"{06498DCC-F8EE-475F-8FDE-2E63EC88996D}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Venflow.Keys\", \"src\\Venflow.Keys\\Venflow.Keys.csproj\", \"{E282DF57-89A8-46F2-872F-37F84A84C87E}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{B617D0A6-90A0-4337-8F8B-D25F7A806040} = {B617D0A6-90A0-4337-8F8B-D25F7A806040}\n\tEndProjectSection\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Venflow.Tests.Keys\", \"test\\Venflow.Tests.Keys\\Venflow.Tests.Keys.csproj\", \"{9083AF7D-BB3C-47E5-8A6E-AC3A05DAED83}\"\nEndProject\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"Solution Items\", \"Solution Items\", \"{6D7D8C52-F02A-4C25-9D40-BE13ED9A7641}\"\n\tProjectSection(SolutionItems) = preProject\n\t\t.editorconfig = .editorconfig\n\tEndProjectSection\nEndProject\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"Extensions\", \"Extensions\", \"{9E9C09CF-506F-49A8-8970-35EEAE8EBFD7}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Any CPU = Debug|Any CPU\n\t\tRelease|Any CPU = Release|Any CPU\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{B16B88AB-3D5E-4A8B-B11C-75F89EFABAEF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{B16B88AB-3D5E-4A8B-B11C-75F89EFABAEF}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{B16B88AB-3D5E-4A8B-B11C-75F89EFABAEF}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{B16B88AB-3D5E-4A8B-B11C-75F89EFABAEF}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{14283B7A-E5F9-4D42-899A-E2438C39DE0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{14283B7A-E5F9-4D42-899A-E2438C39DE0D}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{14283B7A-E5F9-4D42-899A-E2438C39DE0D}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{14283B7A-E5F9-4D42-899A-E2438C39DE0D}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{BC0B800C-7EF7-42CD-AFEC-45A93EE3814B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{BC0B800C-7EF7-42CD-AFEC-45A93EE3814B}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{BC0B800C-7EF7-42CD-AFEC-45A93EE3814B}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{BC0B800C-7EF7-42CD-AFEC-45A93EE3814B}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{C03CA4A2-4B42-45E0-BB89-6965E4D8123D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{C03CA4A2-4B42-45E0-BB89-6965E4D8123D}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{C03CA4A2-4B42-45E0-BB89-6965E4D8123D}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{C03CA4A2-4B42-45E0-BB89-6965E4D8123D}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{F33684D5-806D-4040-9F19-32EDE6648F3C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{F33684D5-806D-4040-9F19-32EDE6648F3C}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{F33684D5-806D-4040-9F19-32EDE6648F3C}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{F33684D5-806D-4040-9F19-32EDE6648F3C}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{9D79B81A-BBDE-437F-954C-259BB8AA9336}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{9D79B81A-BBDE-437F-954C-259BB8AA9336}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{9D79B81A-BBDE-437F-954C-259BB8AA9336}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{9D79B81A-BBDE-437F-954C-259BB8AA9336}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{B617D0A6-90A0-4337-8F8B-D25F7A806040}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{B617D0A6-90A0-4337-8F8B-D25F7A806040}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{B617D0A6-90A0-4337-8F8B-D25F7A806040}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{B617D0A6-90A0-4337-8F8B-D25F7A806040}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{AD531038-6689-45EE-8DF8-FB169F187FA2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{AD531038-6689-45EE-8DF8-FB169F187FA2}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{AD531038-6689-45EE-8DF8-FB169F187FA2}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{AD531038-6689-45EE-8DF8-FB169F187FA2}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{06498DCC-F8EE-475F-8FDE-2E63EC88996D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{06498DCC-F8EE-475F-8FDE-2E63EC88996D}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{06498DCC-F8EE-475F-8FDE-2E63EC88996D}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{06498DCC-F8EE-475F-8FDE-2E63EC88996D}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{E282DF57-89A8-46F2-872F-37F84A84C87E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{E282DF57-89A8-46F2-872F-37F84A84C87E}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{E282DF57-89A8-46F2-872F-37F84A84C87E}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{E282DF57-89A8-46F2-872F-37F84A84C87E}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{9083AF7D-BB3C-47E5-8A6E-AC3A05DAED83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{9083AF7D-BB3C-47E5-8A6E-AC3A05DAED83}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{9083AF7D-BB3C-47E5-8A6E-AC3A05DAED83}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{9083AF7D-BB3C-47E5-8A6E-AC3A05DAED83}.Release|Any CPU.Build.0 = Release|Any CPU\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\n\tGlobalSection(NestedProjects) = preSolution\n\t\t{B16B88AB-3D5E-4A8B-B11C-75F89EFABAEF} = {665796E7-E527-43D5-B095-6000D6C0FF60}\n\t\t{14283B7A-E5F9-4D42-899A-E2438C39DE0D} = {EE96D718-66F6-4941-9169-0F5F46D632A6}\n\t\t{BC0B800C-7EF7-42CD-AFEC-45A93EE3814B} = {EE96D718-66F6-4941-9169-0F5F46D632A6}\n\t\t{C03CA4A2-4B42-45E0-BB89-6965E4D8123D} = {EE96D718-66F6-4941-9169-0F5F46D632A6}\n\t\t{F33684D5-806D-4040-9F19-32EDE6648F3C} = {EE96D718-66F6-4941-9169-0F5F46D632A6}\n\t\t{9D79B81A-BBDE-437F-954C-259BB8AA9336} = {9E9C09CF-506F-49A8-8970-35EEAE8EBFD7}\n\t\t{B617D0A6-90A0-4337-8F8B-D25F7A806040} = {3B6EB80A-E40F-464F-8455-67FE8FD7AC77}\n\t\t{3B6EB80A-E40F-464F-8455-67FE8FD7AC77} = {665796E7-E527-43D5-B095-6000D6C0FF60}\n\t\t{AD531038-6689-45EE-8DF8-FB169F187FA2} = {9E9C09CF-506F-49A8-8970-35EEAE8EBFD7}\n\t\t{06498DCC-F8EE-475F-8FDE-2E63EC88996D} = {9E9C09CF-506F-49A8-8970-35EEAE8EBFD7}\n\t\t{E282DF57-89A8-46F2-872F-37F84A84C87E} = {665796E7-E527-43D5-B095-6000D6C0FF60}\n\t\t{9083AF7D-BB3C-47E5-8A6E-AC3A05DAED83} = {EE96D718-66F6-4941-9169-0F5F46D632A6}\n\t\t{9E9C09CF-506F-49A8-8970-35EEAE8EBFD7} = {665796E7-E527-43D5-B095-6000D6C0FF60}\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\t\tSolutionGuid = {020D29CB-7D63-45D4-8F95-7C89DC06E6E6}\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "benchmarks/DeleteBatch.csv",
    "content": "Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,Toolchain,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,BatchCount,Mean,Error,StdDev,Ratio,RatioSD,Gen 0,Gen 1,Gen 2,Allocated\nEFCoreDeleteBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,2.876 ms,0.0559 ms,0.0686 ms,1.00,0.00,0.0000,0.0000,0.0000,82 KB\nVenflowDeleteBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,1.749 ms,0.0347 ms,0.0643 ms,0.62,0.03,0.0000,0.0000,0.0000,17 KB\nRepoDbDeleteBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,1.811 ms,0.0352 ms,0.0505 ms,0.63,0.03,0.0000,0.0000,0.0000,28 KB\nEFCoreDeleteBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,11.002 ms,0.2100 ms,0.2247 ms,1.00,0.00,15.6250,0.0000,0.0000,729 KB\nVenflowDeleteBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,3.290 ms,0.0644 ms,0.1058 ms,0.30,0.01,3.9063,0.0000,0.0000,112 KB\nRepoDbDeleteBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,3.589 ms,0.0699 ms,0.1046 ms,0.33,0.01,0.0000,0.0000,0.0000,154 KB\nEFCoreDeleteBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,89.576 ms,1.7651 ms,2.0327 ms,1.00,0.00,166.6667,0.0000,0.0000,\"7,127 KB\"\nVenflowDeleteBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,14.871 ms,0.2909 ms,0.3572 ms,0.17,0.01,31.2500,0.0000,0.0000,\"1,069 KB\"\nRepoDbDeleteBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,31.644 ms,0.5389 ms,0.6816 ms,0.35,0.01,62.5000,0.0000,0.0000,\"2,559 KB\"\nEFCoreDeleteBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,930.914 ms,17.4743 ms,16.3454 ms,1.00,0.00,2000.0000,1000.0000,0.0000,\"71,313 KB\"\nVenflowDeleteBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,142.113 ms,2.7685 ms,3.3999 ms,0.15,0.00,250.0000,0.0000,0.0000,\"10,745 KB\"\nRepoDbDeleteBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,479.895 ms,8.6848 ms,7.6988 ms,0.52,0.01,3000.0000,1000.0000,0.0000,\"95,553 KB\"\n"
  },
  {
    "path": "benchmarks/DeleteBatch.md",
    "content": "``` ini\n\nBenchmarkDotNet=v0.13.0, OS=ubuntu 20.04\nIntel Xeon CPU E5-2673 v4 2.30GHz, 1 CPU, 2 logical and 2 physical cores\n.NET SDK=6.0.100-preview.7.21379.14\n  [Host]   : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n  .NET 6.0 : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n\nJob=.NET 6.0  Runtime=.NET 6.0  \n\n```\n|                  Method | BatchCount |       Mean |      Error |     StdDev | Ratio | RatioSD |     Gen 0 |     Gen 1 | Gen 2 | Allocated |\n|------------------------ |----------- |-----------:|-----------:|-----------:|------:|--------:|----------:|----------:|------:|----------:|\n|  **EFCoreDeleteBatchAsync** |         **10** |   **2.876 ms** |  **0.0559 ms** |  **0.0686 ms** |  **1.00** |    **0.00** |         **-** |         **-** |     **-** |     **82 KB** |\n| VenflowDeleteBatchAsync |         10 |   1.749 ms |  0.0347 ms |  0.0643 ms |  0.62 |    0.03 |         - |         - |     - |     17 KB |\n|  RepoDbDeleteBatchAsync |         10 |   1.811 ms |  0.0352 ms |  0.0505 ms |  0.63 |    0.03 |         - |         - |     - |     28 KB |\n|                         |            |            |            |            |       |         |           |           |       |           |\n|  **EFCoreDeleteBatchAsync** |        **100** |  **11.002 ms** |  **0.2100 ms** |  **0.2247 ms** |  **1.00** |    **0.00** |   **15.6250** |         **-** |     **-** |    **729 KB** |\n| VenflowDeleteBatchAsync |        100 |   3.290 ms |  0.0644 ms |  0.1058 ms |  0.30 |    0.01 |    3.9063 |         - |     - |    112 KB |\n|  RepoDbDeleteBatchAsync |        100 |   3.589 ms |  0.0699 ms |  0.1046 ms |  0.33 |    0.01 |         - |         - |     - |    154 KB |\n|                         |            |            |            |            |       |         |           |           |       |           |\n|  **EFCoreDeleteBatchAsync** |       **1000** |  **89.576 ms** |  **1.7651 ms** |  **2.0327 ms** |  **1.00** |    **0.00** |  **166.6667** |         **-** |     **-** |  **7,127 KB** |\n| VenflowDeleteBatchAsync |       1000 |  14.871 ms |  0.2909 ms |  0.3572 ms |  0.17 |    0.01 |   31.2500 |         - |     - |  1,069 KB |\n|  RepoDbDeleteBatchAsync |       1000 |  31.644 ms |  0.5389 ms |  0.6816 ms |  0.35 |    0.01 |   62.5000 |         - |     - |  2,559 KB |\n|                         |            |            |            |            |       |         |           |           |       |           |\n|  **EFCoreDeleteBatchAsync** |      **10000** | **930.914 ms** | **17.4743 ms** | **16.3454 ms** |  **1.00** |    **0.00** | **2000.0000** | **1000.0000** |     **-** | **71,313 KB** |\n| VenflowDeleteBatchAsync |      10000 | 142.113 ms |  2.7685 ms |  3.3999 ms |  0.15 |    0.00 |  250.0000 |         - |     - | 10,745 KB |\n|  RepoDbDeleteBatchAsync |      10000 | 479.895 ms |  8.6848 ms |  7.6988 ms |  0.52 |    0.01 | 3000.0000 | 1000.0000 |     - | 95,553 KB |\n"
  },
  {
    "path": "benchmarks/DeleteSingle.csv",
    "content": "Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,Toolchain,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,Mean,Error,StdDev,Ratio,RatioSD,Gen 0,Gen 1,Gen 2,Allocated\nEFCoreDeleteSingleAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1.827 ms,0.0364 ms,0.0419 ms,1.00,0.00,0.0000,0.0000,0.0000,18 KB\nVenflowDeleteSingleAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1.575 ms,0.0314 ms,0.0397 ms,0.86,0.03,0.0000,0.0000,0.0000,8 KB\nRepoDbDeleteSingleAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1.437 ms,0.0285 ms,0.0390 ms,0.78,0.03,0.0000,0.0000,0.0000,11 KB\n"
  },
  {
    "path": "benchmarks/DeleteSingle.md",
    "content": "``` ini\n\nBenchmarkDotNet=v0.13.0, OS=ubuntu 20.04\nIntel Xeon CPU E5-2673 v4 2.30GHz, 1 CPU, 2 logical and 2 physical cores\n.NET SDK=6.0.100-preview.7.21379.14\n  [Host]   : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n  .NET 6.0 : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n\nJob=.NET 6.0  Runtime=.NET 6.0  \n\n```\n|                   Method |     Mean |     Error |    StdDev | Ratio | RatioSD | Gen 0 | Gen 1 | Gen 2 | Allocated |\n|------------------------- |---------:|----------:|----------:|------:|--------:|------:|------:|------:|----------:|\n|  EFCoreDeleteSingleAsync | 1.827 ms | 0.0364 ms | 0.0419 ms |  1.00 |    0.00 |     - |     - |     - |     18 KB |\n| VenflowDeleteSingleAsync | 1.575 ms | 0.0314 ms | 0.0397 ms |  0.86 |    0.03 |     - |     - |     - |      8 KB |\n|  RepoDbDeleteSingleAsync | 1.437 ms | 0.0285 ms | 0.0390 ms |  0.78 |    0.03 |     - |     - |     - |     11 KB |\n"
  },
  {
    "path": "benchmarks/InsertBatch.csv",
    "content": "Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,Toolchain,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,BatchCount,Mean,Error,StdDev,Ratio,RatioSD,Gen 0,Gen 1,Gen 2,Allocated\nEfCoreInsertBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,\"1,832.0 μs\",31.36 μs,42.93 μs,1.00,0.00,0.0000,0.0000,0.0000,97 KB\nVenflowInsertBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,861.9 μs,11.19 μs,9.35 μs,0.47,0.01,0.0000,0.0000,0.0000,10 KB\nRepoDbInsertBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,967.5 μs,19.26 μs,27.63 μs,0.53,0.02,0.0000,0.0000,0.0000,15 KB\nEfCoreInsertBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,\"9,024.5 μs\",162.70 μs,144.23 μs,1.00,0.00,31.2500,15.6250,0.0000,903 KB\nVenflowInsertBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,\"1,432.8 μs\",28.50 μs,78.50 μs,0.16,0.01,1.9531,0.0000,0.0000,70 KB\nRepoDbInsertBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,\"4,616.2 μs\",90.25 μs,117.35 μs,0.51,0.02,0.0000,0.0000,0.0000,143 KB\nEfCoreInsertBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,\"74,136.9 μs\",\"1,447.68 μs\",\"1,723.36 μs\",1.00,0.00,285.7143,142.8571,0.0000,\"8,950 KB\"\nVenflowInsertBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,\"5,827.1 μs\",111.59 μs,114.59 μs,0.08,0.00,23.4375,7.8125,0.0000,674 KB\nRepoDbInsertBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,\"41,829.2 μs\",818.37 μs,\"1,034.98 μs\",0.57,0.02,0.0000,0.0000,0.0000,\"1,395 KB\"\nEfCoreInsertBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,\"741,119.2 μs\",\"12,546.64 μs\",\"11,736.14 μs\",1.00,0.00,3000.0000,1000.0000,0.0000,\"89,619 KB\"\nVenflowInsertBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,\"53,774.8 μs\",\"1,023.50 μs\",\"1,051.06 μs\",0.07,0.00,200.0000,100.0000,0.0000,\"6,789 KB\"\nRepoDbInsertBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,\"581,487.0 μs\",\"11,615.43 μs\",\"20,343.49 μs\",0.79,0.02,0.0000,0.0000,0.0000,\"13,754 KB\"\n"
  },
  {
    "path": "benchmarks/InsertBatch.md",
    "content": "``` ini\n\nBenchmarkDotNet=v0.13.0, OS=ubuntu 20.04\nIntel Xeon CPU E5-2673 v4 2.30GHz, 1 CPU, 2 logical and 2 physical cores\n.NET SDK=6.0.100-preview.7.21379.14\n  [Host]   : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n  .NET 6.0 : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n\nJob=.NET 6.0  Runtime=.NET 6.0  \n\n```\n|                  Method | BatchCount |         Mean |        Error |       StdDev | Ratio | RatioSD |     Gen 0 |     Gen 1 | Gen 2 | Allocated |\n|------------------------ |----------- |-------------:|-------------:|-------------:|------:|--------:|----------:|----------:|------:|----------:|\n|  **EfCoreInsertBatchAsync** |         **10** |   **1,832.0 μs** |     **31.36 μs** |     **42.93 μs** |  **1.00** |    **0.00** |         **-** |         **-** |     **-** |     **97 KB** |\n| VenflowInsertBatchAsync |         10 |     861.9 μs |     11.19 μs |      9.35 μs |  0.47 |    0.01 |         - |         - |     - |     10 KB |\n|  RepoDbInsertBatchAsync |         10 |     967.5 μs |     19.26 μs |     27.63 μs |  0.53 |    0.02 |         - |         - |     - |     15 KB |\n|                         |            |              |              |              |       |         |           |           |       |           |\n|  **EfCoreInsertBatchAsync** |        **100** |   **9,024.5 μs** |    **162.70 μs** |    **144.23 μs** |  **1.00** |    **0.00** |   **31.2500** |   **15.6250** |     **-** |    **903 KB** |\n| VenflowInsertBatchAsync |        100 |   1,432.8 μs |     28.50 μs |     78.50 μs |  0.16 |    0.01 |    1.9531 |         - |     - |     70 KB |\n|  RepoDbInsertBatchAsync |        100 |   4,616.2 μs |     90.25 μs |    117.35 μs |  0.51 |    0.02 |         - |         - |     - |    143 KB |\n|                         |            |              |              |              |       |         |           |           |       |           |\n|  **EfCoreInsertBatchAsync** |       **1000** |  **74,136.9 μs** |  **1,447.68 μs** |  **1,723.36 μs** |  **1.00** |    **0.00** |  **285.7143** |  **142.8571** |     **-** |  **8,950 KB** |\n| VenflowInsertBatchAsync |       1000 |   5,827.1 μs |    111.59 μs |    114.59 μs |  0.08 |    0.00 |   23.4375 |    7.8125 |     - |    674 KB |\n|  RepoDbInsertBatchAsync |       1000 |  41,829.2 μs |    818.37 μs |  1,034.98 μs |  0.57 |    0.02 |         - |         - |     - |  1,395 KB |\n|                         |            |              |              |              |       |         |           |           |       |           |\n|  **EfCoreInsertBatchAsync** |      **10000** | **741,119.2 μs** | **12,546.64 μs** | **11,736.14 μs** |  **1.00** |    **0.00** | **3000.0000** | **1000.0000** |     **-** | **89,619 KB** |\n| VenflowInsertBatchAsync |      10000 |  53,774.8 μs |  1,023.50 μs |  1,051.06 μs |  0.07 |    0.00 |  200.0000 |  100.0000 |     - |  6,789 KB |\n|  RepoDbInsertBatchAsync |      10000 | 581,487.0 μs | 11,615.43 μs | 20,343.49 μs |  0.79 |    0.02 |         - |         - |     - | 13,754 KB |\n"
  },
  {
    "path": "benchmarks/InsertBatchWithRelations.csv",
    "content": "Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,Toolchain,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,BatchCount,Mean,Error,StdDev,Ratio,Gen 0,Gen 1,Gen 2,Allocated\nEfCoreInsertBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,11.302 ms,0.1364 ms,0.1209 ms,1.00,31.2500,15.6250,0.0000,969 KB\nVenflowInsertBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,2.682 ms,0.0513 ms,0.0527 ms,0.24,0.0000,0.0000,0.0000,82 KB\nEfCoreInsertBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,83.651 ms,1.6702 ms,1.9883 ms,1.00,333.3333,166.6667,0.0000,\"10,982 KB\"\nVenflowInsertBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,11.452 ms,0.2147 ms,0.2008 ms,0.14,31.2500,15.6250,0.0000,807 KB\nEfCoreInsertBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,813.300 ms,11.7411 ms,9.8043 ms,1.00,3000.0000,1000.0000,0.0000,\"94,187 KB\"\nVenflowInsertBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,103.848 ms,2.0310 ms,3.5571 ms,0.13,200.0000,0.0000,0.0000,\"7,888 KB\"\nEfCoreInsertBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,\"8,422.345 ms\",113.1848 ms,105.8732 ms,1.00,34000.0000,12000.0000,0.0000,\"942,093 KB\"\nVenflowInsertBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,\"1,067.643 ms\",21.1191 ms,22.5972 ms,0.13,2000.0000,1000.0000,0.0000,\"79,240 KB\"\n"
  },
  {
    "path": "benchmarks/InsertBatchWithRelations.md",
    "content": "``` ini\n\nBenchmarkDotNet=v0.13.0, OS=ubuntu 20.04\nIntel Xeon CPU E5-2673 v4 2.30GHz, 1 CPU, 2 logical and 2 physical cores\n.NET SDK=6.0.100-preview.7.21379.14\n  [Host]   : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n  .NET 6.0 : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n\nJob=.NET 6.0  Runtime=.NET 6.0  \n\n```\n|                  Method | BatchCount |         Mean |       Error |      StdDev | Ratio |      Gen 0 |      Gen 1 | Gen 2 |  Allocated |\n|------------------------ |----------- |-------------:|------------:|------------:|------:|-----------:|-----------:|------:|-----------:|\n|  **EfCoreInsertBatchAsync** |         **10** |    **11.302 ms** |   **0.1364 ms** |   **0.1209 ms** |  **1.00** |    **31.2500** |    **15.6250** |     **-** |     **969 KB** |\n| VenflowInsertBatchAsync |         10 |     2.682 ms |   0.0513 ms |   0.0527 ms |  0.24 |          - |          - |     - |      82 KB |\n|                         |            |              |             |             |       |            |            |       |            |\n|  **EfCoreInsertBatchAsync** |        **100** |    **83.651 ms** |   **1.6702 ms** |   **1.9883 ms** |  **1.00** |   **333.3333** |   **166.6667** |     **-** |  **10,982 KB** |\n| VenflowInsertBatchAsync |        100 |    11.452 ms |   0.2147 ms |   0.2008 ms |  0.14 |    31.2500 |    15.6250 |     - |     807 KB |\n|                         |            |              |             |             |       |            |            |       |            |\n|  **EfCoreInsertBatchAsync** |       **1000** |   **813.300 ms** |  **11.7411 ms** |   **9.8043 ms** |  **1.00** |  **3000.0000** |  **1000.0000** |     **-** |  **94,187 KB** |\n| VenflowInsertBatchAsync |       1000 |   103.848 ms |   2.0310 ms |   3.5571 ms |  0.13 |   200.0000 |          - |     - |   7,888 KB |\n|                         |            |              |             |             |       |            |            |       |            |\n|  **EfCoreInsertBatchAsync** |      **10000** | **8,422.345 ms** | **113.1848 ms** | **105.8732 ms** |  **1.00** | **34000.0000** | **12000.0000** |     **-** | **942,093 KB** |\n| VenflowInsertBatchAsync |      10000 | 1,067.643 ms |  21.1191 ms |  22.5972 ms |  0.13 |  2000.0000 |  1000.0000 |     - |  79,240 KB |\n"
  },
  {
    "path": "benchmarks/InsertSingle.csv",
    "content": "Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,Toolchain,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,Mean,Error,StdDev,Ratio,RatioSD,Gen 0,Gen 1,Gen 2,Allocated\nEFCoreInsertSingleAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,\"1,051.5 μs\",20.71 μs,37.35 μs,1.00,0.00,0.0000,0.0000,0.0000,16 KB\nVenflowInsertSingleAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,801.8 μs,15.86 μs,16.29 μs,0.77,0.03,0.0000,0.0000,0.0000,4 KB\nRepoDbInsertSingleAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,593.7 μs,11.77 μs,26.09 μs,0.56,0.04,0.0000,0.0000,0.0000,3 KB\n"
  },
  {
    "path": "benchmarks/InsertSingle.md",
    "content": "``` ini\n\nBenchmarkDotNet=v0.13.0, OS=ubuntu 20.04\nIntel Xeon CPU E5-2673 v4 2.30GHz, 1 CPU, 2 logical and 2 physical cores\n.NET SDK=6.0.100-preview.7.21379.14\n  [Host]   : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n  .NET 6.0 : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n\nJob=.NET 6.0  Runtime=.NET 6.0  \n\n```\n|                   Method |       Mean |    Error |   StdDev | Ratio | RatioSD | Gen 0 | Gen 1 | Gen 2 | Allocated |\n|------------------------- |-----------:|---------:|---------:|------:|--------:|------:|------:|------:|----------:|\n|  EFCoreInsertSingleAsync | 1,051.5 μs | 20.71 μs | 37.35 μs |  1.00 |    0.00 |     - |     - |     - |     16 KB |\n| VenflowInsertSingleAsync |   801.8 μs | 15.86 μs | 16.29 μs |  0.77 |    0.03 |     - |     - |     - |      4 KB |\n|  RepoDbInsertSingleAsync |   593.7 μs | 11.77 μs | 26.09 μs |  0.56 |    0.04 |     - |     - |     - |      3 KB |\n"
  },
  {
    "path": "benchmarks/InsertSingleWithRelations.csv",
    "content": "Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,Toolchain,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,Mean,Error,StdDev,Ratio,RatioSD,Gen 0,Gen 1,Gen 2,Allocated\nEfCoreInsertSingleAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,2.337 ms,0.0459 ms,0.0429 ms,1.00,0.00,0.0000,0.0000,0.0000,65 KB\nVenflowInsertSingleAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1.468 ms,0.0266 ms,0.0336 ms,0.62,0.02,0.0000,0.0000,0.0000,10 KB\n"
  },
  {
    "path": "benchmarks/InsertSingleWithRelations.md",
    "content": "``` ini\n\nBenchmarkDotNet=v0.13.0, OS=ubuntu 20.04\nIntel Xeon CPU E5-2673 v4 2.30GHz, 1 CPU, 2 logical and 2 physical cores\n.NET SDK=6.0.100-preview.7.21379.14\n  [Host]   : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n  .NET 6.0 : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n\nJob=.NET 6.0  Runtime=.NET 6.0  \n\n```\n|                   Method |     Mean |     Error |    StdDev | Ratio | RatioSD | Gen 0 | Gen 1 | Gen 2 | Allocated |\n|------------------------- |---------:|----------:|----------:|------:|--------:|------:|------:|------:|----------:|\n|  EfCoreInsertSingleAsync | 2.337 ms | 0.0459 ms | 0.0429 ms |  1.00 |    0.00 |     - |     - |     - |     65 KB |\n| VenflowInsertSingleAsync | 1.468 ms | 0.0266 ms | 0.0336 ms |  0.62 |    0.02 |     - |     - |     - |     10 KB |\n"
  },
  {
    "path": "benchmarks/Instantiation.csv",
    "content": "Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,Toolchain,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,Mean,Error,StdDev,Gen 0,Gen 1,Gen 2,Allocated\nInstantiateEFCoreContext,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,73.08 μs,1.434 μs,2.057 μs,1.7090,0.0000,0.0000,46 KB\nInstantiateVenflowDatabase,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,63.32 μs,1.226 μs,1.718 μs,1.3428,0.0000,0.0000,37 KB\n"
  },
  {
    "path": "benchmarks/Instantiation.md",
    "content": "``` ini\n\nBenchmarkDotNet=v0.13.0, OS=ubuntu 20.04\nIntel Xeon CPU E5-2673 v4 2.30GHz, 1 CPU, 2 logical and 2 physical cores\n.NET SDK=6.0.100-preview.7.21379.14\n  [Host]   : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n  .NET 6.0 : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n\nJob=.NET 6.0  Runtime=.NET 6.0  \n\n```\n|                     Method |     Mean |    Error |   StdDev |  Gen 0 | Gen 1 | Gen 2 | Allocated |\n|--------------------------- |---------:|---------:|---------:|-------:|------:|------:|----------:|\n|   InstantiateEFCoreContext | 73.08 μs | 1.434 μs | 2.057 μs | 1.7090 |     - |     - |     46 KB |\n| InstantiateVenflowDatabase | 63.32 μs | 1.226 μs | 1.718 μs | 1.3428 |     - |     - |     37 KB |\n"
  },
  {
    "path": "benchmarks/QueryBatch.csv",
    "content": "Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,Toolchain,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,BatchCount,Mean,Error,StdDev,Ratio,RatioSD,Gen 0,Gen 1,Gen 2,Allocated\nEfCoreQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,455.9 μs,9.02 μs,16.49 μs,1.00,0.00,0.0000,0.0000,0.0000,9 KB\nEfCoreQueryBatchNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,509.1 μs,10.30 μs,30.22 μs,1.12,0.08,0.0000,0.0000,0.0000,10 KB\nEfCoreQueryBatchRawNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,495.6 μs,10.04 μs,29.46 μs,1.11,0.06,0.0000,0.0000,0.0000,13 KB\nVenflowQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,260.6 μs,7.12 μs,21.00 μs,0.57,0.06,0.0000,0.0000,0.0000,3 KB\nVenflowQueryBatchNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,268.3 μs,8.91 μs,26.28 μs,0.59,0.06,0.0000,0.0000,0.0000,3 KB\nRepoDbQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,275.2 μs,7.79 μs,22.97 μs,0.61,0.05,0.0000,0.0000,0.0000,4 KB\nDapperQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,274.1 μs,7.90 μs,23.30 μs,0.61,0.06,0.0000,0.0000,0.0000,3 KB\nEfCoreQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,534.3 μs,10.04 μs,24.81 μs,1.00,0.00,0.9766,0.0000,0.0000,32 KB\nEfCoreQueryBatchNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,565.0 μs,11.15 μs,28.58 μs,1.06,0.07,0.9766,0.0000,0.0000,36 KB\nEfCoreQueryBatchRawNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,534.2 μs,10.59 μs,24.97 μs,1.00,0.07,0.9766,0.0000,0.0000,39 KB\nVenflowQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,320.3 μs,8.20 μs,24.06 μs,0.60,0.06,0.4883,0.0000,0.0000,16 KB\nVenflowQueryBatchNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,320.0 μs,9.11 μs,26.85 μs,0.61,0.06,0.0000,0.0000,0.0000,11 KB\nRepoDbQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,334.6 μs,7.46 μs,21.75 μs,0.63,0.06,0.4883,0.0000,0.0000,13 KB\nDapperQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,362.7 μs,8.10 μs,23.88 μs,0.68,0.05,0.0000,0.0000,0.0000,14 KB\nEfCoreQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,\"1,274.1 μs\",25.31 μs,40.14 μs,1.00,0.00,9.7656,0.0000,0.0000,264 KB\nEfCoreQueryBatchNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,\"1,402.3 μs\",27.38 μs,25.61 μs,1.11,0.04,9.7656,1.9531,0.0000,289 KB\nEfCoreQueryBatchRawNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,\"1,410.4 μs\",26.98 μs,33.13 μs,1.12,0.04,9.7656,1.9531,0.0000,292 KB\nVenflowQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,927.9 μs,18.45 μs,40.10 μs,0.73,0.04,3.9063,0.0000,0.0000,136 KB\nVenflowQueryBatchNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,873.9 μs,17.29 μs,40.08 μs,0.69,0.04,1.9531,0.0000,0.0000,97 KB\nRepoDbQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,898.4 μs,17.94 μs,31.88 μs,0.70,0.04,1.9531,0.0000,0.0000,97 KB\nDapperQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,\"1,226.6 μs\",24.14 μs,32.22 μs,0.97,0.04,3.9063,0.0000,0.0000,119 KB\nEfCoreQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,\"8,206.2 μs\",137.77 μs,128.87 μs,1.00,0.00,93.7500,0.0000,0.0000,\"2,684 KB\"\nEfCoreQueryBatchNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,\"12,365.0 μs\",238.37 μs,283.76 μs,1.52,0.04,125.0000,78.1250,31.2500,\"2,920 KB\"\nEfCoreQueryBatchRawNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,\"11,880.5 μs\",221.62 μs,217.66 μs,1.45,0.04,125.0000,78.1250,31.2500,\"2,923 KB\"\nVenflowQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,\"7,263.5 μs\",129.87 μs,121.48 μs,0.89,0.02,46.8750,15.6250,0.0000,\"1,430 KB\"\nVenflowQueryBatchNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,\"6,483.1 μs\",110.69 μs,135.93 μs,0.79,0.03,39.0625,23.4375,7.8125,\"1,040 KB\"\nRepoDbQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,\"6,266.7 μs\",119.53 μs,221.55 μs,0.76,0.04,31.2500,15.6250,0.0000,\"1,041 KB\"\nDapperQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,\"10,153.4 μs\",201.23 μs,178.38 μs,1.24,0.03,31.2500,15.6250,0.0000,\"1,274 KB\"\n"
  },
  {
    "path": "benchmarks/QueryBatch.md",
    "content": "``` ini\n\nBenchmarkDotNet=v0.13.0, OS=ubuntu 20.04\nIntel Xeon CPU E5-2673 v4 2.30GHz, 1 CPU, 2 logical and 2 physical cores\n.NET SDK=6.0.100-preview.7.21379.14\n  [Host]   : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n  .NET 6.0 : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n\nJob=.NET 6.0  Runtime=.NET 6.0  \n\n```\n|                                   Method | BatchCount |        Mean |     Error |    StdDev | Ratio | RatioSD |    Gen 0 |   Gen 1 |   Gen 2 | Allocated |\n|----------------------------------------- |----------- |------------:|----------:|----------:|------:|--------:|---------:|--------:|--------:|----------:|\n|                    **EfCoreQueryBatchAsync** |         **10** |    **455.9 μs** |   **9.02 μs** |  **16.49 μs** |  **1.00** |    **0.00** |        **-** |       **-** |       **-** |      **9 KB** |\n|    EfCoreQueryBatchNoChangeTrackingAsync |         10 |    509.1 μs |  10.30 μs |  30.22 μs |  1.12 |    0.08 |        - |       - |       - |     10 KB |\n| EfCoreQueryBatchRawNoChangeTrackingAsync |         10 |    495.6 μs |  10.04 μs |  29.46 μs |  1.11 |    0.06 |        - |       - |       - |     13 KB |\n|                   VenflowQueryBatchAsync |         10 |    260.6 μs |   7.12 μs |  21.00 μs |  0.57 |    0.06 |        - |       - |       - |      3 KB |\n|   VenflowQueryBatchNoChangeTrackingAsync |         10 |    268.3 μs |   8.91 μs |  26.28 μs |  0.59 |    0.06 |        - |       - |       - |      3 KB |\n|                    RepoDbQueryBatchAsync |         10 |    275.2 μs |   7.79 μs |  22.97 μs |  0.61 |    0.05 |        - |       - |       - |      4 KB |\n|                    DapperQueryBatchAsync |         10 |    274.1 μs |   7.90 μs |  23.30 μs |  0.61 |    0.06 |        - |       - |       - |      3 KB |\n|                                          |            |             |           |           |       |         |          |         |         |           |\n|                    **EfCoreQueryBatchAsync** |        **100** |    **534.3 μs** |  **10.04 μs** |  **24.81 μs** |  **1.00** |    **0.00** |   **0.9766** |       **-** |       **-** |     **32 KB** |\n|    EfCoreQueryBatchNoChangeTrackingAsync |        100 |    565.0 μs |  11.15 μs |  28.58 μs |  1.06 |    0.07 |   0.9766 |       - |       - |     36 KB |\n| EfCoreQueryBatchRawNoChangeTrackingAsync |        100 |    534.2 μs |  10.59 μs |  24.97 μs |  1.00 |    0.07 |   0.9766 |       - |       - |     39 KB |\n|                   VenflowQueryBatchAsync |        100 |    320.3 μs |   8.20 μs |  24.06 μs |  0.60 |    0.06 |   0.4883 |       - |       - |     16 KB |\n|   VenflowQueryBatchNoChangeTrackingAsync |        100 |    320.0 μs |   9.11 μs |  26.85 μs |  0.61 |    0.06 |        - |       - |       - |     11 KB |\n|                    RepoDbQueryBatchAsync |        100 |    334.6 μs |   7.46 μs |  21.75 μs |  0.63 |    0.06 |   0.4883 |       - |       - |     13 KB |\n|                    DapperQueryBatchAsync |        100 |    362.7 μs |   8.10 μs |  23.88 μs |  0.68 |    0.05 |        - |       - |       - |     14 KB |\n|                                          |            |             |           |           |       |         |          |         |         |           |\n|                    **EfCoreQueryBatchAsync** |       **1000** |  **1,274.1 μs** |  **25.31 μs** |  **40.14 μs** |  **1.00** |    **0.00** |   **9.7656** |       **-** |       **-** |    **264 KB** |\n|    EfCoreQueryBatchNoChangeTrackingAsync |       1000 |  1,402.3 μs |  27.38 μs |  25.61 μs |  1.11 |    0.04 |   9.7656 |  1.9531 |       - |    289 KB |\n| EfCoreQueryBatchRawNoChangeTrackingAsync |       1000 |  1,410.4 μs |  26.98 μs |  33.13 μs |  1.12 |    0.04 |   9.7656 |  1.9531 |       - |    292 KB |\n|                   VenflowQueryBatchAsync |       1000 |    927.9 μs |  18.45 μs |  40.10 μs |  0.73 |    0.04 |   3.9063 |       - |       - |    136 KB |\n|   VenflowQueryBatchNoChangeTrackingAsync |       1000 |    873.9 μs |  17.29 μs |  40.08 μs |  0.69 |    0.04 |   1.9531 |       - |       - |     97 KB |\n|                    RepoDbQueryBatchAsync |       1000 |    898.4 μs |  17.94 μs |  31.88 μs |  0.70 |    0.04 |   1.9531 |       - |       - |     97 KB |\n|                    DapperQueryBatchAsync |       1000 |  1,226.6 μs |  24.14 μs |  32.22 μs |  0.97 |    0.04 |   3.9063 |       - |       - |    119 KB |\n|                                          |            |             |           |           |       |         |          |         |         |           |\n|                    **EfCoreQueryBatchAsync** |      **10000** |  **8,206.2 μs** | **137.77 μs** | **128.87 μs** |  **1.00** |    **0.00** |  **93.7500** |       **-** |       **-** |  **2,684 KB** |\n|    EfCoreQueryBatchNoChangeTrackingAsync |      10000 | 12,365.0 μs | 238.37 μs | 283.76 μs |  1.52 |    0.04 | 125.0000 | 78.1250 | 31.2500 |  2,920 KB |\n| EfCoreQueryBatchRawNoChangeTrackingAsync |      10000 | 11,880.5 μs | 221.62 μs | 217.66 μs |  1.45 |    0.04 | 125.0000 | 78.1250 | 31.2500 |  2,923 KB |\n|                   VenflowQueryBatchAsync |      10000 |  7,263.5 μs | 129.87 μs | 121.48 μs |  0.89 |    0.02 |  46.8750 | 15.6250 |       - |  1,430 KB |\n|   VenflowQueryBatchNoChangeTrackingAsync |      10000 |  6,483.1 μs | 110.69 μs | 135.93 μs |  0.79 |    0.03 |  39.0625 | 23.4375 |  7.8125 |  1,040 KB |\n|                    RepoDbQueryBatchAsync |      10000 |  6,266.7 μs | 119.53 μs | 221.55 μs |  0.76 |    0.04 |  31.2500 | 15.6250 |       - |  1,041 KB |\n|                    DapperQueryBatchAsync |      10000 | 10,153.4 μs | 201.23 μs | 178.38 μs |  1.24 |    0.03 |  31.2500 | 15.6250 |       - |  1,274 KB |\n"
  },
  {
    "path": "benchmarks/QueryBatchWithRelations.csv",
    "content": "Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,Toolchain,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,BatchCount,Mean,Error,StdDev,Ratio,RatioSD,Gen 0,Gen 1,Gen 2,Allocated\nEfCoreQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,7.527 ms,0.1476 ms,0.2772 ms,1.00,0.00,0.0000,0.0000,0.0000,42 KB\nEfCoreQueryBatchNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,8.069 ms,0.1516 ms,0.1344 ms,1.03,0.05,0.0000,0.0000,0.0000,80 KB\nVenflowQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,7.169 ms,0.1424 ms,0.2972 ms,0.95,0.03,0.0000,0.0000,0.0000,29 KB\nVenflowQueryBatchNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,7.683 ms,0.1236 ms,0.1156 ms,0.99,0.04,0.0000,0.0000,0.0000,29 KB\nRecommendedDapperQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,7.124 ms,0.1321 ms,0.1236 ms,0.92,0.05,0.0000,0.0000,0.0000,30 KB\nCustomDapperQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,7.702 ms,0.1182 ms,0.1047 ms,0.99,0.04,0.0000,0.0000,0.0000,29 KB\nEfCoreQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,9.112 ms,0.1795 ms,0.3903 ms,1.00,0.00,0.0000,0.0000,0.0000,316 KB\nEfCoreQueryBatchNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,10.232 ms,0.1659 ms,0.1552 ms,1.06,0.03,15.6250,0.0000,0.0000,687 KB\nVenflowQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,7.866 ms,0.1553 ms,0.2324 ms,0.85,0.04,0.0000,0.0000,0.0000,228 KB\nVenflowQueryBatchNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,8.385 ms,0.1493 ms,0.1396 ms,0.87,0.03,0.0000,0.0000,0.0000,224 KB\nRecommendedDapperQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,8.239 ms,0.1441 ms,0.1348 ms,0.85,0.04,0.0000,0.0000,0.0000,246 KB\nCustomDapperQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,7.905 ms,0.1509 ms,0.1615 ms,0.83,0.03,0.0000,0.0000,0.0000,236 KB\nEfCoreQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,24.513 ms,0.4371 ms,0.6675 ms,1.00,0.00,93.7500,0.0000,0.0000,\"3,051 KB\"\nEfCoreQueryBatchNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,32.363 ms,0.4906 ms,0.4349 ms,1.31,0.04,250.0000,125.0000,0.0000,\"6,748 KB\"\nVenflowQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,14.496 ms,0.2893 ms,0.4589 ms,0.59,0.02,62.5000,31.2500,0.0000,\"2,204 KB\"\nVenflowQueryBatchNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,14.276 ms,0.2556 ms,0.2391 ms,0.58,0.02,62.5000,31.2500,0.0000,\"2,167 KB\"\nRecommendedDapperQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,18.943 ms,0.3583 ms,0.3351 ms,0.77,0.03,62.5000,31.2500,0.0000,\"2,392 KB\"\nCustomDapperQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,19.638 ms,0.3441 ms,0.3682 ms,0.80,0.03,62.5000,31.2500,0.0000,\"2,299 KB\"\nEfCoreQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,183.596 ms,3.6074 ms,4.4302 ms,1.00,0.00,1000.0000,0.0000,0.0000,\"30,503 KB\"\nEfCoreQueryBatchNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,306.043 ms,6.0079 ms,7.5981 ms,1.67,0.06,2500.0000,1000.0000,0.0000,\"67,739 KB\"\nVenflowQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,112.123 ms,2.2261 ms,5.9032 ms,0.58,0.03,600.0000,400.0000,200.0000,\"23,702 KB\"\nVenflowQueryBatchNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,109.985 ms,2.1978 ms,4.6358 ms,0.59,0.04,600.0000,400.0000,200.0000,\"23,314 KB\"\nRecommendedDapperQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,172.813 ms,3.3935 ms,3.7719 ms,0.94,0.04,666.6667,333.3333,0.0000,\"26,204 KB\"\nCustomDapperQueryBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,166.523 ms,3.2761 ms,5.6511 ms,0.91,0.04,666.6667,333.3333,0.0000,\"25,329 KB\"\n"
  },
  {
    "path": "benchmarks/QueryBatchWithRelations.md",
    "content": "``` ini\n\nBenchmarkDotNet=v0.13.0, OS=ubuntu 20.04\nIntel Xeon CPU E5-2673 v4 2.30GHz, 1 CPU, 2 logical and 2 physical cores\n.NET SDK=6.0.100-preview.7.21379.14\n  [Host]   : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n  .NET 6.0 : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n\nJob=.NET 6.0  Runtime=.NET 6.0  \n\n```\n|                                 Method | BatchCount |       Mean |     Error |    StdDev | Ratio | RatioSD |     Gen 0 |     Gen 1 |    Gen 2 | Allocated |\n|--------------------------------------- |----------- |-----------:|----------:|----------:|------:|--------:|----------:|----------:|---------:|----------:|\n|                  **EfCoreQueryBatchAsync** |         **10** |   **7.527 ms** | **0.1476 ms** | **0.2772 ms** |  **1.00** |    **0.00** |         **-** |         **-** |        **-** |     **42 KB** |\n|  EfCoreQueryBatchNoChangeTrackingAsync |         10 |   8.069 ms | 0.1516 ms | 0.1344 ms |  1.03 |    0.05 |         - |         - |        - |     80 KB |\n|                 VenflowQueryBatchAsync |         10 |   7.169 ms | 0.1424 ms | 0.2972 ms |  0.95 |    0.03 |         - |         - |        - |     29 KB |\n| VenflowQueryBatchNoChangeTrackingAsync |         10 |   7.683 ms | 0.1236 ms | 0.1156 ms |  0.99 |    0.04 |         - |         - |        - |     29 KB |\n|       RecommendedDapperQueryBatchAsync |         10 |   7.124 ms | 0.1321 ms | 0.1236 ms |  0.92 |    0.05 |         - |         - |        - |     30 KB |\n|            CustomDapperQueryBatchAsync |         10 |   7.702 ms | 0.1182 ms | 0.1047 ms |  0.99 |    0.04 |         - |         - |        - |     29 KB |\n|                                        |            |            |           |           |       |         |           |           |          |           |\n|                  **EfCoreQueryBatchAsync** |        **100** |   **9.112 ms** | **0.1795 ms** | **0.3903 ms** |  **1.00** |    **0.00** |         **-** |         **-** |        **-** |    **316 KB** |\n|  EfCoreQueryBatchNoChangeTrackingAsync |        100 |  10.232 ms | 0.1659 ms | 0.1552 ms |  1.06 |    0.03 |   15.6250 |         - |        - |    687 KB |\n|                 VenflowQueryBatchAsync |        100 |   7.866 ms | 0.1553 ms | 0.2324 ms |  0.85 |    0.04 |         - |         - |        - |    228 KB |\n| VenflowQueryBatchNoChangeTrackingAsync |        100 |   8.385 ms | 0.1493 ms | 0.1396 ms |  0.87 |    0.03 |         - |         - |        - |    224 KB |\n|       RecommendedDapperQueryBatchAsync |        100 |   8.239 ms | 0.1441 ms | 0.1348 ms |  0.85 |    0.04 |         - |         - |        - |    246 KB |\n|            CustomDapperQueryBatchAsync |        100 |   7.905 ms | 0.1509 ms | 0.1615 ms |  0.83 |    0.03 |         - |         - |        - |    236 KB |\n|                                        |            |            |           |           |       |         |           |           |          |           |\n|                  **EfCoreQueryBatchAsync** |       **1000** |  **24.513 ms** | **0.4371 ms** | **0.6675 ms** |  **1.00** |    **0.00** |   **93.7500** |         **-** |        **-** |  **3,051 KB** |\n|  EfCoreQueryBatchNoChangeTrackingAsync |       1000 |  32.363 ms | 0.4906 ms | 0.4349 ms |  1.31 |    0.04 |  250.0000 |  125.0000 |        - |  6,748 KB |\n|                 VenflowQueryBatchAsync |       1000 |  14.496 ms | 0.2893 ms | 0.4589 ms |  0.59 |    0.02 |   62.5000 |   31.2500 |        - |  2,204 KB |\n| VenflowQueryBatchNoChangeTrackingAsync |       1000 |  14.276 ms | 0.2556 ms | 0.2391 ms |  0.58 |    0.02 |   62.5000 |   31.2500 |        - |  2,167 KB |\n|       RecommendedDapperQueryBatchAsync |       1000 |  18.943 ms | 0.3583 ms | 0.3351 ms |  0.77 |    0.03 |   62.5000 |   31.2500 |        - |  2,392 KB |\n|            CustomDapperQueryBatchAsync |       1000 |  19.638 ms | 0.3441 ms | 0.3682 ms |  0.80 |    0.03 |   62.5000 |   31.2500 |        - |  2,299 KB |\n|                                        |            |            |           |           |       |         |           |           |          |           |\n|                  **EfCoreQueryBatchAsync** |      **10000** | **183.596 ms** | **3.6074 ms** | **4.4302 ms** |  **1.00** |    **0.00** | **1000.0000** |         **-** |        **-** | **30,503 KB** |\n|  EfCoreQueryBatchNoChangeTrackingAsync |      10000 | 306.043 ms | 6.0079 ms | 7.5981 ms |  1.67 |    0.06 | 2500.0000 | 1000.0000 |        - | 67,739 KB |\n|                 VenflowQueryBatchAsync |      10000 | 112.123 ms | 2.2261 ms | 5.9032 ms |  0.58 |    0.03 |  600.0000 |  400.0000 | 200.0000 | 23,702 KB |\n| VenflowQueryBatchNoChangeTrackingAsync |      10000 | 109.985 ms | 2.1978 ms | 4.6358 ms |  0.59 |    0.04 |  600.0000 |  400.0000 | 200.0000 | 23,314 KB |\n|       RecommendedDapperQueryBatchAsync |      10000 | 172.813 ms | 3.3935 ms | 3.7719 ms |  0.94 |    0.04 |  666.6667 |  333.3333 |        - | 26,204 KB |\n|            CustomDapperQueryBatchAsync |      10000 | 166.523 ms | 3.2761 ms | 5.6511 ms |  0.91 |    0.04 |  666.6667 |  333.3333 |        - | 25,329 KB |\n"
  },
  {
    "path": "benchmarks/QuerySingle.csv",
    "content": "Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,Toolchain,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,Mean,Error,StdDev,Ratio,RatioSD,Gen 0,Gen 1,Gen 2,Allocated\nEfCoreQuerySingleAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,376.0 μs,7.43 μs,20.48 μs,1.00,0.00,0.0000,0.0000,0.0000,5 KB\nEfCoreQuerySingleNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,390.8 μs,8.56 μs,25.25 μs,1.05,0.09,0.0000,0.0000,0.0000,6 KB\nEfCoreQuerySingleRawNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,495.5 μs,11.07 μs,32.63 μs,1.32,0.11,0.0000,0.0000,0.0000,11 KB\nVenflowQuerySingleAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,243.6 μs,8.44 μs,24.90 μs,0.66,0.08,0.0000,0.0000,0.0000,2 KB\nVenflowQuerySingleNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,239.7 μs,7.90 μs,23.30 μs,0.64,0.08,0.0000,0.0000,0.0000,2 KB\nRepoDbQuerySingleAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,280.1 μs,5.58 μs,12.13 μs,0.75,0.04,0.0000,0.0000,0.0000,3 KB\nDapperQuerySingleAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,242.5 μs,6.73 μs,19.84 μs,0.64,0.07,0.0000,0.0000,0.0000,1 KB\n"
  },
  {
    "path": "benchmarks/QuerySingle.md",
    "content": "``` ini\n\nBenchmarkDotNet=v0.13.0, OS=ubuntu 20.04\nIntel Xeon CPU E5-2673 v4 2.30GHz, 1 CPU, 2 logical and 2 physical cores\n.NET SDK=6.0.100-preview.7.21379.14\n  [Host]   : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n  .NET 6.0 : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n\nJob=.NET 6.0  Runtime=.NET 6.0  \n\n```\n|                                    Method |     Mean |    Error |   StdDev | Ratio | RatioSD | Gen 0 | Gen 1 | Gen 2 | Allocated |\n|------------------------------------------ |---------:|---------:|---------:|------:|--------:|------:|------:|------:|----------:|\n|                    EfCoreQuerySingleAsync | 376.0 μs |  7.43 μs | 20.48 μs |  1.00 |    0.00 |     - |     - |     - |      5 KB |\n|    EfCoreQuerySingleNoChangeTrackingAsync | 390.8 μs |  8.56 μs | 25.25 μs |  1.05 |    0.09 |     - |     - |     - |      6 KB |\n| EfCoreQuerySingleRawNoChangeTrackingAsync | 495.5 μs | 11.07 μs | 32.63 μs |  1.32 |    0.11 |     - |     - |     - |     11 KB |\n|                   VenflowQuerySingleAsync | 243.6 μs |  8.44 μs | 24.90 μs |  0.66 |    0.08 |     - |     - |     - |      2 KB |\n|   VenflowQuerySingleNoChangeTrackingAsync | 239.7 μs |  7.90 μs | 23.30 μs |  0.64 |    0.08 |     - |     - |     - |      2 KB |\n|                    RepoDbQuerySingleAsync | 280.1 μs |  5.58 μs | 12.13 μs |  0.75 |    0.04 |     - |     - |     - |      3 KB |\n|                    DapperQuerySingleAsync | 242.5 μs |  6.73 μs | 19.84 μs |  0.64 |    0.07 |     - |     - |     - |      1 KB |\n"
  },
  {
    "path": "benchmarks/QuerySingleWithParameter.csv",
    "content": "Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,Toolchain,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,Mean,Error,StdDev,Gen 0,Gen 1,Gen 2,Allocated\nVenflowQueryWithParameters,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,260.6 μs,7.14 μs,21.06 μs,0.0000,0.0000,0.0000,2 KB\nVenflowQueryWithInterpolation,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,259.7 μs,5.49 μs,16.18 μs,0.0000,0.0000,0.0000,3 KB\nVenflowQueryWithConstLambda,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,308.3 μs,9.64 μs,28.26 μs,0.0000,0.0000,0.0000,5 KB\nVenflowQueryWithLocalLambda,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,316.3 μs,6.83 μs,20.14 μs,0.0000,0.0000,0.0000,5 KB\nVenflowQueryWithFieldLambda,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,305.8 μs,9.54 μs,28.13 μs,0.0000,0.0000,0.0000,5 KB\nRepoDbQueryWithParameters,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,279.8 μs,5.55 μs,12.18 μs,0.0000,0.0000,0.0000,2 KB\nDapperQueryWithParameters,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,241.3 μs,6.88 μs,20.17 μs,0.0000,0.0000,0.0000,1 KB\nDapperQueryWithBag,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,254.5 μs,6.84 μs,20.16 μs,0.0000,0.0000,0.0000,2 KB\nEFCoreQueryWithConstLambda,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,440.5 μs,11.50 μs,33.74 μs,0.0000,0.0000,0.0000,7 KB\nEFCoreQueryWithLocalLambda,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,526.6 μs,11.70 μs,34.49 μs,0.0000,0.0000,0.0000,7 KB\nEFCoreQueryWithFieldLambda,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,490.5 μs,12.21 μs,36.02 μs,0.0000,0.0000,0.0000,7 KB\n"
  },
  {
    "path": "benchmarks/QuerySingleWithParameter.md",
    "content": "``` ini\n\nBenchmarkDotNet=v0.13.0, OS=ubuntu 20.04\nIntel Xeon CPU E5-2673 v4 2.30GHz, 1 CPU, 2 logical and 2 physical cores\n.NET SDK=6.0.100-preview.7.21379.14\n  [Host]   : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n  .NET 6.0 : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n\nJob=.NET 6.0  Runtime=.NET 6.0  \n\n```\n|                        Method |     Mean |    Error |   StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |\n|------------------------------ |---------:|---------:|---------:|------:|------:|------:|----------:|\n|    VenflowQueryWithParameters | 260.6 μs |  7.14 μs | 21.06 μs |     - |     - |     - |      2 KB |\n| VenflowQueryWithInterpolation | 259.7 μs |  5.49 μs | 16.18 μs |     - |     - |     - |      3 KB |\n|   VenflowQueryWithConstLambda | 308.3 μs |  9.64 μs | 28.26 μs |     - |     - |     - |      5 KB |\n|   VenflowQueryWithLocalLambda | 316.3 μs |  6.83 μs | 20.14 μs |     - |     - |     - |      5 KB |\n|   VenflowQueryWithFieldLambda | 305.8 μs |  9.54 μs | 28.13 μs |     - |     - |     - |      5 KB |\n|     RepoDbQueryWithParameters | 279.8 μs |  5.55 μs | 12.18 μs |     - |     - |     - |      2 KB |\n|     DapperQueryWithParameters | 241.3 μs |  6.88 μs | 20.17 μs |     - |     - |     - |      1 KB |\n|            DapperQueryWithBag | 254.5 μs |  6.84 μs | 20.16 μs |     - |     - |     - |      2 KB |\n|    EFCoreQueryWithConstLambda | 440.5 μs | 11.50 μs | 33.74 μs |     - |     - |     - |      7 KB |\n|    EFCoreQueryWithLocalLambda | 526.6 μs | 11.70 μs | 34.49 μs |     - |     - |     - |      7 KB |\n|    EFCoreQueryWithFieldLambda | 490.5 μs | 12.21 μs | 36.02 μs |     - |     - |     - |      7 KB |\n"
  },
  {
    "path": "benchmarks/QuerySingleWithRelations.csv",
    "content": "Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,Toolchain,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,Mean,Error,StdDev,Ratio,RatioSD,Gen 0,Gen 1,Gen 2,Allocated\nEfCoreQuerySingleAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,7.900 ms,0.1567 ms,0.4155 ms,1.00,0.00,0.0000,0.0000,0.0000,13 KB\nEfCoreQuerySingleNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,8.026 ms,0.1575 ms,0.2997 ms,0.98,0.04,0.0000,0.0000,0.0000,17 KB\nVenflowQuerySingleAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,7.085 ms,0.1408 ms,0.2466 ms,0.86,0.05,0.0000,0.0000,0.0000,7 KB\nVenflowQuerySingleNoChangeTrackingAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,7.814 ms,0.1543 ms,0.2060 ms,0.96,0.05,0.0000,0.0000,0.0000,6 KB\nRecommendedDapperQuerySingleAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,7.650 ms,0.1091 ms,0.0911 ms,0.92,0.04,0.0000,0.0000,0.0000,5 KB\nCustomDapperQuerySingleAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,7.757 ms,0.1551 ms,0.2017 ms,0.96,0.05,0.0000,0.0000,0.0000,5 KB\n"
  },
  {
    "path": "benchmarks/QuerySingleWithRelations.md",
    "content": "``` ini\n\nBenchmarkDotNet=v0.13.0, OS=ubuntu 20.04\nIntel Xeon CPU E5-2673 v4 2.30GHz, 1 CPU, 2 logical and 2 physical cores\n.NET SDK=6.0.100-preview.7.21379.14\n  [Host]   : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n  .NET 6.0 : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n\nJob=.NET 6.0  Runtime=.NET 6.0  \n\n```\n|                                  Method |     Mean |     Error |    StdDev | Ratio | RatioSD | Gen 0 | Gen 1 | Gen 2 | Allocated |\n|---------------------------------------- |---------:|----------:|----------:|------:|--------:|------:|------:|------:|----------:|\n|                  EfCoreQuerySingleAsync | 7.900 ms | 0.1567 ms | 0.4155 ms |  1.00 |    0.00 |     - |     - |     - |     13 KB |\n|  EfCoreQuerySingleNoChangeTrackingAsync | 8.026 ms | 0.1575 ms | 0.2997 ms |  0.98 |    0.04 |     - |     - |     - |     17 KB |\n|                 VenflowQuerySingleAsync | 7.085 ms | 0.1408 ms | 0.2466 ms |  0.86 |    0.05 |     - |     - |     - |      7 KB |\n| VenflowQuerySingleNoChangeTrackingAsync | 7.814 ms | 0.1543 ms | 0.2060 ms |  0.96 |    0.05 |     - |     - |     - |      6 KB |\n|       RecommendedDapperQuerySingleAsync | 7.650 ms | 0.1091 ms | 0.0911 ms |  0.92 |    0.04 |     - |     - |     - |      5 KB |\n|            CustomDapperQuerySingleAsync | 7.757 ms | 0.1551 ms | 0.2017 ms |  0.96 |    0.05 |     - |     - |     - |      5 KB |\n"
  },
  {
    "path": "benchmarks/UpdateBatch.csv",
    "content": "Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,Toolchain,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,BatchCount,Mean,Error,StdDev,Ratio,RatioSD,Gen 0,Gen 1,Gen 2,Allocated\nEFCoreUpdateBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,\"2,047.1 μs\",39.84 μs,55.84 μs,1.00,0.00,0.0000,0.0000,0.0000,66 KB\nVenflowUpdateBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,\"1,712.7 μs\",27.30 μs,25.54 μs,0.85,0.02,0.0000,0.0000,0.0000,19 KB\nRepoDbUpdateBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10,931.2 μs,18.27 μs,23.11 μs,0.46,0.02,0.0000,0.0000,0.0000,11 KB\nEFCoreUpdateBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,\"10,669.8 μs\",210.20 μs,258.14 μs,1.00,0.00,15.6250,0.0000,0.0000,578 KB\nVenflowUpdateBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,\"8,131.2 μs\",157.70 μs,147.52 μs,0.76,0.03,0.0000,0.0000,0.0000,171 KB\nRepoDbUpdateBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,100,\"4,651.1 μs\",84.46 μs,133.97 μs,0.44,0.02,0.0000,0.0000,0.0000,91 KB\nEFCoreUpdateBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,\"96,943.3 μs\",\"1,935.61 μs\",\"1,987.73 μs\",1.00,0.00,200.0000,0.0000,0.0000,\"5,719 KB\"\nVenflowUpdateBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,\"71,576.6 μs\",\"1,245.41 μs\",\"1,039.97 μs\",0.74,0.02,0.0000,0.0000,0.0000,\"1,664 KB\"\nRepoDbUpdateBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,1000,\"40,474.3 μs\",775.30 μs,\"1,251.96 μs\",0.42,0.02,0.0000,0.0000,0.0000,882 KB\nEFCoreUpdateBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,\"1,063,995.3 μs\",\"15,707.91 μs\",\"13,924.66 μs\",1.00,0.00,2000.0000,1000.0000,0.0000,\"57,290 KB\"\nVenflowUpdateBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,\"776,897.6 μs\",\"14,612.44 μs\",\"12,202.05 μs\",0.73,0.01,0.0000,0.0000,0.0000,\"16,767 KB\"\nRepoDbUpdateBatchAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,10000,\"623,146.7 μs\",\"12,358.01 μs\",\"23,512.39 μs\",0.60,0.03,0.0000,0.0000,0.0000,\"8,864 KB\"\n"
  },
  {
    "path": "benchmarks/UpdateBatch.md",
    "content": "``` ini\n\nBenchmarkDotNet=v0.13.0, OS=ubuntu 20.04\nIntel Xeon CPU E5-2673 v4 2.30GHz, 1 CPU, 2 logical and 2 physical cores\n.NET SDK=6.0.100-preview.7.21379.14\n  [Host]   : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n  .NET 6.0 : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n\nJob=.NET 6.0  Runtime=.NET 6.0  \n\n```\n|                  Method | BatchCount |           Mean |        Error |       StdDev | Ratio | RatioSD |     Gen 0 |     Gen 1 | Gen 2 | Allocated |\n|------------------------ |----------- |---------------:|-------------:|-------------:|------:|--------:|----------:|----------:|------:|----------:|\n|  **EFCoreUpdateBatchAsync** |         **10** |     **2,047.1 μs** |     **39.84 μs** |     **55.84 μs** |  **1.00** |    **0.00** |         **-** |         **-** |     **-** |     **66 KB** |\n| VenflowUpdateBatchAsync |         10 |     1,712.7 μs |     27.30 μs |     25.54 μs |  0.85 |    0.02 |         - |         - |     - |     19 KB |\n|  RepoDbUpdateBatchAsync |         10 |       931.2 μs |     18.27 μs |     23.11 μs |  0.46 |    0.02 |         - |         - |     - |     11 KB |\n|                         |            |                |              |              |       |         |           |           |       |           |\n|  **EFCoreUpdateBatchAsync** |        **100** |    **10,669.8 μs** |    **210.20 μs** |    **258.14 μs** |  **1.00** |    **0.00** |   **15.6250** |         **-** |     **-** |    **578 KB** |\n| VenflowUpdateBatchAsync |        100 |     8,131.2 μs |    157.70 μs |    147.52 μs |  0.76 |    0.03 |         - |         - |     - |    171 KB |\n|  RepoDbUpdateBatchAsync |        100 |     4,651.1 μs |     84.46 μs |    133.97 μs |  0.44 |    0.02 |         - |         - |     - |     91 KB |\n|                         |            |                |              |              |       |         |           |           |       |           |\n|  **EFCoreUpdateBatchAsync** |       **1000** |    **96,943.3 μs** |  **1,935.61 μs** |  **1,987.73 μs** |  **1.00** |    **0.00** |  **200.0000** |         **-** |     **-** |  **5,719 KB** |\n| VenflowUpdateBatchAsync |       1000 |    71,576.6 μs |  1,245.41 μs |  1,039.97 μs |  0.74 |    0.02 |         - |         - |     - |  1,664 KB |\n|  RepoDbUpdateBatchAsync |       1000 |    40,474.3 μs |    775.30 μs |  1,251.96 μs |  0.42 |    0.02 |         - |         - |     - |    882 KB |\n|                         |            |                |              |              |       |         |           |           |       |           |\n|  **EFCoreUpdateBatchAsync** |      **10000** | **1,063,995.3 μs** | **15,707.91 μs** | **13,924.66 μs** |  **1.00** |    **0.00** | **2000.0000** | **1000.0000** |     **-** | **57,290 KB** |\n| VenflowUpdateBatchAsync |      10000 |   776,897.6 μs | 14,612.44 μs | 12,202.05 μs |  0.73 |    0.01 |         - |         - |     - | 16,767 KB |\n|  RepoDbUpdateBatchAsync |      10000 |   623,146.7 μs | 12,358.01 μs | 23,512.39 μs |  0.60 |    0.03 |         - |         - |     - |  8,864 KB |\n"
  },
  {
    "path": "benchmarks/UpdateSingle.csv",
    "content": "Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,Toolchain,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,Mean,Error,StdDev,Ratio,RatioSD,Gen 0,Gen 1,Gen 2,Allocated\nEFCoreUpdateSingleAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,\"1,022.1 μs\",20.24 μs,42.25 μs,1.00,0.00,0.0000,0.0000,0.0000,13 KB\nVenflowUpdateSingleAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,815.8 μs,15.98 μs,31.55 μs,0.80,0.04,0.0000,0.0000,0.0000,4 KB\nRepoDbUpdateSingleAsync,.NET 6.0,False,Default,Default,Default,Default,Default,Default,11,Empty,RyuJit,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 6.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,1,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,671.5 μs,13.37 μs,37.50 μs,0.66,0.05,0.0000,0.0000,0.0000,7 KB\n"
  },
  {
    "path": "benchmarks/UpdateSingle.md",
    "content": "``` ini\n\nBenchmarkDotNet=v0.13.0, OS=ubuntu 20.04\nIntel Xeon CPU E5-2673 v4 2.30GHz, 1 CPU, 2 logical and 2 physical cores\n.NET SDK=6.0.100-preview.7.21379.14\n  [Host]   : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n  .NET 6.0 : .NET 6.0.0 (6.0.21.37719), X64 RyuJIT\n\nJob=.NET 6.0  Runtime=.NET 6.0  \n\n```\n|                   Method |       Mean |    Error |   StdDev | Ratio | RatioSD | Gen 0 | Gen 1 | Gen 2 | Allocated |\n|------------------------- |-----------:|---------:|---------:|------:|--------:|------:|------:|------:|----------:|\n|  EFCoreUpdateSingleAsync | 1,022.1 μs | 20.24 μs | 42.25 μs |  1.00 |    0.00 |     - |     - |     - |     13 KB |\n| VenflowUpdateSingleAsync |   815.8 μs | 15.98 μs | 31.55 μs |  0.80 |    0.04 |     - |     - |     - |      4 KB |\n|  RepoDbUpdateSingleAsync |   671.5 μs | 13.37 μs | 37.50 μs |  0.66 |    0.05 |     - |     - |     - |      7 KB |\n"
  },
  {
    "path": "docs/api/System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class IgnoresAccessChecksToAttribute\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class IgnoresAccessChecksToAttribute\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute\">\n  \n  \n  <h1 id=\"System_Runtime_CompilerServices_IgnoresAccessChecksToAttribute\" data-uid=\"System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute\" class=\"text-break\">Class IgnoresAccessChecksToAttribute\n  </h1>\n  <div class=\"markdown level0 summary\"><p><strong>Do not use this attribute, if you are not absolutely sure what it does.</strong></p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">IgnoresAccessChecksToAttribute</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"System.Runtime.CompilerServices.html\">System.Runtime.CompilerServices</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"System_Runtime_CompilerServices_IgnoresAccessChecksToAttribute_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public class IgnoresAccessChecksToAttribute : Attribute</code></pre>\n  </div>\n  <h3 id=\"constructors\">Constructors\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=System_Runtime_CompilerServices_IgnoresAccessChecksToAttribute__ctor_System_String_.md&amp;value=---%0Auid%3A%20System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.%23ctor(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Dynamic/IgnoresAccessChecksToAttribute.cs/#L13\">View Source</a>\n  </span>\n  <a id=\"System_Runtime_CompilerServices_IgnoresAccessChecksToAttribute__ctor_\" data-uid=\"System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.#ctor*\"></a>\n  <h4 id=\"System_Runtime_CompilerServices_IgnoresAccessChecksToAttribute__ctor_System_String_\" data-uid=\"System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.#ctor(System.String)\">IgnoresAccessChecksToAttribute(String)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IgnoresAccessChecksToAttribute(string assemblyName)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">assemblyName</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"properties\">Properties\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=System_Runtime_CompilerServices_IgnoresAccessChecksToAttribute_AssemblyName.md&amp;value=---%0Auid%3A%20System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.AssemblyName%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Dynamic/IgnoresAccessChecksToAttribute.cs/#L16\">View Source</a>\n  </span>\n  <a id=\"System_Runtime_CompilerServices_IgnoresAccessChecksToAttribute_AssemblyName_\" data-uid=\"System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.AssemblyName*\"></a>\n  <h4 id=\"System_Runtime_CompilerServices_IgnoresAccessChecksToAttribute_AssemblyName\" data-uid=\"System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.AssemblyName\">AssemblyName</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public string AssemblyName { get; }</code></pre>\n  </div>\n  <h5 class=\"propertyValue\">Property Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=System_Runtime_CompilerServices_IgnoresAccessChecksToAttribute.md&amp;value=---%0Auid%3A%20System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Dynamic/IgnoresAccessChecksToAttribute.cs/#L8\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/System.Runtime.CompilerServices.NullableAttribute.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class NullableAttribute\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class NullableAttribute\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"System.Runtime.CompilerServices.NullableAttribute\">\n  \n  \n  <h1 id=\"System_Runtime_CompilerServices_NullableAttribute\" data-uid=\"System.Runtime.CompilerServices.NullableAttribute\" class=\"text-break\">Class NullableAttribute\n  </h1>\n  <div class=\"markdown level0 summary\"><p><strong>Do not use this attribute, it is reserved for the compiler.</strong></p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">NullableAttribute</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"System.Runtime.CompilerServices.html\">System.Runtime.CompilerServices</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"System_Runtime_CompilerServices_NullableAttribute_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public sealed class NullableAttribute : Attribute</code></pre>\n  </div>\n  <h3 id=\"constructors\">Constructors\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=System_Runtime_CompilerServices_NullableAttribute__ctor_System_Byte_.md&amp;value=---%0Auid%3A%20System.Runtime.CompilerServices.NullableAttribute.%23ctor(System.Byte)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Dynamic/NullableAttribute.cs/#L15\">View Source</a>\n  </span>\n  <a id=\"System_Runtime_CompilerServices_NullableAttribute__ctor_\" data-uid=\"System.Runtime.CompilerServices.NullableAttribute.#ctor*\"></a>\n  <h4 id=\"System_Runtime_CompilerServices_NullableAttribute__ctor_System_Byte_\" data-uid=\"System.Runtime.CompilerServices.NullableAttribute.#ctor(System.Byte)\">NullableAttribute(Byte)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public NullableAttribute(byte flag)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.byte\">Byte</a></td>\n        <td><span class=\"parametername\">flag</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=System_Runtime_CompilerServices_NullableAttribute__ctor_System_Byte___.md&amp;value=---%0Auid%3A%20System.Runtime.CompilerServices.NullableAttribute.%23ctor(System.Byte%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Dynamic/NullableAttribute.cs/#L22\">View Source</a>\n  </span>\n  <a id=\"System_Runtime_CompilerServices_NullableAttribute__ctor_\" data-uid=\"System.Runtime.CompilerServices.NullableAttribute.#ctor*\"></a>\n  <h4 id=\"System_Runtime_CompilerServices_NullableAttribute__ctor_System_Byte___\" data-uid=\"System.Runtime.CompilerServices.NullableAttribute.#ctor(System.Byte[])\">NullableAttribute(Byte[])</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public NullableAttribute(byte[] flags)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.byte\">Byte</a>[]</td>\n        <td><span class=\"parametername\">flags</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"fields\">Fields\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=System_Runtime_CompilerServices_NullableAttribute_NullableFlags.md&amp;value=---%0Auid%3A%20System.Runtime.CompilerServices.NullableAttribute.NullableFlags%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Dynamic/NullableAttribute.cs/#L13\">View Source</a>\n  </span>\n  <h4 id=\"System_Runtime_CompilerServices_NullableAttribute_NullableFlags\" data-uid=\"System.Runtime.CompilerServices.NullableAttribute.NullableFlags\">NullableFlags</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public readonly byte[] NullableFlags</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.byte\">Byte</a>[]</td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=System_Runtime_CompilerServices_NullableAttribute.md&amp;value=---%0Auid%3A%20System.Runtime.CompilerServices.NullableAttribute%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Dynamic/NullableAttribute.cs/#L8\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/System.Runtime.CompilerServices.NullableContextAttribute.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class NullableContextAttribute\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class NullableContextAttribute\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"System.Runtime.CompilerServices.NullableContextAttribute\">\n  \n  \n  <h1 id=\"System_Runtime_CompilerServices_NullableContextAttribute\" data-uid=\"System.Runtime.CompilerServices.NullableContextAttribute\" class=\"text-break\">Class NullableContextAttribute\n  </h1>\n  <div class=\"markdown level0 summary\"><p><strong>Do not use this attribute, it is reserved for the compiler.</strong></p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">NullableContextAttribute</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"System.Runtime.CompilerServices.html\">System.Runtime.CompilerServices</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"System_Runtime_CompilerServices_NullableContextAttribute_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public sealed class NullableContextAttribute : Attribute</code></pre>\n  </div>\n  <h3 id=\"constructors\">Constructors\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=System_Runtime_CompilerServices_NullableContextAttribute__ctor_System_Byte_.md&amp;value=---%0Auid%3A%20System.Runtime.CompilerServices.NullableContextAttribute.%23ctor(System.Byte)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Dynamic/NullableContextAttribute.cs/#L15\">View Source</a>\n  </span>\n  <a id=\"System_Runtime_CompilerServices_NullableContextAttribute__ctor_\" data-uid=\"System.Runtime.CompilerServices.NullableContextAttribute.#ctor*\"></a>\n  <h4 id=\"System_Runtime_CompilerServices_NullableContextAttribute__ctor_System_Byte_\" data-uid=\"System.Runtime.CompilerServices.NullableContextAttribute.#ctor(System.Byte)\">NullableContextAttribute(Byte)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public NullableContextAttribute(byte flag)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.byte\">Byte</a></td>\n        <td><span class=\"parametername\">flag</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"fields\">Fields\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=System_Runtime_CompilerServices_NullableContextAttribute_Flag.md&amp;value=---%0Auid%3A%20System.Runtime.CompilerServices.NullableContextAttribute.Flag%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Dynamic/NullableContextAttribute.cs/#L13\">View Source</a>\n  </span>\n  <h4 id=\"System_Runtime_CompilerServices_NullableContextAttribute_Flag\" data-uid=\"System.Runtime.CompilerServices.NullableContextAttribute.Flag\">Flag</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public readonly byte Flag</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.byte\">Byte</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=System_Runtime_CompilerServices_NullableContextAttribute.md&amp;value=---%0Auid%3A%20System.Runtime.CompilerServices.NullableContextAttribute%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Dynamic/NullableContextAttribute.cs/#L8\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/System.Runtime.CompilerServices.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Namespace System.Runtime.CompilerServices\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Namespace System.Runtime.CompilerServices\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"System.Runtime.CompilerServices\">\n  \n  <h1 id=\"System_Runtime_CompilerServices\" data-uid=\"System.Runtime.CompilerServices\" class=\"text-break\">Namespace System.Runtime.CompilerServices\n  </h1>\n  <div class=\"markdown level0 summary\"></div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"markdown level0 remarks\"></div>\n    <h3 id=\"classes\">Classes\n  </h3>\n      <h4><a class=\"xref\" href=\"System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.html\">IgnoresAccessChecksToAttribute</a></h4>\n      <section><p><strong>Do not use this attribute, if you are not absolutely sure what it does.</strong></p>\n</section>\n      <h4><a class=\"xref\" href=\"System.Runtime.CompilerServices.NullableAttribute.html\">NullableAttribute</a></h4>\n      <section><p><strong>Do not use this attribute, it is reserved for the compiler.</strong></p>\n</section>\n      <h4><a class=\"xref\" href=\"System.Runtime.CompilerServices.NullableContextAttribute.html\">NullableContextAttribute</a></h4>\n      <section><p><strong>Do not use this attribute, it is reserved for the compiler.</strong></p>\n</section>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.AspNetCore.VenflowServiceCollectionExtensions.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class VenflowServiceCollectionExtensions\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class VenflowServiceCollectionExtensions\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions\">\n  \n  \n  <h1 id=\"Venflow_AspNetCore_VenflowServiceCollectionExtensions\" data-uid=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions\" class=\"text-break\">Class VenflowServiceCollectionExtensions\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Provides a set of useful extension methods for the <see cref=\"!:IServiceCollection\"></see> interface.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">VenflowServiceCollectionExtensions</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.AspNetCore.html\">Venflow.AspNetCore</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.AspNetCore.dll</h6>\n  <h5 id=\"Venflow_AspNetCore_VenflowServiceCollectionExtensions_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static class VenflowServiceCollectionExtensions : object</code></pre>\n  </div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddDatabase__1_IServiceCollection_System_Nullable_Action_IServiceProvider_Venflow_DatabaseOptionsBuilder___0____ServiceLifetime_.md&amp;value=---%0Auid%3A%20Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase%60%601(IServiceCollection%2CSystem.Nullable%7BAction%7BIServiceProvider%2CVenflow.DatabaseOptionsBuilder%7B%60%600%7D%7D%7D%2CServiceLifetime)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.AspNetCore/ServiceCollectionExtensions.cs/#L36\">View Source</a>\n  </span>\n  <a id=\"Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddDatabase_\" data-uid=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase*\"></a>\n  <h4 id=\"Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddDatabase__1_IServiceCollection_System_Nullable_Action_IServiceProvider_Venflow_DatabaseOptionsBuilder___0____ServiceLifetime_\" data-uid=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase``1(IServiceCollection,System.Nullable{Action{IServiceProvider,Venflow.DatabaseOptionsBuilder{``0}}},ServiceLifetime)\">AddDatabase&lt;TDatabase&gt;(IServiceCollection, Nullable&lt;Action&lt;IServiceProvider, DatabaseOptionsBuilder&lt;TDatabase&gt;&gt;&gt;, ServiceLifetime)</h4>\n  <div class=\"markdown level1 summary\"><p>Registers the <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TDatabase</code> as a service in the <code data-dev-comment-type=\"paramref\" class=\"paramref\">services</code>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static IServiceCollection AddDatabase&lt;TDatabase&gt;(this IServiceCollection services, Action&lt;IServiceProvider, DatabaseOptionsBuilder&lt;TDatabase&gt;&gt;? optionsAction = null, ServiceLifetime databaseLifetime = null)\n    where TDatabase : Database</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IServiceCollection</span></td>\n        <td><span class=\"parametername\">services</span></td>\n        <td><p>The <see cref=\"!:IServiceCollection\"></see> to which the database will be registered.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<span class=\"xref\">Action</span>&lt;<span class=\"xref\">IServiceProvider</span>, <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder</a>&lt;TDatabase&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">optionsAction</span></td>\n        <td><p>Allows to configure a <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder&lt;TDatabase&gt;</a> for the database. Note, that the specified <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TDatabase</code> needs to have a public constructor with a <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder&lt;TDatabase&gt;</a> parameter, which it passes to the base constructor.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">ServiceLifetime</span></td>\n        <td><span class=\"parametername\">databaseLifetime</span></td>\n        <td><p>The liftetime with which to register the <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TDatabase</code> service in the container.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IServiceCollection</span></td>\n        <td><p>The same service collection so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TDatabase</span></td>\n        <td><p>The type of the database to be registered.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddDatabase__1_IServiceCollection_System_Nullable_Action_IServiceProvider_Venflow_DatabaseOptionsBuilder___0____ServiceLifetime_ServiceLifetime_.md&amp;value=---%0Auid%3A%20Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase%60%601(IServiceCollection%2CSystem.Nullable%7BAction%7BIServiceProvider%2CVenflow.DatabaseOptionsBuilder%7B%60%600%7D%7D%7D%2CServiceLifetime%2CServiceLifetime)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.AspNetCore/ServiceCollectionExtensions.cs/#L51\">View Source</a>\n  </span>\n  <a id=\"Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddDatabase_\" data-uid=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase*\"></a>\n  <h4 id=\"Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddDatabase__1_IServiceCollection_System_Nullable_Action_IServiceProvider_Venflow_DatabaseOptionsBuilder___0____ServiceLifetime_ServiceLifetime_\" data-uid=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase``1(IServiceCollection,System.Nullable{Action{IServiceProvider,Venflow.DatabaseOptionsBuilder{``0}}},ServiceLifetime,ServiceLifetime)\">AddDatabase&lt;TDatabase&gt;(IServiceCollection, Nullable&lt;Action&lt;IServiceProvider, DatabaseOptionsBuilder&lt;TDatabase&gt;&gt;&gt;, ServiceLifetime, ServiceLifetime)</h4>\n  <div class=\"markdown level1 summary\"><p>Registers the <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TDatabase</code> as a service in the <code data-dev-comment-type=\"paramref\" class=\"paramref\">services</code>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static IServiceCollection AddDatabase&lt;TDatabase&gt;(this IServiceCollection services, Action&lt;IServiceProvider, DatabaseOptionsBuilder&lt;TDatabase&gt;&gt;? optionsAction = null, ServiceLifetime databaseLifetime = null, ServiceLifetime optionsLifetime = null)\n    where TDatabase : Database</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IServiceCollection</span></td>\n        <td><span class=\"parametername\">services</span></td>\n        <td><p>The <see cref=\"!:IServiceCollection\"></see> to which the database will be registered.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<span class=\"xref\">Action</span>&lt;<span class=\"xref\">IServiceProvider</span>, <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder</a>&lt;TDatabase&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">optionsAction</span></td>\n        <td><p>Allows to configure a <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder&lt;TDatabase&gt;</a> for the database. Note, that the specified <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TDatabase</code> needs to have a public constructor with a <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder&lt;TDatabase&gt;</a> parameter, which it passes to the base constructor.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">ServiceLifetime</span></td>\n        <td><span class=\"parametername\">databaseLifetime</span></td>\n        <td><p>The liftetime with which to register the <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TDatabase</code> service in the container.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">ServiceLifetime</span></td>\n        <td><span class=\"parametername\">optionsLifetime</span></td>\n        <td><p>The liftetime with which to register the <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder&lt;TDatabase&gt;</a> service in the container.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IServiceCollection</span></td>\n        <td><p>The same service collection so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TDatabase</span></td>\n        <td><p>The type of the database to be registered.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddDatabase__1_IServiceCollection_System_Nullable_Action_Venflow_DatabaseOptionsBuilder___0____ServiceLifetime_.md&amp;value=---%0Auid%3A%20Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase%60%601(IServiceCollection%2CSystem.Nullable%7BAction%7BVenflow.DatabaseOptionsBuilder%7B%60%600%7D%7D%7D%2CServiceLifetime)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.AspNetCore/ServiceCollectionExtensions.cs/#L22\">View Source</a>\n  </span>\n  <a id=\"Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddDatabase_\" data-uid=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase*\"></a>\n  <h4 id=\"Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddDatabase__1_IServiceCollection_System_Nullable_Action_Venflow_DatabaseOptionsBuilder___0____ServiceLifetime_\" data-uid=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase``1(IServiceCollection,System.Nullable{Action{Venflow.DatabaseOptionsBuilder{``0}}},ServiceLifetime)\">AddDatabase&lt;TDatabase&gt;(IServiceCollection, Nullable&lt;Action&lt;DatabaseOptionsBuilder&lt;TDatabase&gt;&gt;&gt;, ServiceLifetime)</h4>\n  <div class=\"markdown level1 summary\"><p>Registers the <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TDatabase</code> as a service in the <code data-dev-comment-type=\"paramref\" class=\"paramref\">services</code>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static IServiceCollection AddDatabase&lt;TDatabase&gt;(this IServiceCollection services, Action&lt;DatabaseOptionsBuilder&lt;TDatabase&gt;&gt;? optionsAction = null, ServiceLifetime databaseLifetime = null)\n    where TDatabase : Database</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IServiceCollection</span></td>\n        <td><span class=\"parametername\">services</span></td>\n        <td><p>The <see cref=\"!:IServiceCollection\"></see> to which the database will be registered.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<span class=\"xref\">Action</span>&lt;<a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder</a>&lt;TDatabase&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">optionsAction</span></td>\n        <td><p>Allows to configure a <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder&lt;TDatabase&gt;</a> for the database. Note, that the specified <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TDatabase</code> needs to have a public constructor with a <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder&lt;TDatabase&gt;</a> parameter, which it passes to the base constructor.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">ServiceLifetime</span></td>\n        <td><span class=\"parametername\">databaseLifetime</span></td>\n        <td><p>The liftetime with which to register the <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TDatabase</code> service in the container.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IServiceCollection</span></td>\n        <td><p>The same service collection so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TDatabase</span></td>\n        <td><p>The type of the database to be registered.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddVenflowJson_IServiceCollection_.md&amp;value=---%0Auid%3A%20Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddVenflowJson(IServiceCollection)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.AspNetCore/ServiceCollectionExtensions.cs/#L71\">View Source</a>\n  </span>\n  <a id=\"Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddVenflowJson_\" data-uid=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddVenflowJson*\"></a>\n  <h4 id=\"Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddVenflowJson_IServiceCollection_\" data-uid=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddVenflowJson(IServiceCollection)\">AddVenflowJson(IServiceCollection)</h4>\n  <div class=\"markdown level1 summary\"><p>Adds support for Venflows build in strongly-typed id to System.Text.Json.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static IServiceCollection AddVenflowJson(this IServiceCollection services)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IServiceCollection</span></td>\n        <td><span class=\"parametername\">services</span></td>\n        <td><p>The <see cref=\"!:IServiceCollection\"></see> to which the handler will be registered.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IServiceCollection</span></td>\n        <td><p>The same service collection so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddVenflowJson_IServiceCollection__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>If you are using Newtonsoft.Json, please use Venflow.NewtonsoftJson</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_AspNetCore_VenflowServiceCollectionExtensions.md&amp;value=---%0Auid%3A%20Venflow.AspNetCore.VenflowServiceCollectionExtensions%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.AspNetCore/ServiceCollectionExtensions.cs/#L12\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.AspNetCore.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Namespace Venflow.AspNetCore\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Namespace Venflow.AspNetCore\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.AspNetCore\">\n  \n  <h1 id=\"Venflow_AspNetCore\" data-uid=\"Venflow.AspNetCore\" class=\"text-break\">Namespace Venflow.AspNetCore\n  </h1>\n  <div class=\"markdown level0 summary\"></div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"markdown level0 remarks\"></div>\n    <h3 id=\"classes\">Classes\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions.html\">VenflowServiceCollectionExtensions</a></h4>\n      <section><p>Provides a set of useful extension methods for the <see cref=\"!:IServiceCollection\"></see> interface.</p>\n</section>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Commands.IBaseInsertRelationBuilder-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IBaseInsertRelationBuilder`2\">\n  \n  \n  <h1 id=\"Venflow_Commands_IBaseInsertRelationBuilder_2\" data-uid=\"Venflow.Commands.IBaseInsertRelationBuilder`2\" class=\"text-break\">Interface IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a base insert relation builder to configure the insert.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IInsertCommandBuilder-1.html#Venflow_Commands_IInsertCommandBuilder_1_InsertAsync__0_CancellationToken_\">IInsertCommandBuilder&lt;TRootEntity&gt;.InsertAsync(TRootEntity, CancellationToken)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IInsertCommandBuilder-1.html#Venflow_Commands_IInsertCommandBuilder_1_InsertAsync_IList__0__CancellationToken_\">IInsertCommandBuilder&lt;TRootEntity&gt;.InsertAsync(IList&lt;TRootEntity&gt;, CancellationToken)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TRootEntity&gt;, IBaseInsertRelationBuilder&lt;TRootEntity, TRootEntity&gt;&gt;.Build()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean_\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TRootEntity&gt;, IBaseInsertRelationBuilder&lt;TRootEntity, TRootEntity&gt;&gt;.Log(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback_\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TRootEntity&gt;, IBaseInsertRelationBuilder&lt;TRootEntity, TRootEntity&gt;&gt;.LogTo(LoggerCallback)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback___\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TRootEntity&gt;, IBaseInsertRelationBuilder&lt;TRootEntity, TRootEntity&gt;&gt;.LogTo(LoggerCallback[])</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IBaseInsertRelationBuilder_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt; : IInsertCommandBuilder&lt;TRootEntity&gt;, ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TRootEntity&gt;, IBaseInsertRelationBuilder&lt;TRootEntity, TRootEntity&gt;&gt; where TRelationEntity : class, new()\n    where TRootEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TRelationEntity</span></td>\n        <td><p>The type of the entity which will be joined with.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TRootEntity</span></td>\n        <td><p>The root type of the entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_Expression_Func__1___0___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseInsertRelationBuilder%602.With%60%601(Expression%7BFunc%7B%601%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IBaseInsertRelationBuilder.cs/#L26\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseInsertRelationBuilder_2_With_\" data-uid=\"Venflow.Commands.IBaseInsertRelationBuilder`2.With*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_Expression_Func__1___0___\" data-uid=\"Venflow.Commands.IBaseInsertRelationBuilder`2.With``1(Expression{Func{`1,``0}})\">With&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure the inserted relations with the current insert.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IInsertRelationBuilder&lt;TToEntity, TRootEntity&gt; With&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, TToEntity&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IInsertRelationBuilder-2.html\">IInsertRelationBuilder</a>&lt;TToEntity, TRootEntity&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the inserted entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_Expression_Func__1_IList___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseInsertRelationBuilder%602.With%60%601(Expression%7BFunc%7B%601%2CIList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IBaseInsertRelationBuilder.cs/#L35\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseInsertRelationBuilder_2_With_\" data-uid=\"Venflow.Commands.IBaseInsertRelationBuilder`2.With*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_Expression_Func__1_IList___0____\" data-uid=\"Venflow.Commands.IBaseInsertRelationBuilder`2.With``1(Expression{Func{`1,IList{``0}}})\">With&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure the inserted relations with the current insert.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IInsertRelationBuilder&lt;TToEntity, TRootEntity&gt; With&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, <span class=\"xref\">IList</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IInsertRelationBuilder-2.html\">IInsertRelationBuilder</a>&lt;TToEntity, TRootEntity&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the inserted entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_Expression_Func__1_List___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseInsertRelationBuilder%602.With%60%601(Expression%7BFunc%7B%601%2CList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IBaseInsertRelationBuilder.cs/#L44\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseInsertRelationBuilder_2_With_\" data-uid=\"Venflow.Commands.IBaseInsertRelationBuilder`2.With*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_Expression_Func__1_List___0____\" data-uid=\"Venflow.Commands.IBaseInsertRelationBuilder`2.With``1(Expression{Func{`1,List{``0}}})\">With&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure the inserted relations with the current insert.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IInsertRelationBuilder&lt;TToEntity, TRootEntity&gt; With&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, <span class=\"xref\">List</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IInsertRelationBuilder-2.html\">IInsertRelationBuilder</a>&lt;TToEntity, TRootEntity&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the inserted entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseInsertRelationBuilder_2_WithAll.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseInsertRelationBuilder%602.WithAll%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IBaseInsertRelationBuilder.cs/#L18\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseInsertRelationBuilder_2_WithAll_\" data-uid=\"Venflow.Commands.IBaseInsertRelationBuilder`2.WithAll*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseInsertRelationBuilder_2_WithAll\" data-uid=\"Venflow.Commands.IBaseInsertRelationBuilder`2.WithAll\">WithAll()</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure the current insert, to insert all populated relations which can be reached.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseInsertRelationBuilder&lt;TRootEntity, TRootEntity&gt; WithAll()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseInsertRelationBuilder-2.html\">IBaseInsertRelationBuilder</a>&lt;TRootEntity, TRootEntity&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseInsertRelationBuilder_2.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseInsertRelationBuilder%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IBaseInsertRelationBuilder.cs/#L10\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Commands.IBaseQueryRelationBuilder-3.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3\">\n  \n  \n  <h1 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3\" class=\"text-break\">Interface IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a base query relation builder to configure the query.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IPreCommandBuilder-2.html#Venflow_Commands_IPreCommandBuilder_2_AddFormatter\">IPreCommandBuilder&lt;TRootEntity, TReturn&gt;.AddFormatter()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_TrackChanges_System_Boolean_\">IQueryCommandBuilder&lt;TRootEntity, TReturn&gt;.TrackChanges(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_QueryAsync_CancellationToken_\">IQueryCommandBuilder&lt;TRootEntity, TReturn&gt;.QueryAsync(CancellationToken)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TRootEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TRootEntity, TRootEntity, TReturn&gt;&gt;.Build()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean_\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TRootEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TRootEntity, TRootEntity, TReturn&gt;&gt;.Log(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback_\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TRootEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TRootEntity, TRootEntity, TReturn&gt;&gt;.LogTo(LoggerCallback)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback___\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TRootEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TRootEntity, TRootEntity, TReturn&gt;&gt;.LogTo(LoggerCallback[])</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt; : IPreCommandBuilder&lt;TRootEntity, TReturn&gt;, IQueryCommandBuilder&lt;TRootEntity, TReturn&gt;, ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TRootEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TRootEntity, TRootEntity, TReturn&gt;&gt; where TRelationEntity : class, new()\n    where TRootEntity : class, new()\n    where TReturn : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TRelationEntity</span></td>\n        <td><p>The type of the entity which will be joined with.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TRootEntity</span></td>\n        <td><p>The root type of the entity.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TReturn</span></td>\n        <td><p>The return type of the query.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1___0___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.FullJoinWith%60%601(Expression%7BFunc%7B%601%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L115\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1___0___\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith``1(Expression{Func{`1,``0}})\">FullJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized full joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; FullJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, TToEntity&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1___0____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1_IList___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.FullJoinWith%60%601(Expression%7BFunc%7B%601%2CIList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L125\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1_IList___0____\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith``1(Expression{Func{`1,IList{``0}}})\">FullJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized full joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; FullJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, <span class=\"xref\">IList</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1_IList___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1_List___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.FullJoinWith%60%601(Expression%7BFunc%7B%601%2CList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L135\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1_List___0____\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith``1(Expression{Func{`1,List{``0}}})\">FullJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized full joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; FullJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, <span class=\"xref\">List</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1_List___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_Expression_Func__1___0___Venflow_Enums_JoinBehaviour_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.JoinWith%60%601(Expression%7BFunc%7B%601%2C%60%600%7D%7D%2CVenflow.Enums.JoinBehaviour)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L24\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_Expression_Func__1___0___Venflow_Enums_JoinBehaviour_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith``1(Expression{Func{`1,``0}},Venflow.Enums.JoinBehaviour)\">JoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt;, JoinBehaviour)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; JoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt; propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, TToEntity&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Enums.JoinBehaviour.html\">JoinBehaviour</a></td>\n        <td><span class=\"parametername\">joinBehaviour</span></td>\n        <td><p>Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_Expression_Func__1_IList___0____Venflow_Enums_JoinBehaviour_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.JoinWith%60%601(Expression%7BFunc%7B%601%2CIList%7B%60%600%7D%7D%7D%2CVenflow.Enums.JoinBehaviour)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L34\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_Expression_Func__1_IList___0____Venflow_Enums_JoinBehaviour_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith``1(Expression{Func{`1,IList{``0}}},Venflow.Enums.JoinBehaviour)\">JoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt;, JoinBehaviour)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; JoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt; propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, <span class=\"xref\">IList</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Enums.JoinBehaviour.html\">JoinBehaviour</a></td>\n        <td><span class=\"parametername\">joinBehaviour</span></td>\n        <td><p>Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_Expression_Func__1_List___0____Venflow_Enums_JoinBehaviour_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.JoinWith%60%601(Expression%7BFunc%7B%601%2CList%7B%60%600%7D%7D%7D%2CVenflow.Enums.JoinBehaviour)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L44\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_Expression_Func__1_List___0____Venflow_Enums_JoinBehaviour_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith``1(Expression{Func{`1,List{``0}}},Venflow.Enums.JoinBehaviour)\">JoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt;, JoinBehaviour)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; JoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt; propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, <span class=\"xref\">List</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Enums.JoinBehaviour.html\">JoinBehaviour</a></td>\n        <td><span class=\"parametername\">joinBehaviour</span></td>\n        <td><p>Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1___0___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.LeftJoinWith%60%601(Expression%7BFunc%7B%601%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L54\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1___0___\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith``1(Expression{Func{`1,``0}})\">LeftJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized left joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; LeftJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, TToEntity&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1___0____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1_IList___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.LeftJoinWith%60%601(Expression%7BFunc%7B%601%2CIList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L64\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1_IList___0____\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith``1(Expression{Func{`1,IList{``0}}})\">LeftJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized left joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; LeftJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, <span class=\"xref\">IList</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1_IList___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1_List___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.LeftJoinWith%60%601(Expression%7BFunc%7B%601%2CList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L74\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1_List___0____\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith``1(Expression{Func{`1,List{``0}}})\">LeftJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized left joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; LeftJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, <span class=\"xref\">List</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1_List___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1___0___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.RightJoinWith%60%601(Expression%7BFunc%7B%601%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L84\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1___0___\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith``1(Expression{Func{`1,``0}})\">RightJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized right joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; RightJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, TToEntity&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1___0____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1_IList___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.RightJoinWith%60%601(Expression%7BFunc%7B%601%2CIList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L94\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1_IList___0____\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith``1(Expression{Func{`1,IList{``0}}})\">RightJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized right joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; RightJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, <span class=\"xref\">IList</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1_IList___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1_List___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.RightJoinWith%60%601(Expression%7BFunc%7B%601%2CList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L104\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1_List___0____\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith``1(Expression{Func{`1,List{``0}}})\">RightJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized right joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; RightJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, <span class=\"xref\">List</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1_List___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L12\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Commands.IDeleteCommand-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IDeleteCommand&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IDeleteCommand&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IDeleteCommand`1\">\n  \n  \n  <h1 id=\"Venflow_Commands_IDeleteCommand_1\" data-uid=\"Venflow.Commands.IDeleteCommand`1\" class=\"text-break\">Interface IDeleteCommand&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a command which performs deletions of entities.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IDeleteCommand_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IDeleteCommand&lt;TEntity&gt; : IVenflowCommand&lt;TEntity&gt;, IAsyncDisposable where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The type of the entity which will be deleted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommand_1_DeleteAsync__0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommand%601.DeleteAsync(%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IDeleteCommand.cs/#L15\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IDeleteCommand_1_DeleteAsync_\" data-uid=\"Venflow.Commands.IDeleteCommand`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IDeleteCommand_1_DeleteAsync__0_CancellationToken_\" data-uid=\"Venflow.Commands.IDeleteCommand`1.DeleteAsync(`0,CancellationToken)\">DeleteAsync(TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes a single entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask&lt;int&gt; DeleteAsync(TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>The entity instance which should be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommand_1_DeleteAsync__0___CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommand%601.DeleteAsync(%600%5B%5D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IDeleteCommand.cs/#L43\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IDeleteCommand_1_DeleteAsync_\" data-uid=\"Venflow.Commands.IDeleteCommand`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IDeleteCommand_1_DeleteAsync__0___CancellationToken_\" data-uid=\"Venflow.Commands.IDeleteCommand`1.DeleteAsync(`0[],CancellationToken)\">DeleteAsync(TEntity[], CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes a set of entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask&lt;int&gt; DeleteAsync(TEntity[] entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td>TEntity[]</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The entity instances which should be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommand_1_DeleteAsync_IEnumerable__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommand%601.DeleteAsync(IEnumerable%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IDeleteCommand.cs/#L22\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IDeleteCommand_1_DeleteAsync_\" data-uid=\"Venflow.Commands.IDeleteCommand`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IDeleteCommand_1_DeleteAsync_IEnumerable__0__CancellationToken_\" data-uid=\"Venflow.Commands.IDeleteCommand`1.DeleteAsync(IEnumerable{`0},CancellationToken)\">DeleteAsync(IEnumerable&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes a set of entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask&lt;int&gt; DeleteAsync(IEnumerable&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IEnumerable</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The entity instances which should be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommand_1_DeleteAsync_IList__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommand%601.DeleteAsync(IList%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IDeleteCommand.cs/#L29\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IDeleteCommand_1_DeleteAsync_\" data-uid=\"Venflow.Commands.IDeleteCommand`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IDeleteCommand_1_DeleteAsync_IList__0__CancellationToken_\" data-uid=\"Venflow.Commands.IDeleteCommand`1.DeleteAsync(IList{`0},CancellationToken)\">DeleteAsync(IList&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes a set of entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask&lt;int&gt; DeleteAsync(IList&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The entity instances which should be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommand_1_DeleteAsync_List__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommand%601.DeleteAsync(List%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IDeleteCommand.cs/#L36\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IDeleteCommand_1_DeleteAsync_\" data-uid=\"Venflow.Commands.IDeleteCommand`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IDeleteCommand_1_DeleteAsync_List__0__CancellationToken_\" data-uid=\"Venflow.Commands.IDeleteCommand`1.DeleteAsync(List{`0},CancellationToken)\">DeleteAsync(List&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes a set of entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask&lt;int&gt; DeleteAsync(List&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">List</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The entity instances which should be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommand_1.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommand%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IDeleteCommand.cs/#L7\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Commands.IDeleteCommandBuilder-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IDeleteCommandBuilder&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IDeleteCommandBuilder&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1\">\n  \n  \n  <h1 id=\"Venflow_Commands_IDeleteCommandBuilder_1\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1\" class=\"text-break\">Interface IDeleteCommandBuilder&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a command builder to configure the deletion.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build\">ISpecficVenflowCommandBuilder&lt;IDeleteCommand&lt;TEntity&gt;, IDeleteCommandBuilder&lt;TEntity&gt;&gt;.Build()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean_\">ISpecficVenflowCommandBuilder&lt;IDeleteCommand&lt;TEntity&gt;, IDeleteCommandBuilder&lt;TEntity&gt;&gt;.Log(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback_\">ISpecficVenflowCommandBuilder&lt;IDeleteCommand&lt;TEntity&gt;, IDeleteCommandBuilder&lt;TEntity&gt;&gt;.LogTo(LoggerCallback)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback___\">ISpecficVenflowCommandBuilder&lt;IDeleteCommand&lt;TEntity&gt;, IDeleteCommandBuilder&lt;TEntity&gt;&gt;.LogTo(LoggerCallback[])</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IDeleteCommandBuilder_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IDeleteCommandBuilder&lt;TEntity&gt; : ISpecficVenflowCommandBuilder&lt;IDeleteCommand&lt;TEntity&gt;, IDeleteCommandBuilder&lt;TEntity&gt;&gt; where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The type of the entity which will be deleted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync__0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommandBuilder%601.DeleteAsync(%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IDeleteCommandBuilder.cs/#L15\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync__0_CancellationToken_\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(`0,CancellationToken)\">DeleteAsync(TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes a single entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask&lt;int&gt; DeleteAsync(TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>The entity instance which should be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync__0___CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommandBuilder%601.DeleteAsync(%600%5B%5D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IDeleteCommandBuilder.cs/#L43\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync__0___CancellationToken_\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(`0[],CancellationToken)\">DeleteAsync(TEntity[], CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes a set of entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask&lt;int&gt; DeleteAsync(TEntity[] entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td>TEntity[]</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The entity instances which should be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_IEnumerable__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommandBuilder%601.DeleteAsync(IEnumerable%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IDeleteCommandBuilder.cs/#L22\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_IEnumerable__0__CancellationToken_\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(IEnumerable{`0},CancellationToken)\">DeleteAsync(IEnumerable&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes a set of entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask&lt;int&gt; DeleteAsync(IEnumerable&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IEnumerable</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The entity instances which should be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_IList__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommandBuilder%601.DeleteAsync(IList%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IDeleteCommandBuilder.cs/#L29\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_IList__0__CancellationToken_\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(IList{`0},CancellationToken)\">DeleteAsync(IList&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes a set of entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask&lt;int&gt; DeleteAsync(IList&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The entity instances which should be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_List__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommandBuilder%601.DeleteAsync(List%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IDeleteCommandBuilder.cs/#L36\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_List__0__CancellationToken_\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(List{`0},CancellationToken)\">DeleteAsync(List&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes a set of entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask&lt;int&gt; DeleteAsync(List&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">List</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The entity instances which should be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommandBuilder_1.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommandBuilder%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IDeleteCommandBuilder.cs/#L7\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Commands.IInsertCommand-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IInsertCommand&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IInsertCommand&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IInsertCommand`1\">\n  \n  \n  <h1 id=\"Venflow_Commands_IInsertCommand_1\" data-uid=\"Venflow.Commands.IInsertCommand`1\" class=\"text-break\">Interface IInsertCommand&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a command which performs insertions of entities.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IInsertCommand_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IInsertCommand&lt;TEntity&gt; : IVenflowCommand&lt;TEntity&gt;, IAsyncDisposable where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The type of the entity which will be inserted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IInsertCommand_1_InsertAsync__0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IInsertCommand%601.InsertAsync(%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IInsertCommand.cs/#L15\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IInsertCommand_1_InsertAsync_\" data-uid=\"Venflow.Commands.IInsertCommand`1.InsertAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IInsertCommand_1_InsertAsync__0_CancellationToken_\" data-uid=\"Venflow.Commands.IInsertCommand`1.InsertAsync(`0,CancellationToken)\">InsertAsync(TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously inserts a single entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task&lt;int&gt; InsertAsync(TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>The entity instance which should be inserted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IInsertCommand_1_InsertAsync_IList__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IInsertCommand%601.InsertAsync(IList%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IInsertCommand.cs/#L22\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IInsertCommand_1_InsertAsync_\" data-uid=\"Venflow.Commands.IInsertCommand`1.InsertAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IInsertCommand_1_InsertAsync_IList__0__CancellationToken_\" data-uid=\"Venflow.Commands.IInsertCommand`1.InsertAsync(IList{`0},CancellationToken)\">InsertAsync(IList&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously inserts a set of entities.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task&lt;int&gt; InsertAsync(IList&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The entity instances which should be inserted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IInsertCommand_1.md&amp;value=---%0Auid%3A%20Venflow.Commands.IInsertCommand%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IInsertCommand.cs/#L7\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Commands.IInsertCommandBuilder-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IInsertCommandBuilder&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IInsertCommandBuilder&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IInsertCommandBuilder`1\">\n  \n  \n  <h1 id=\"Venflow_Commands_IInsertCommandBuilder_1\" data-uid=\"Venflow.Commands.IInsertCommandBuilder`1\" class=\"text-break\">Interface IInsertCommandBuilder&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a command builder to configure the insertion.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TEntity&gt;, IBaseInsertRelationBuilder&lt;TEntity, TEntity&gt;&gt;.Build()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean_\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TEntity&gt;, IBaseInsertRelationBuilder&lt;TEntity, TEntity&gt;&gt;.Log(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback_\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TEntity&gt;, IBaseInsertRelationBuilder&lt;TEntity, TEntity&gt;&gt;.LogTo(LoggerCallback)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback___\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TEntity&gt;, IBaseInsertRelationBuilder&lt;TEntity, TEntity&gt;&gt;.LogTo(LoggerCallback[])</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IInsertCommandBuilder_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IInsertCommandBuilder&lt;TEntity&gt; : ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TEntity&gt;, IBaseInsertRelationBuilder&lt;TEntity, TEntity&gt;&gt; where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The type of the entity which will be inserted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IInsertCommandBuilder_1_InsertAsync__0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IInsertCommandBuilder%601.InsertAsync(%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IInsertCommandBuilder.cs/#L16\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IInsertCommandBuilder_1_InsertAsync_\" data-uid=\"Venflow.Commands.IInsertCommandBuilder`1.InsertAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IInsertCommandBuilder_1_InsertAsync__0_CancellationToken_\" data-uid=\"Venflow.Commands.IInsertCommandBuilder`1.InsertAsync(`0,CancellationToken)\">InsertAsync(TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously inserts a single entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task&lt;int&gt; InsertAsync(TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>The entity instance which should be inserted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IInsertCommandBuilder_1_InsertAsync_IList__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IInsertCommandBuilder%601.InsertAsync(IList%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IInsertCommandBuilder.cs/#L23\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IInsertCommandBuilder_1_InsertAsync_\" data-uid=\"Venflow.Commands.IInsertCommandBuilder`1.InsertAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IInsertCommandBuilder_1_InsertAsync_IList__0__CancellationToken_\" data-uid=\"Venflow.Commands.IInsertCommandBuilder`1.InsertAsync(IList{`0},CancellationToken)\">InsertAsync(IList&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously inserts a set of entities.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task&lt;int&gt; InsertAsync(IList&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The entity instances which should be inserted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IInsertCommandBuilder_1.md&amp;value=---%0Auid%3A%20Venflow.Commands.IInsertCommandBuilder%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IInsertCommandBuilder.cs/#L7\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Commands.IInsertRelationBuilder-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IInsertRelationBuilder`2\">\n  \n  \n  <h1 id=\"Venflow_Commands_IInsertRelationBuilder_2\" data-uid=\"Venflow.Commands.IInsertRelationBuilder`2\" class=\"text-break\">Interface IInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a insert relation builder to configure the insert.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseInsertRelationBuilder-2.html#Venflow_Commands_IBaseInsertRelationBuilder_2_WithAll\">IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;.WithAll()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseInsertRelationBuilder-2.html#Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_Expression_Func__1___0___\">IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;.With&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseInsertRelationBuilder-2.html#Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_Expression_Func__1_IList___0____\">IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;.With&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseInsertRelationBuilder-2.html#Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_Expression_Func__1_List___0____\">IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;.With&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IInsertCommandBuilder-1.html#Venflow_Commands_IInsertCommandBuilder_1_InsertAsync__0_CancellationToken_\">IInsertCommandBuilder&lt;TRootEntity&gt;.InsertAsync(TRootEntity, CancellationToken)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IInsertCommandBuilder-1.html#Venflow_Commands_IInsertCommandBuilder_1_InsertAsync_IList__0__CancellationToken_\">IInsertCommandBuilder&lt;TRootEntity&gt;.InsertAsync(IList&lt;TRootEntity&gt;, CancellationToken)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TRootEntity&gt;, IBaseInsertRelationBuilder&lt;TRootEntity, TRootEntity&gt;&gt;.Build()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean_\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TRootEntity&gt;, IBaseInsertRelationBuilder&lt;TRootEntity, TRootEntity&gt;&gt;.Log(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback_\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TRootEntity&gt;, IBaseInsertRelationBuilder&lt;TRootEntity, TRootEntity&gt;&gt;.LogTo(LoggerCallback)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback___\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TRootEntity&gt;, IBaseInsertRelationBuilder&lt;TRootEntity, TRootEntity&gt;&gt;.LogTo(LoggerCallback[])</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IInsertRelationBuilder_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt; : IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;, IInsertCommandBuilder&lt;TRootEntity&gt;, ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TRootEntity&gt;, IBaseInsertRelationBuilder&lt;TRootEntity, TRootEntity&gt;&gt; where TRelationEntity : class, new()\n    where TRootEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TRelationEntity</span></td>\n        <td><p>The type of the entity which will be inserted with.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TRootEntity</span></td>\n        <td><p>The root type of the entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IInsertRelationBuilder_2_AndWith__1_Expression_Func__0___0___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IInsertRelationBuilder%602.AndWith%60%601(Expression%7BFunc%7B%600%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IInsertRelationBuilder.cs/#L20\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IInsertRelationBuilder_2_AndWith_\" data-uid=\"Venflow.Commands.IInsertRelationBuilder`2.AndWith*\"></a>\n  <h4 id=\"Venflow_Commands_IInsertRelationBuilder_2_AndWith__1_Expression_Func__0___0___\" data-uid=\"Venflow.Commands.IInsertRelationBuilder`2.AndWith``1(Expression{Func{`0,``0}})\">AndWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, TToEntity&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure the inserted relations with the current insert.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IInsertRelationBuilder&lt;TToEntity, TRootEntity&gt; AndWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, TToEntity&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, TToEntity&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IInsertRelationBuilder-2.html\">IInsertRelationBuilder</a>&lt;TToEntity, TRootEntity&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the inserted entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IInsertRelationBuilder_2_AndWith__1_Expression_Func__0_IList___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IInsertRelationBuilder%602.AndWith%60%601(Expression%7BFunc%7B%600%2CIList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IInsertRelationBuilder.cs/#L29\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IInsertRelationBuilder_2_AndWith_\" data-uid=\"Venflow.Commands.IInsertRelationBuilder`2.AndWith*\"></a>\n  <h4 id=\"Venflow_Commands_IInsertRelationBuilder_2_AndWith__1_Expression_Func__0_IList___0____\" data-uid=\"Venflow.Commands.IInsertRelationBuilder`2.AndWith``1(Expression{Func{`0,IList{``0}}})\">AndWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, IList&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure the inserted relations with the current insert.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IInsertRelationBuilder&lt;TToEntity, TRootEntity&gt; AndWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, IList&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, <span class=\"xref\">IList</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IInsertRelationBuilder-2.html\">IInsertRelationBuilder</a>&lt;TToEntity, TRootEntity&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the inserted entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IInsertRelationBuilder_2_AndWith__1_Expression_Func__0_List___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IInsertRelationBuilder%602.AndWith%60%601(Expression%7BFunc%7B%600%2CList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IInsertRelationBuilder.cs/#L38\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IInsertRelationBuilder_2_AndWith_\" data-uid=\"Venflow.Commands.IInsertRelationBuilder`2.AndWith*\"></a>\n  <h4 id=\"Venflow_Commands_IInsertRelationBuilder_2_AndWith__1_Expression_Func__0_List___0____\" data-uid=\"Venflow.Commands.IInsertRelationBuilder`2.AndWith``1(Expression{Func{`0,List{``0}}})\">AndWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, List&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure the inserted relations with the current insert.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IInsertRelationBuilder&lt;TToEntity, TRootEntity&gt; AndWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, List&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, <span class=\"xref\">List</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IInsertRelationBuilder-2.html\">IInsertRelationBuilder</a>&lt;TToEntity, TRootEntity&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the inserted entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IInsertRelationBuilder_2.md&amp;value=---%0Auid%3A%20Venflow.Commands.IInsertRelationBuilder%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IInsertRelationBuilder.cs/#L10\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Commands.IPreCommandBuilder-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IPreCommandBuilder&lt;TEntity, TReturn&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IPreCommandBuilder&lt;TEntity, TReturn&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IPreCommandBuilder`2\">\n  \n  \n  <h1 id=\"Venflow_Commands_IPreCommandBuilder_2\" data-uid=\"Venflow.Commands.IPreCommandBuilder`2\" class=\"text-break\">Interface IPreCommandBuilder&lt;TEntity, TReturn&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a pre-command builder to configure the query.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_TrackChanges_System_Boolean_\">IQueryCommandBuilder&lt;TEntity, TReturn&gt;.TrackChanges(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_QueryAsync_CancellationToken_\">IQueryCommandBuilder&lt;TEntity, TReturn&gt;.QueryAsync(CancellationToken)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt;&gt;.Build()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean_\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt;&gt;.Log(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback_\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt;&gt;.LogTo(LoggerCallback)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback___\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt;&gt;.LogTo(LoggerCallback[])</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IPreCommandBuilder_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IPreCommandBuilder&lt;TEntity, TReturn&gt; : IQueryCommandBuilder&lt;TEntity, TReturn&gt;, ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt;&gt; where TEntity : class, new()\n    where TReturn : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The type of the entity which will be queried.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TReturn</span></td>\n        <td><p>The return type of the query.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IPreCommandBuilder_2_AddFormatter.md&amp;value=---%0Auid%3A%20Venflow.Commands.IPreCommandBuilder%602.AddFormatter%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IPreCommandBuilder.cs/#L14\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IPreCommandBuilder_2_AddFormatter_\" data-uid=\"Venflow.Commands.IPreCommandBuilder`2.AddFormatter*\"></a>\n  <h4 id=\"Venflow_Commands_IPreCommandBuilder_2_AddFormatter\" data-uid=\"Venflow.Commands.IPreCommandBuilder`2.AddFormatter\">AddFormatter()</h4>\n  <div class=\"markdown level1 summary\"><p>Defines if <strong>&gt;&lt;</strong> should be replaced by automatically generated joins in your SQL.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt; AddFormatter()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IPreCommandBuilder_2.md&amp;value=---%0Auid%3A%20Venflow.Commands.IPreCommandBuilder%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IPreCommandBuilder.cs/#L8\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Commands.IQueryCommand-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IQueryCommand&lt;TEntity, TReturn&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IQueryCommand&lt;TEntity, TReturn&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IQueryCommand`2\">\n  \n  \n  <h1 id=\"Venflow_Commands_IQueryCommand_2\" data-uid=\"Venflow.Commands.IQueryCommand`2\" class=\"text-break\">Interface IQueryCommand&lt;TEntity, TReturn&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a command which performs queries and materialize the results to entities.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IQueryCommand_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IQueryCommand&lt;TEntity, TReturn&gt; : IVenflowCommand&lt;TEntity&gt;, IAsyncDisposable where TEntity : class, new()\n    where TReturn : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The type of the entity which represents the result of the query.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TReturn</span></td>\n        <td><p>The return type of the query.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryCommand_2_PrepareAsync_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryCommand%602.PrepareAsync(CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IQueryCommand.cs/#L14\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryCommand_2_PrepareAsync_\" data-uid=\"Venflow.Commands.IQueryCommand`2.PrepareAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryCommand_2_PrepareAsync_CancellationToken_\" data-uid=\"Venflow.Commands.IQueryCommand`2.PrepareAsync(CancellationToken)\">PrepareAsync(CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously prepares the current SQL command on the database.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task&lt;IQueryCommand&lt;TEntity, TReturn&gt;&gt; PrepareAsync(CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"Venflow.Commands.IQueryCommand-2.html\">IQueryCommand</a>&lt;TEntity, TReturn&gt;&gt;</td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryCommand_2_QueryAsync_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryCommand%602.QueryAsync(CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IQueryCommand.cs/#L26\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryCommand_2_QueryAsync_\" data-uid=\"Venflow.Commands.IQueryCommand`2.QueryAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryCommand_2_QueryAsync_CancellationToken_\" data-uid=\"Venflow.Commands.IQueryCommand`2.QueryAsync(CancellationToken)\">QueryAsync(CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously performs queries and materializes the result.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task&lt;TReturn&gt; QueryAsync(CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;TReturn&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the materialized result of the query; <span class=\"xref\">null</span> otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryCommand_2_UnprepareAsync_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryCommand%602.UnprepareAsync(CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IQueryCommand.cs/#L19\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryCommand_2_UnprepareAsync_\" data-uid=\"Venflow.Commands.IQueryCommand`2.UnprepareAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryCommand_2_UnprepareAsync_CancellationToken_\" data-uid=\"Venflow.Commands.IQueryCommand`2.UnprepareAsync(CancellationToken)\">UnprepareAsync(CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously un-prepares the current SQL command on the database.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task&lt;IQueryCommand&lt;TEntity, TReturn&gt;&gt; UnprepareAsync(CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"Venflow.Commands.IQueryCommand-2.html\">IQueryCommand</a>&lt;TEntity, TReturn&gt;&gt;</td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryCommand_2.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryCommand%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IQueryCommand.cs/#L8\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Commands.IQueryCommandBuilder-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IQueryCommandBuilder&lt;TEntity, TReturn&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IQueryCommandBuilder&lt;TEntity, TReturn&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IQueryCommandBuilder`2\">\n  \n  \n  <h1 id=\"Venflow_Commands_IQueryCommandBuilder_2\" data-uid=\"Venflow.Commands.IQueryCommandBuilder`2\" class=\"text-break\">Interface IQueryCommandBuilder&lt;TEntity, TReturn&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a command builder to configure the query.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt;&gt;.Build()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean_\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt;&gt;.Log(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback_\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt;&gt;.LogTo(LoggerCallback)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback___\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt;&gt;.LogTo(LoggerCallback[])</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IQueryCommandBuilder_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IQueryCommandBuilder&lt;TEntity, TReturn&gt; : ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt;&gt; where TEntity : class, new()\n    where TReturn : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The type of the entity which will be queried.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TReturn</span></td>\n        <td><p>The return type of the query.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryCommandBuilder_2_QueryAsync_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryCommandBuilder%602.QueryAsync(CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IQueryCommandBuilder.cs/#L24\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryCommandBuilder_2_QueryAsync_\" data-uid=\"Venflow.Commands.IQueryCommandBuilder`2.QueryAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryCommandBuilder_2_QueryAsync_CancellationToken_\" data-uid=\"Venflow.Commands.IQueryCommandBuilder`2.QueryAsync(CancellationToken)\">QueryAsync(CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously performs queries and materializes the result.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task&lt;TReturn&gt; QueryAsync(CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;TReturn&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the materialized result of the query; <span class=\"xref\">null</span> otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryCommandBuilder_2_TrackChanges_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryCommandBuilder%602.TrackChanges(System.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IQueryCommandBuilder.cs/#L17\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryCommandBuilder_2_TrackChanges_\" data-uid=\"Venflow.Commands.IQueryCommandBuilder`2.TrackChanges*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryCommandBuilder_2_TrackChanges_System_Boolean_\" data-uid=\"Venflow.Commands.IQueryCommandBuilder`2.TrackChanges(System.Boolean)\">TrackChanges(Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Determines whether or not to return change tracked entities from the query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt; TrackChanges(bool trackChanges = true)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">trackChanges</span></td>\n        <td><p>Determines if change tracking should be applied.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryCommandBuilder_2.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryCommandBuilder%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IQueryCommandBuilder.cs/#L8\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Commands.IQueryRelationBuilder-3.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3\">\n  \n  \n  <h1 id=\"Venflow_Commands_IQueryRelationBuilder_3\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3\" class=\"text-break\">Interface IQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a query relation builder to configure the query.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_Expression_Func__1___0___Venflow_Enums_JoinBehaviour_\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.JoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt;, JoinBehaviour)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_Expression_Func__1_IList___0____Venflow_Enums_JoinBehaviour_\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.JoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt;, JoinBehaviour)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_Expression_Func__1_List___0____Venflow_Enums_JoinBehaviour_\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.JoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt;, JoinBehaviour)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1___0___\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.LeftJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1_IList___0____\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.LeftJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1_List___0____\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.LeftJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1___0___\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.RightJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1_IList___0____\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.RightJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1_List___0____\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.RightJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1___0___\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.FullJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1_IList___0____\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.FullJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1_List___0____\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.FullJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IPreCommandBuilder-2.html#Venflow_Commands_IPreCommandBuilder_2_AddFormatter\">IPreCommandBuilder&lt;TRootEntity, TReturn&gt;.AddFormatter()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_TrackChanges_System_Boolean_\">IQueryCommandBuilder&lt;TRootEntity, TReturn&gt;.TrackChanges(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_QueryAsync_CancellationToken_\">IQueryCommandBuilder&lt;TRootEntity, TReturn&gt;.QueryAsync(CancellationToken)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TRootEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TRootEntity, TRootEntity, TReturn&gt;&gt;.Build()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean_\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TRootEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TRootEntity, TRootEntity, TReturn&gt;&gt;.Log(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback_\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TRootEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TRootEntity, TRootEntity, TReturn&gt;&gt;.LogTo(LoggerCallback)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback___\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TRootEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TRootEntity, TRootEntity, TReturn&gt;&gt;.LogTo(LoggerCallback[])</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IQueryRelationBuilder_3_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt; : IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;, IPreCommandBuilder&lt;TRootEntity, TReturn&gt;, IQueryCommandBuilder&lt;TRootEntity, TReturn&gt;, ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TRootEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TRootEntity, TRootEntity, TReturn&gt;&gt; where TRelationEntity : class, new()\n    where TRootEntity : class, new()\n    where TReturn : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TRelationEntity</span></td>\n        <td><p>The type of the entity which will be joined with.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TRootEntity</span></td>\n        <td><p>The root type of the entity.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TReturn</span></td>\n        <td><p>The return type of the query.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_Expression_Func__0___0___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenFullWith%60%601(Expression%7BFunc%7B%600%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IQueryRelationBuilder.cs/#L114\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_Expression_Func__0___0___\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith``1(Expression{Func{`0,``0}})\">ThenFullWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, TToEntity&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized full joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenFullWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, TToEntity&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, TToEntity&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_Expression_Func__0___0____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_Expression_Func__0_IList___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenFullWith%60%601(Expression%7BFunc%7B%600%2CIList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IQueryRelationBuilder.cs/#L124\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_Expression_Func__0_IList___0____\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith``1(Expression{Func{`0,IList{``0}}})\">ThenFullWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, IList&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized full joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenFullWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, IList&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, <span class=\"xref\">IList</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_Expression_Func__0_IList___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_Expression_Func__0_List___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenFullWith%60%601(Expression%7BFunc%7B%600%2CList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IQueryRelationBuilder.cs/#L134\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_Expression_Func__0_List___0____\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith``1(Expression{Func{`0,List{``0}}})\">ThenFullWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, List&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized full joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenFullWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, List&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, <span class=\"xref\">List</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_Expression_Func__0_List___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_Expression_Func__0___0___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenLeftWith%60%601(Expression%7BFunc%7B%600%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IQueryRelationBuilder.cs/#L54\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_Expression_Func__0___0___\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith``1(Expression{Func{`0,``0}})\">ThenLeftWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, TToEntity&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized left joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenLeftWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, TToEntity&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, TToEntity&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_Expression_Func__0___0____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_Expression_Func__0_IList___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenLeftWith%60%601(Expression%7BFunc%7B%600%2CIList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IQueryRelationBuilder.cs/#L64\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_Expression_Func__0_IList___0____\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith``1(Expression{Func{`0,IList{``0}}})\">ThenLeftWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, IList&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized left joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenLeftWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, IList&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, <span class=\"xref\">IList</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_Expression_Func__0_IList___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_Expression_Func__0_List___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenLeftWith%60%601(Expression%7BFunc%7B%600%2CList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IQueryRelationBuilder.cs/#L74\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_Expression_Func__0_List___0____\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith``1(Expression{Func{`0,List{``0}}})\">ThenLeftWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, List&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized left joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenLeftWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, List&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, <span class=\"xref\">List</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_Expression_Func__0_List___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_Expression_Func__0___0___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenRightWith%60%601(Expression%7BFunc%7B%600%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IQueryRelationBuilder.cs/#L84\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_Expression_Func__0___0___\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith``1(Expression{Func{`0,``0}})\">ThenRightWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, TToEntity&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized right joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenRightWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, TToEntity&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, TToEntity&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_Expression_Func__0___0____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_Expression_Func__0_IList___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenRightWith%60%601(Expression%7BFunc%7B%600%2CIList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IQueryRelationBuilder.cs/#L94\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_Expression_Func__0_IList___0____\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith``1(Expression{Func{`0,IList{``0}}})\">ThenRightWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, IList&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized right joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenRightWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, IList&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, <span class=\"xref\">IList</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_Expression_Func__0_IList___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_Expression_Func__0_List___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenRightWith%60%601(Expression%7BFunc%7B%600%2CList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IQueryRelationBuilder.cs/#L104\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_Expression_Func__0_List___0____\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith``1(Expression{Func{`0,List{``0}}})\">ThenRightWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, List&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized right joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenRightWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, List&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, <span class=\"xref\">List</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_Expression_Func__0_List___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenWith__1_Expression_Func__0___0___Venflow_Enums_JoinBehaviour_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenWith%60%601(Expression%7BFunc%7B%600%2C%60%600%7D%7D%2CVenflow.Enums.JoinBehaviour)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IQueryRelationBuilder.cs/#L24\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenWith__1_Expression_Func__0___0___Venflow_Enums_JoinBehaviour_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenWith``1(Expression{Func{`0,``0}},Venflow.Enums.JoinBehaviour)\">ThenWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, TToEntity&gt;&gt;, JoinBehaviour)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, TToEntity&gt;&gt; propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, TToEntity&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Enums.JoinBehaviour.html\">JoinBehaviour</a></td>\n        <td><span class=\"parametername\">joinBehaviour</span></td>\n        <td><p>Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenWith__1_Expression_Func__0_IList___0____Venflow_Enums_JoinBehaviour_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenWith%60%601(Expression%7BFunc%7B%600%2CIList%7B%60%600%7D%7D%7D%2CVenflow.Enums.JoinBehaviour)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IQueryRelationBuilder.cs/#L34\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenWith__1_Expression_Func__0_IList___0____Venflow_Enums_JoinBehaviour_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenWith``1(Expression{Func{`0,IList{``0}}},Venflow.Enums.JoinBehaviour)\">ThenWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, IList&lt;TToEntity&gt;&gt;&gt;, JoinBehaviour)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, IList&lt;TToEntity&gt;&gt;&gt; propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, <span class=\"xref\">IList</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Enums.JoinBehaviour.html\">JoinBehaviour</a></td>\n        <td><span class=\"parametername\">joinBehaviour</span></td>\n        <td><p>Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenWith__1_Expression_Func__0_List___0____Venflow_Enums_JoinBehaviour_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenWith%60%601(Expression%7BFunc%7B%600%2CList%7B%60%600%7D%7D%7D%2CVenflow.Enums.JoinBehaviour)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IQueryRelationBuilder.cs/#L44\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenWith__1_Expression_Func__0_List___0____Venflow_Enums_JoinBehaviour_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenWith``1(Expression{Func{`0,List{``0}}},Venflow.Enums.JoinBehaviour)\">ThenWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, List&lt;TToEntity&gt;&gt;&gt;, JoinBehaviour)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, List&lt;TToEntity&gt;&gt;&gt; propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, <span class=\"xref\">List</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Enums.JoinBehaviour.html\">JoinBehaviour</a></td>\n        <td><span class=\"parametername\">joinBehaviour</span></td>\n        <td><p>Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IQueryRelationBuilder.cs/#L12\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Commands.ISpecficVenflowCommandBuilder-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface ISpecficVenflowCommandBuilder&lt;TCommand, TLogResult&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface ISpecficVenflowCommandBuilder&lt;TCommand, TLogResult&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.ISpecficVenflowCommandBuilder`2\">\n  \n  \n  <h1 id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2\" data-uid=\"Venflow.Commands.ISpecficVenflowCommandBuilder`2\" class=\"text-break\">Interface ISpecficVenflowCommandBuilder&lt;TCommand, TLogResult&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a generic command builder for all CRUD operations to finalize the configuration.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface ISpecficVenflowCommandBuilder&lt;out TCommand, out TLogResult&gt;\n    where TCommand : class where TLogResult : class</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TCommand</span></td>\n        <td><p>The type of the command which is being configured.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TLogResult</span></td>\n        <td><p>The type of the command which is being configured after configuring the loggers.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build.md&amp;value=---%0Auid%3A%20Venflow.Commands.ISpecficVenflowCommandBuilder%602.Build%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/ISpecficVenflowCommandBuilder.cs/#L16\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build_\" data-uid=\"Venflow.Commands.ISpecficVenflowCommandBuilder`2.Build*\"></a>\n  <h4 id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build\" data-uid=\"Venflow.Commands.ISpecficVenflowCommandBuilder`2.Build\">Build()</h4>\n  <div class=\"markdown level1 summary\"><p>Finalizes the ongoing configuration process and builds the command.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">TCommand Build()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TCommand</span></td>\n        <td><p>The built command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.Commands.ISpecficVenflowCommandBuilder%602.Log(System.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/ISpecficVenflowCommandBuilder.cs/#L24\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_\" data-uid=\"Venflow.Commands.ISpecficVenflowCommandBuilder`2.Log*\"></a>\n  <h4 id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean_\" data-uid=\"Venflow.Commands.ISpecficVenflowCommandBuilder`2.Log(System.Boolean)\">Log(Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Determines whether or not to log the command to the provided loggers.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">TLogResult Log(bool shouldLog = true)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">shouldLog</span></td>\n        <td><p>Determines if this command should be logged. This is helpful, if you configured the default logging behavior to be <span class=\"xref\">true</span>.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TLogResult</span></td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You can configure the loggers in the <a class=\"xref\" href=\"Venflow.Database.html#Venflow_Database_Configure_Venflow_DatabaseConfigurationOptionsBuilder_\">Configure(DatabaseConfigurationOptionsBuilder)</a> method with the <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html#Venflow_DatabaseOptionsBuilder_1_LogTo_Venflow_LoggerCallback_\">LogTo(LoggerCallback)</a> methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback_.md&amp;value=---%0Auid%3A%20Venflow.Commands.ISpecficVenflowCommandBuilder%602.LogTo(Venflow.LoggerCallback)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/ISpecficVenflowCommandBuilder.cs/#L32\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_\" data-uid=\"Venflow.Commands.ISpecficVenflowCommandBuilder`2.LogTo*\"></a>\n  <h4 id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback_\" data-uid=\"Venflow.Commands.ISpecficVenflowCommandBuilder`2.LogTo(Venflow.LoggerCallback)\">LogTo(LoggerCallback)</h4>\n  <div class=\"markdown level1 summary\"><p>Logs the command to the provided <code data-dev-comment-type=\"paramref\" class=\"paramref\">logger</code>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">TLogResult LogTo(LoggerCallback logger)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.LoggerCallback.html\">LoggerCallback</a></td>\n        <td><span class=\"parametername\">logger</span></td>\n        <td><p>The logger which is being used for this command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TLogResult</span></td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Be aware, that once you configure a logger on a command, the global configured loggers won't be executed for this command.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback___.md&amp;value=---%0Auid%3A%20Venflow.Commands.ISpecficVenflowCommandBuilder%602.LogTo(Venflow.LoggerCallback%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/ISpecficVenflowCommandBuilder.cs/#L40\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_\" data-uid=\"Venflow.Commands.ISpecficVenflowCommandBuilder`2.LogTo*\"></a>\n  <h4 id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback___\" data-uid=\"Venflow.Commands.ISpecficVenflowCommandBuilder`2.LogTo(Venflow.LoggerCallback[])\">LogTo(LoggerCallback[])</h4>\n  <div class=\"markdown level1 summary\"><p>Logs the command to the provided <code data-dev-comment-type=\"paramref\" class=\"paramref\">loggers</code>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">TLogResult LogTo(params LoggerCallback[] loggers)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.LoggerCallback.html\">LoggerCallback</a>[]</td>\n        <td><span class=\"parametername\">loggers</span></td>\n        <td><p>The loggers which are being used for this command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TLogResult</span></td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Be aware, that once you configure one or more loggers on a command, the global configured loggers won't be executed for this command.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_ISpecficVenflowCommandBuilder_2.md&amp;value=---%0Auid%3A%20Venflow.Commands.ISpecficVenflowCommandBuilder%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/ISpecficVenflowCommandBuilder.cs/#L8\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Commands.IUpdateCommand-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IUpdateCommand&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IUpdateCommand&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IUpdateCommand`1\">\n  \n  \n  <h1 id=\"Venflow_Commands_IUpdateCommand_1\" data-uid=\"Venflow.Commands.IUpdateCommand`1\" class=\"text-break\">Interface IUpdateCommand&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a command which performs updates of entities.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IUpdateCommand_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IUpdateCommand&lt;TEntity&gt; : IVenflowCommand&lt;TEntity&gt;, IAsyncDisposable where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The type of the entity which will be updated.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IUpdateCommand_1_UpdateAsync__0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IUpdateCommand%601.UpdateAsync(%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IUpdateCommand.cs/#L15\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IUpdateCommand_1_UpdateAsync_\" data-uid=\"Venflow.Commands.IUpdateCommand`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IUpdateCommand_1_UpdateAsync__0_CancellationToken_\" data-uid=\"Venflow.Commands.IUpdateCommand`1.UpdateAsync(`0,CancellationToken)\">UpdateAsync(TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates a single entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask UpdateAsync(TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>The change tracked entity instance which should be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IUpdateCommand_1_UpdateAsync_IEnumerable__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IUpdateCommand%601.UpdateAsync(IEnumerable%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IUpdateCommand.cs/#L22\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IUpdateCommand_1_UpdateAsync_\" data-uid=\"Venflow.Commands.IUpdateCommand`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IUpdateCommand_1_UpdateAsync_IEnumerable__0__CancellationToken_\" data-uid=\"Venflow.Commands.IUpdateCommand`1.UpdateAsync(IEnumerable{`0},CancellationToken)\">UpdateAsync(IEnumerable&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates a set of entities.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask UpdateAsync(IEnumerable&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IEnumerable</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The change tracked entity instances which should be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IUpdateCommand_1_UpdateAsync_IList__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IUpdateCommand%601.UpdateAsync(IList%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IUpdateCommand.cs/#L29\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IUpdateCommand_1_UpdateAsync_\" data-uid=\"Venflow.Commands.IUpdateCommand`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IUpdateCommand_1_UpdateAsync_IList__0__CancellationToken_\" data-uid=\"Venflow.Commands.IUpdateCommand`1.UpdateAsync(IList{`0},CancellationToken)\">UpdateAsync(IList&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates a set of entities.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask UpdateAsync(IList&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The change tracked entity instances which should be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IUpdateCommand_1.md&amp;value=---%0Auid%3A%20Venflow.Commands.IUpdateCommand%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IUpdateCommand.cs/#L7\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Commands.IUpdateCommandBuilder-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IUpdateCommandBuilder&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IUpdateCommandBuilder&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1\">\n  \n  \n  <h1 id=\"Venflow_Commands_IUpdateCommandBuilder_1\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1\" class=\"text-break\">Interface IUpdateCommandBuilder&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a command builder to configure the update.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build\">ISpecficVenflowCommandBuilder&lt;IUpdateCommand&lt;TEntity&gt;, IUpdateCommandBuilder&lt;TEntity&gt;&gt;.Build()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean_\">ISpecficVenflowCommandBuilder&lt;IUpdateCommand&lt;TEntity&gt;, IUpdateCommandBuilder&lt;TEntity&gt;&gt;.Log(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback_\">ISpecficVenflowCommandBuilder&lt;IUpdateCommand&lt;TEntity&gt;, IUpdateCommandBuilder&lt;TEntity&gt;&gt;.LogTo(LoggerCallback)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback___\">ISpecficVenflowCommandBuilder&lt;IUpdateCommand&lt;TEntity&gt;, IUpdateCommandBuilder&lt;TEntity&gt;&gt;.LogTo(LoggerCallback[])</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IUpdateCommandBuilder_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IUpdateCommandBuilder&lt;TEntity&gt; : ISpecficVenflowCommandBuilder&lt;IUpdateCommand&lt;TEntity&gt;, IUpdateCommandBuilder&lt;TEntity&gt;&gt; where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The type of the entity which will be updated.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync__0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IUpdateCommandBuilder%601.UpdateAsync(%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IUpdateCommandBuilder.cs/#L16\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync__0_CancellationToken_\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(`0,CancellationToken)\">UpdateAsync(TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates a single entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask UpdateAsync(TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>The change tracked entity instance which should be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync__0___CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IUpdateCommandBuilder%601.UpdateAsync(%600%5B%5D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IUpdateCommandBuilder.cs/#L37\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync__0___CancellationToken_\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(`0[],CancellationToken)\">UpdateAsync(TEntity[], CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates a set of entities.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask UpdateAsync(TEntity[] entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td>TEntity[]</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The change tracked entity instances which should be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_IEnumerable__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IUpdateCommandBuilder%601.UpdateAsync(IEnumerable%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IUpdateCommandBuilder.cs/#L23\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_IEnumerable__0__CancellationToken_\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(IEnumerable{`0},CancellationToken)\">UpdateAsync(IEnumerable&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates a set of entities.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask UpdateAsync(IEnumerable&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IEnumerable</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The change tracked entity instances which should be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_IList__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IUpdateCommandBuilder%601.UpdateAsync(IList%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IUpdateCommandBuilder.cs/#L44\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_IList__0__CancellationToken_\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(IList{`0},CancellationToken)\">UpdateAsync(IList&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates a set of entities.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask UpdateAsync(IList&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The change tracked entity instances which should be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_List__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IUpdateCommandBuilder%601.UpdateAsync(List%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IUpdateCommandBuilder.cs/#L30\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_List__0__CancellationToken_\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(List{`0},CancellationToken)\">UpdateAsync(List&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates a set of entities.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask UpdateAsync(List&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">List</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The change tracked entity instances which should be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IUpdateCommandBuilder_1.md&amp;value=---%0Auid%3A%20Venflow.Commands.IUpdateCommandBuilder%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IUpdateCommandBuilder.cs/#L7\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Commands.IVenflowCommand-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IVenflowCommand&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IVenflowCommand&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IVenflowCommand`1\">\n  \n  \n  <h1 id=\"Venflow_Commands_IVenflowCommand_1\" data-uid=\"Venflow.Commands.IVenflowCommand`1\" class=\"text-break\">Interface IVenflowCommand&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>The base command for all other CRUD commands.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IVenflowCommand_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IVenflowCommand&lt;TEntity&gt; : IAsyncDisposable where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The type of the entity which is being used in the current operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommand_1.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommand%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommand.cs/#L7\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Commands.IVenflowCommandBuilder-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IVenflowCommandBuilder&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IVenflowCommandBuilder&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1\">\n  \n  \n  <h1 id=\"Venflow_Commands_IVenflowCommandBuilder_1\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1\" class=\"text-break\">Interface IVenflowCommandBuilder&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a generic command builder to create any CRUD command.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IVenflowCommandBuilder_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IVenflowCommandBuilder&lt;TEntity&gt;\n    where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The type of the entity which will be used for the command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_Delete.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.Delete%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L171\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_Delete_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.Delete*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_Delete\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.Delete\">Delete()</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new delete command builder.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IDeleteCommandBuilder&lt;TEntity&gt; Delete()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IDeleteCommandBuilder-1.html\">IDeleteCommandBuilder</a>&lt;TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a delete command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_Insert.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.Insert%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L166\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_Insert_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.Insert*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_Insert\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.Insert\">Insert()</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new insert command builder.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseInsertRelationBuilder&lt;TEntity, TEntity&gt; Insert()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseInsertRelationBuilder-2.html\">IBaseInsertRelationBuilder</a>&lt;TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a insert command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_Expression_Func__0_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryBatch(Expression%7BFunc%7B%600%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L98\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_Expression_Func__0_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch(Expression{Func{`0,FormattableString}})\">QueryBatch(Expression&lt;Func&lt;TEntity, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch(Expression&lt;Func&lt;TEntity, FormattableString&gt;&gt; sql)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_System_String_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryBatch(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L91\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_System_String_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch(System.String)\">QueryBatch(String)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command builder, which expects a set of primary rows to be returned. <strong>This API does not support string interpolation!</strong> If you need to pass parameters with the query, either use <a class=\"xref\" href=\"Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_System_String_NpgsqlParameter___\">QuerySingle(String, NpgsqlParameter[])</a> or <a class=\"xref\" href=\"Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedSingle_FormattableString_\">QueryInterpolatedSingle(FormattableString)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch(string sql)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_System_String_NpgsqlParameter___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryBatch(System.String%2CNpgsqlParameter%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L154\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_System_String_NpgsqlParameter___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch(System.String,NpgsqlParameter[])\">QueryBatch(String, NpgsqlParameter[])</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command builder, which expects a set of primary rows to be returned.<strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <a class=\"xref\" href=\"Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedSingle_FormattableString_\">QueryInterpolatedSingle(FormattableString)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch(string sql, params NpgsqlParameter[] parameters)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">NpgsqlParameter</span>[]</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>A set of <see cref=\"!:NpgsqlParameter\"></see> which contain parameters for the <code data-dev-comment-type=\"paramref\" class=\"paramref\">sql</code> command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__1_Expression_Func__0___0_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryBatch%60%601(Expression%7BFunc%7B%600%2C%60%600%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L104\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__1_Expression_Func__0___0_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``1(Expression{Func{`0,``0,FormattableString}})\">QueryBatch&lt;TOne&gt;(Expression&lt;Func&lt;TEntity, TOne, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne&gt;(Expression&lt;Func&lt;TEntity, TOne, FormattableString&gt;&gt; sql)\n    where TOne : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__2_Expression_Func__0___0___1_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryBatch%60%602(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L110\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__2_Expression_Func__0___0___1_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``2(Expression{Func{`0,``0,``1,FormattableString}})\">QueryBatch&lt;TOne, TTwo&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, TTwo&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__3_Expression_Func__0___0___1___2_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryBatch%60%603(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L116\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__3_Expression_Func__0___0___1___2_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``3(Expression{Func{`0,``0,``1,``2,FormattableString}})\">QueryBatch&lt;TOne, TTwo, TThree&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, TTwo, TThree&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__4_Expression_Func__0___0___1___2___3_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryBatch%60%604(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L122\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__4_Expression_Func__0___0___1___2___3_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``4(Expression{Func{`0,``0,``1,``2,``3,FormattableString}})\">QueryBatch&lt;TOne, TTwo, TThree, TFour&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, TTwo, TThree, TFour&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()\n    where TFour : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, TFour, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__5_Expression_Func__0___0___1___2___3___4_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryBatch%60%605(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L128\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__5_Expression_Func__0___0___1___2___3___4_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``5(Expression{Func{`0,``0,``1,``2,``3,``4,FormattableString}})\">QueryBatch&lt;TOne, TTwo, TThree, TFour, TFive&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, TTwo, TThree, TFour, TFive&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryBatch%60%606(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L134\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``6(Expression{Func{`0,``0,``1,``2,``3,``4,``5,FormattableString}})\">QueryBatch&lt;TOne, TTwo, TThree, TFour, TFive, TSix&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, TTwo, TThree, TFour, TFive, TSix&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryBatch%60%607(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2C%60%606%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L140\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``7(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,FormattableString}})\">QueryBatch&lt;TOne, TTwo, TThree, TFour, TFive, TSix, TSeven&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, TTwo, TThree, TFour, TFive, TSix, TSeven&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()\n    where TSeven : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSeven</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryBatch%60%608(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2C%60%606%2C%60%607%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L146\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``8(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,``7,FormattableString}})\">QueryBatch&lt;TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()\n    where TSeven : class, new()\n    where TEight : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSeven</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TEight</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedBatch_FormattableString_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryInterpolatedBatch(FormattableString)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L160\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedBatch_FormattableString_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedBatch(FormattableString)\">QueryInterpolatedBatch(FormattableString)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command builder, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryInterpolatedBatch(FormattableString sql)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">FormattableString</span></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedSingle_FormattableString_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryInterpolatedSingle(FormattableString)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L85\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedSingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedSingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedSingle_FormattableString_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedSingle(FormattableString)\">QueryInterpolatedSingle(FormattableString)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command builder, which expects a single returned primary row. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QueryInterpolatedSingle(FormattableString sql)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">FormattableString</span></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_Expression_Func__0_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QuerySingle(Expression%7BFunc%7B%600%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L23\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_Expression_Func__0_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle(Expression{Func{`0,FormattableString}})\">QuerySingle(Expression&lt;Func&lt;TEntity, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle(Expression&lt;Func&lt;TEntity, FormattableString&gt;&gt; sql)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_System_String_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QuerySingle(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L16\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_System_String_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle(System.String)\">QuerySingle(String)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a query command with a single result. <strong>This API does not support string interpolation!</strong> If you need to pass parameters with the query, either use <a class=\"xref\" href=\"Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_System_String_NpgsqlParameter___\">QuerySingle(String, NpgsqlParameter[])</a> or <a class=\"xref\" href=\"Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedSingle_FormattableString_\">QueryInterpolatedSingle(FormattableString)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle(string sql)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_System_String_NpgsqlParameter___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QuerySingle(System.String%2CNpgsqlParameter%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L79\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_System_String_NpgsqlParameter___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle(System.String,NpgsqlParameter[])\">QuerySingle(String, NpgsqlParameter[])</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command builder, which expects a single returned primary row. <strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <a class=\"xref\" href=\"Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedSingle_FormattableString_\">QueryInterpolatedSingle(FormattableString)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle(string sql, params NpgsqlParameter[] parameters)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">NpgsqlParameter</span>[]</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>A set of <see cref=\"!:NpgsqlParameter\"></see> which contain parameters for the <code data-dev-comment-type=\"paramref\" class=\"paramref\">sql</code> command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__1_Expression_Func__0___0_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QuerySingle%60%601(Expression%7BFunc%7B%600%2C%60%600%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L29\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__1_Expression_Func__0___0_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``1(Expression{Func{`0,``0,FormattableString}})\">QuerySingle&lt;TOne&gt;(Expression&lt;Func&lt;TEntity, TOne, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne&gt;(Expression&lt;Func&lt;TEntity, TOne, FormattableString&gt;&gt; sql)\n    where TOne : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__2_Expression_Func__0___0___1_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QuerySingle%60%602(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L35\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__2_Expression_Func__0___0___1_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``2(Expression{Func{`0,``0,``1,FormattableString}})\">QuerySingle&lt;TOne, TTwo&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, TTwo&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__3_Expression_Func__0___0___1___2_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QuerySingle%60%603(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L41\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__3_Expression_Func__0___0___1___2_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``3(Expression{Func{`0,``0,``1,``2,FormattableString}})\">QuerySingle&lt;TOne, TTwo, TThree&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, TTwo, TThree&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__4_Expression_Func__0___0___1___2___3_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QuerySingle%60%604(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L47\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__4_Expression_Func__0___0___1___2___3_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``4(Expression{Func{`0,``0,``1,``2,``3,FormattableString}})\">QuerySingle&lt;TOne, TTwo, TThree, TFour&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, TTwo, TThree, TFour&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()\n    where TFour : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, TFour, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__5_Expression_Func__0___0___1___2___3___4_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QuerySingle%60%605(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L53\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__5_Expression_Func__0___0___1___2___3___4_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``5(Expression{Func{`0,``0,``1,``2,``3,``4,FormattableString}})\">QuerySingle&lt;TOne, TTwo, TThree, TFour, TFive&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, TTwo, TThree, TFour, TFive&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QuerySingle%60%606(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L59\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``6(Expression{Func{`0,``0,``1,``2,``3,``4,``5,FormattableString}})\">QuerySingle&lt;TOne, TTwo, TThree, TFour, TFive, TSix&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, TTwo, TThree, TFour, TFive, TSix&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QuerySingle%60%607(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2C%60%606%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L65\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``7(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,FormattableString}})\">QuerySingle&lt;TOne, TTwo, TThree, TFour, TFive, TSix, TSeven&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, TTwo, TThree, TFour, TFive, TSix, TSeven&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()\n    where TSeven : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSeven</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QuerySingle%60%608(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2C%60%606%2C%60%607%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L71\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``8(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,``7,FormattableString}})\">QuerySingle&lt;TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()\n    where TSeven : class, new()\n    where TEight : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSeven</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TEight</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_Update.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.Update%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L177\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_Update_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.Update*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_Update\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.Update\">Update()</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new update command builder.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IUpdateCommandBuilder&lt;TEntity&gt; Update()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IUpdateCommandBuilder-1.html\">IUpdateCommandBuilder</a>&lt;TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a update command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Commands/IVenflowCommandBuilder.cs/#L10\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Commands.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Namespace Venflow.Commands\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Namespace Venflow.Commands\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands\">\n  \n  <h1 id=\"Venflow_Commands\" data-uid=\"Venflow.Commands\" class=\"text-break\">Namespace Venflow.Commands\n  </h1>\n  <div class=\"markdown level0 summary\"></div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"markdown level0 remarks\"></div>\n    <h3 id=\"interfaces\">Interfaces\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IBaseInsertRelationBuilder-2.html\">IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;</a></h4>\n      <section><p>Represents a base insert relation builder to configure the insert.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;</a></h4>\n      <section><p>Represents a base query relation builder to configure the query.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IDeleteCommand-1.html\">IDeleteCommand&lt;TEntity&gt;</a></h4>\n      <section><p>Represents a command which performs deletions of entities.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IDeleteCommandBuilder-1.html\">IDeleteCommandBuilder&lt;TEntity&gt;</a></h4>\n      <section><p>Represents a command builder to configure the deletion.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IInsertCommand-1.html\">IInsertCommand&lt;TEntity&gt;</a></h4>\n      <section><p>Represents a command which performs insertions of entities.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IInsertCommandBuilder-1.html\">IInsertCommandBuilder&lt;TEntity&gt;</a></h4>\n      <section><p>Represents a command builder to configure the insertion.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IInsertRelationBuilder-2.html\">IInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;</a></h4>\n      <section><p>Represents a insert relation builder to configure the insert.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IPreCommandBuilder-2.html\">IPreCommandBuilder&lt;TEntity, TReturn&gt;</a></h4>\n      <section><p>Represents a pre-command builder to configure the query.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IQueryCommand-2.html\">IQueryCommand&lt;TEntity, TReturn&gt;</a></h4>\n      <section><p>Represents a command which performs queries and materialize the results to entities.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IQueryCommandBuilder-2.html\">IQueryCommandBuilder&lt;TEntity, TReturn&gt;</a></h4>\n      <section><p>Represents a command builder to configure the query.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;</a></h4>\n      <section><p>Represents a query relation builder to configure the query.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html\">ISpecficVenflowCommandBuilder&lt;TCommand, TLogResult&gt;</a></h4>\n      <section><p>Represents a generic command builder for all CRUD operations to finalize the configuration.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IUpdateCommand-1.html\">IUpdateCommand&lt;TEntity&gt;</a></h4>\n      <section><p>Represents a command which performs updates of entities.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IUpdateCommandBuilder-1.html\">IUpdateCommandBuilder&lt;TEntity&gt;</a></h4>\n      <section><p>Represents a command builder to configure the update.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IVenflowCommand-1.html\">IVenflowCommand&lt;TEntity&gt;</a></h4>\n      <section><p>The base command for all other CRUD commands.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IVenflowCommandBuilder-1.html\">IVenflowCommandBuilder&lt;TEntity&gt;</a></h4>\n      <section><p>Represents a generic command builder to create any CRUD command.</p>\n</section>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Database.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class Database\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class Database\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Database\">\n  \n  \n  <h1 id=\"Venflow_Database\" data-uid=\"Venflow.Database\" class=\"text-break\">Class Database\n  </h1>\n  <div class=\"markdown level0 summary\"><p>A <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance represents a session with the database and can be used to perform CRUD operations with your tables and entities.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">Database</span></div>\n  </div>\n  <div classs=\"implements\">\n    <h5>Implements</h5>\n    <div><span class=\"xref\">IDisposable</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Database_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public abstract class Database : IAsyncDisposable, IDisposable</code></pre>\n  </div>\n  <h5 id=\"Venflow_Database_remarks\"><strong>Remarks</strong></h5>\n  <div class=\"markdown level0 remarks\"><p>Typically you create a class that derives from <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> and contains <a class=\"xref\" href=\"Venflow.Table-1.html\">Table&lt;TEntity&gt;</a> properties for each entity in the Database. All the <a class=\"xref\" href=\"Venflow.Table-1.html\">Table&lt;TEntity&gt;</a> properties must have a public setter, they are automatically initialized when the instance of the derived type is created.</p>\n</div>\n  <h3 id=\"constructors\">Constructors\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database__ctor_DatabaseOptionsBuilder_.md&amp;value=---%0Auid%3A%20Venflow.Database.%23ctor(DatabaseOptionsBuilder)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Database.cs/#L53\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database__ctor_\" data-uid=\"Venflow.Database.#ctor*\"></a>\n  <h4 id=\"Venflow_Database__ctor_DatabaseOptionsBuilder_\" data-uid=\"Venflow.Database.#ctor(DatabaseOptionsBuilder)\">Database(DatabaseOptionsBuilder)</h4>\n  <div class=\"markdown level1 summary\"><p>Initializes a new instance of the <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> class using the specified <code data-dev-comment-type=\"paramref\" class=\"paramref\">optionsBuilder</code>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">protected Database(DatabaseOptionsBuilder optionsBuilder)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">DatabaseOptionsBuilder</span></td>\n        <td><span class=\"parametername\">optionsBuilder</span></td>\n        <td><p>The options builder containing all the necessary information for the <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database__ctor_System_String_.md&amp;value=---%0Auid%3A%20Venflow.Database.%23ctor(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Database.cs/#L44\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database__ctor_\" data-uid=\"Venflow.Database.#ctor*\"></a>\n  <h4 id=\"Venflow_Database__ctor_System_String_\" data-uid=\"Venflow.Database.#ctor(System.String)\">Database(String)</h4>\n  <div class=\"markdown level1 summary\"><p>Initializes a new instance of the <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> class using the specified <code data-dev-comment-type=\"paramref\" class=\"paramref\">connectionString</code>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">protected Database(string connectionString)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">connectionString</span></td>\n        <td><p>The connection string to your PostgreSQL Database.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_BeginTransactionAsync_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Database.BeginTransactionAsync(CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Database.cs/#L75\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_BeginTransactionAsync_\" data-uid=\"Venflow.Database.BeginTransactionAsync*\"></a>\n  <h4 id=\"Venflow_Database_BeginTransactionAsync_CancellationToken_\" data-uid=\"Venflow.Database.BeginTransactionAsync(CancellationToken)\">BeginTransactionAsync(CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously begins a new transaction.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask&lt;IDatabaseTransaction&gt; BeginTransactionAsync(CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"Venflow.IDatabaseTransaction.html\">IDatabaseTransaction</a>&gt;</td>\n        <td><p>A task that represents the asynchronous operation. The task result contains the newly created transaction.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Database_BeginTransactionAsync_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Be aware, that this method will not create a new transaction on every call. It will only create a new one, if the old one is disposed or not available.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_BeginTransactionAsync_IsolationLevel_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Database.BeginTransactionAsync(IsolationLevel%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Database.cs/#L106\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_BeginTransactionAsync_\" data-uid=\"Venflow.Database.BeginTransactionAsync*\"></a>\n  <h4 id=\"Venflow_Database_BeginTransactionAsync_IsolationLevel_CancellationToken_\" data-uid=\"Venflow.Database.BeginTransactionAsync(IsolationLevel,CancellationToken)\">BeginTransactionAsync(IsolationLevel, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously begins a new transaction.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask&lt;IDatabaseTransaction&gt; BeginTransactionAsync(IsolationLevel isolationLevel, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IsolationLevel</span></td>\n        <td><span class=\"parametername\">isolationLevel</span></td>\n        <td><p>The isolation level under which the transaction should run.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"Venflow.IDatabaseTransaction.html\">IDatabaseTransaction</a>&gt;</td>\n        <td><p>A task that represents the asynchronous operation. The task result contains the newly created transaction.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Database_BeginTransactionAsync_IsolationLevel_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Be aware, that this method will not create a new transaction on every call. It will only create a new one, if the old one is disposed or not available.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_Configure_Venflow_DatabaseConfigurationOptionsBuilder_.md&amp;value=---%0Auid%3A%20Venflow.Database.Configure(Venflow.DatabaseConfigurationOptionsBuilder)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Database.cs/#L413\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_Configure_\" data-uid=\"Venflow.Database.Configure*\"></a>\n  <h4 id=\"Venflow_Database_Configure_Venflow_DatabaseConfigurationOptionsBuilder_\" data-uid=\"Venflow.Database.Configure(Venflow.DatabaseConfigurationOptionsBuilder)\">Configure(DatabaseConfigurationOptionsBuilder)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows for further configuration of the <a class=\"xref\" href=\"Venflow.Database.html\">Database</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">protected virtual void Configure(DatabaseConfigurationOptionsBuilder optionsBuilder)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.DatabaseConfigurationOptionsBuilder.html\">DatabaseConfigurationOptionsBuilder</a></td>\n        <td><span class=\"parametername\">optionsBuilder</span></td>\n        <td><p>A builder instance used to further configure the <a class=\"xref\" href=\"Venflow.Database.html\">Database</a>.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_Custom__1.md&amp;value=---%0Auid%3A%20Venflow.Database.Custom%60%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Database.cs/#L310\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_Custom_\" data-uid=\"Venflow.Database.Custom*\"></a>\n  <h4 id=\"Venflow_Database_Custom__1\" data-uid=\"Venflow.Database.Custom``1\">Custom&lt;TEntity&gt;()</h4>\n  <div class=\"markdown level1 summary\"><p>Allows for queries against an entity which isn't usually defined, this is usually an entity which hasn't got a table in your database.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public TableBase&lt;TEntity&gt; Custom&lt;TEntity&gt;()\n    where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.TableBase-1.html\">TableBase</a>&lt;TEntity&gt;</td>\n        <td><p>A <a class=\"xref\" href=\"Venflow.TableBase-1.html\">TableBase&lt;TEntity&gt;</a> instance from which queries can be executed.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Database_Custom__1_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>The <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> should always be used with this <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance, otherwise the model has to be generated multiple times.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_Dispose.md&amp;value=---%0Auid%3A%20Venflow.Database.Dispose%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Database.cs/#L436\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_Dispose_\" data-uid=\"Venflow.Database.Dispose*\"></a>\n  <h4 id=\"Venflow_Database_Dispose\" data-uid=\"Venflow.Database.Dispose\">Dispose()</h4>\n  <div class=\"markdown level1 summary\"><p>Releases the allocated resources for this context. Also closes the underlying connection, if open.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public void Dispose()</code></pre>\n  </div>\n  <h5 id=\"Venflow_Database_Dispose_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>If you are in an asynchronous context you should consider using <a class=\"xref\" href=\"Venflow.Database.html#Venflow_Database_DisposeAsync\">DisposeAsync()</a> instead.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_DisposeAsync.md&amp;value=---%0Auid%3A%20Venflow.Database.DisposeAsync%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Database.cs/#L419\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_DisposeAsync_\" data-uid=\"Venflow.Database.DisposeAsync*\"></a>\n  <h4 id=\"Venflow_Database_DisposeAsync\" data-uid=\"Venflow.Database.DisposeAsync\">DisposeAsync()</h4>\n  <div class=\"markdown level1 summary\"><p>Releases the allocated resources for this context. Also closes the underlying connection, if open.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask DisposeAsync()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A value task representing the asynchronous operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_ExecuteAsync_System_String_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Database.ExecuteAsync(System.String%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Database.cs/#L150\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_ExecuteAsync_\" data-uid=\"Venflow.Database.ExecuteAsync*\"></a>\n  <h4 id=\"Venflow_Database_ExecuteAsync_System_String_CancellationToken_\" data-uid=\"Venflow.Database.ExecuteAsync(System.String,CancellationToken)\">ExecuteAsync(String, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;int&gt; ExecuteAsync(string sql, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The SQL to execute.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Database_ExecuteAsync_System_String_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents a <see cref=\"!:NpgsqlCommand.ExecuteNonQueryAsync(CancellationToken)\"></see> call.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_ExecuteAsync_System_String_IList_NpgsqlParameter__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Database.ExecuteAsync(System.String%2CIList%7BNpgsqlParameter%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Database.cs/#L167\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_ExecuteAsync_\" data-uid=\"Venflow.Database.ExecuteAsync*\"></a>\n  <h4 id=\"Venflow_Database_ExecuteAsync_System_String_IList_NpgsqlParameter__CancellationToken_\" data-uid=\"Venflow.Database.ExecuteAsync(System.String,IList{NpgsqlParameter},CancellationToken)\">ExecuteAsync(String, IList&lt;NpgsqlParameter&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;int&gt; ExecuteAsync(string sql, IList&lt;NpgsqlParameter&gt; parameters, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The SQL to execute.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;<span class=\"xref\">NpgsqlParameter</span>&gt;</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>The SQL Parameters which are being used for the current command.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Database_ExecuteAsync_System_String_IList_NpgsqlParameter__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents a <see cref=\"!:NpgsqlCommand.ExecuteNonQueryAsync(CancellationToken)\"></see> call.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_ExecuteAsync_System_String_NpgsqlParameter___.md&amp;value=---%0Auid%3A%20Venflow.Database.ExecuteAsync(System.String%2CNpgsqlParameter%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Database.cs/#L188\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_ExecuteAsync_\" data-uid=\"Venflow.Database.ExecuteAsync*\"></a>\n  <h4 id=\"Venflow_Database_ExecuteAsync_System_String_NpgsqlParameter___\" data-uid=\"Venflow.Database.ExecuteAsync(System.String,NpgsqlParameter[])\">ExecuteAsync(String, NpgsqlParameter[])</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;int&gt; ExecuteAsync(string sql, params NpgsqlParameter[] parameters)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The SQL to execute.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">NpgsqlParameter</span>[]</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>The SQL Parameters which are being used for the current command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Database_ExecuteAsync_System_String_NpgsqlParameter____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents a <see cref=\"!:System.Data.Common.DbCommand.ExecuteNonQueryAsync()\"></see> call.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_ExecuteAsync__1_System_String_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Database.ExecuteAsync%60%601(System.String%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Database.cs/#L229\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_ExecuteAsync_\" data-uid=\"Venflow.Database.ExecuteAsync*\"></a>\n  <h4 id=\"Venflow_Database_ExecuteAsync__1_System_String_CancellationToken_\" data-uid=\"Venflow.Database.ExecuteAsync``1(System.String,CancellationToken)\">ExecuteAsync&lt;T&gt;(String, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;T&gt; ExecuteAsync&lt;T&gt;(string sql, CancellationToken cancellationToken = null)\n    where T : struct</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The SQL to execute.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;T&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the value of the scalar command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">T</span></td>\n        <td><p>The type of the scalar result.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Database_ExecuteAsync__1_System_String_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents a <see cref=\"!:NpgsqlCommand.ExecuteScalarAsync(CancellationToken)\"></see> call.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_ExecuteAsync__1_System_String_IList_NpgsqlParameter__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Database.ExecuteAsync%60%601(System.String%2CIList%7BNpgsqlParameter%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Database.cs/#L247\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_ExecuteAsync_\" data-uid=\"Venflow.Database.ExecuteAsync*\"></a>\n  <h4 id=\"Venflow_Database_ExecuteAsync__1_System_String_IList_NpgsqlParameter__CancellationToken_\" data-uid=\"Venflow.Database.ExecuteAsync``1(System.String,IList{NpgsqlParameter},CancellationToken)\">ExecuteAsync&lt;T&gt;(String, IList&lt;NpgsqlParameter&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;T&gt; ExecuteAsync&lt;T&gt;(string sql, IList&lt;NpgsqlParameter&gt; parameters, CancellationToken cancellationToken = null)\n    where T : struct</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The SQL to execute.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;<span class=\"xref\">NpgsqlParameter</span>&gt;</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>The SQL Parameters which are being used for the current command.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;T&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the value of the scalar command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">T</span></td>\n        <td><p>The type of the scalar result.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Database_ExecuteAsync__1_System_String_IList_NpgsqlParameter__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents a <see cref=\"!:NpgsqlCommand.ExecuteScalarAsync(CancellationToken)\"></see> call.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_ExecuteAsync__1_System_String_NpgsqlParameter___.md&amp;value=---%0Auid%3A%20Venflow.Database.ExecuteAsync%60%601(System.String%2CNpgsqlParameter%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Database.cs/#L269\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_ExecuteAsync_\" data-uid=\"Venflow.Database.ExecuteAsync*\"></a>\n  <h4 id=\"Venflow_Database_ExecuteAsync__1_System_String_NpgsqlParameter___\" data-uid=\"Venflow.Database.ExecuteAsync``1(System.String,NpgsqlParameter[])\">ExecuteAsync&lt;T&gt;(String, NpgsqlParameter[])</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;T&gt; ExecuteAsync&lt;T&gt;(string sql, params NpgsqlParameter[] parameters)\n    where T : struct</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The SQL to execute.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">NpgsqlParameter</span>[]</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>The SQL Parameters which are being used for the current command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;T&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the value of the scalar command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">T</span></td>\n        <td><p>The type of the scalar result.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Database_ExecuteAsync__1_System_String_NpgsqlParameter____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents a <see cref=\"!:System.Data.Common.DbCommand.ExecuteScalarAsync()\"></see> call.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_ExecuteInterpolatedAsync_FormattableString_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Database.ExecuteInterpolatedAsync(FormattableString%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Database.cs/#L209\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_ExecuteInterpolatedAsync_\" data-uid=\"Venflow.Database.ExecuteInterpolatedAsync*\"></a>\n  <h4 id=\"Venflow_Database_ExecuteInterpolatedAsync_FormattableString_CancellationToken_\" data-uid=\"Venflow.Database.ExecuteInterpolatedAsync(FormattableString,CancellationToken)\">ExecuteInterpolatedAsync(FormattableString, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously executes a command against the current Database. This method does automatically parameterize queries from an interpolated string.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;int&gt; ExecuteInterpolatedAsync(FormattableString sql, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">FormattableString</span></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The interpolated SQL to execute.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Database_ExecuteInterpolatedAsync_FormattableString_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents a <see cref=\"!:System.Data.Common.DbCommand.ExecuteNonQueryAsync()\"></see> call.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_ExecuteInterpolatedAsync__1_FormattableString_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Database.ExecuteInterpolatedAsync%60%601(FormattableString%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Database.cs/#L291\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_ExecuteInterpolatedAsync_\" data-uid=\"Venflow.Database.ExecuteInterpolatedAsync*\"></a>\n  <h4 id=\"Venflow_Database_ExecuteInterpolatedAsync__1_FormattableString_CancellationToken_\" data-uid=\"Venflow.Database.ExecuteInterpolatedAsync``1(FormattableString,CancellationToken)\">ExecuteInterpolatedAsync&lt;T&gt;(FormattableString, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously executes a command against the current Database. This method does automatically parameterize queries from an interpolated string.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;T&gt; ExecuteInterpolatedAsync&lt;T&gt;(FormattableString sql, CancellationToken cancellationToken = null)\n    where T : struct</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">FormattableString</span></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The interpolated SQL to execute.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;T&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the value of the scalar command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">T</span></td>\n        <td><p>The type of the scalar result.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Database_ExecuteInterpolatedAsync__1_FormattableString_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents a <see cref=\"!:System.Data.Common.DbCommand.ExecuteScalarAsync()\"></see> call.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_GetConnection.md&amp;value=---%0Auid%3A%20Venflow.Database.GetConnection%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Database.cs/#L346\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_GetConnection_\" data-uid=\"Venflow.Database.GetConnection*\"></a>\n  <h4 id=\"Venflow_Database_GetConnection\" data-uid=\"Venflow.Database.GetConnection\">GetConnection()</h4>\n  <div class=\"markdown level1 summary\"><p>Gets or creates a new connections, if none got created yet.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public NpgsqlConnection GetConnection()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">NpgsqlConnection</span></td>\n        <td><p>the <see cref=\"!:NpgsqlConnection\"></see>.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"implements\">Implements</h3>\n  <div>\n      <span class=\"xref\">IDisposable</span>\n  </div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database.md&amp;value=---%0Auid%3A%20Venflow.Database%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Database.cs/#L26\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.DatabaseConfigurationOptionsBuilder.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class DatabaseConfigurationOptionsBuilder\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class DatabaseConfigurationOptionsBuilder\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.DatabaseConfigurationOptionsBuilder\">\n  \n  \n  <h1 id=\"Venflow_DatabaseConfigurationOptionsBuilder\" data-uid=\"Venflow.DatabaseConfigurationOptionsBuilder\" class=\"text-break\">Class DatabaseConfigurationOptionsBuilder\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Provides an option builder to further <em>statically</em> configure a <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">DatabaseConfigurationOptionsBuilder</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_DatabaseConfigurationOptionsBuilder_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public class DatabaseConfigurationOptionsBuilder : object</code></pre>\n  </div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_DatabaseConfigurationOptionsBuilder_RegisterPostgresEnum__1_System_Nullable_System_String__System_Nullable_INpgsqlNameTranslator__.md&amp;value=---%0Auid%3A%20Venflow.DatabaseConfigurationOptionsBuilder.RegisterPostgresEnum%60%601(System.Nullable%7BSystem.String%7D%2CSystem.Nullable%7BINpgsqlNameTranslator%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/DatabaseConfigurationOptionsBuilder.cs/#L90\">View Source</a>\n  </span>\n  <a id=\"Venflow_DatabaseConfigurationOptionsBuilder_RegisterPostgresEnum_\" data-uid=\"Venflow.DatabaseConfigurationOptionsBuilder.RegisterPostgresEnum*\"></a>\n  <h4 id=\"Venflow_DatabaseConfigurationOptionsBuilder_RegisterPostgresEnum__1_System_Nullable_System_String__System_Nullable_INpgsqlNameTranslator__\" data-uid=\"Venflow.DatabaseConfigurationOptionsBuilder.RegisterPostgresEnum``1(System.Nullable{System.String},System.Nullable{INpgsqlNameTranslator})\">RegisterPostgresEnum&lt;TEnum&gt;(Nullable&lt;String&gt;, Nullable&lt;INpgsqlNameTranslator&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Maps a PostgreSQL enum to a CLR enum.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public DatabaseConfigurationOptionsBuilder RegisterPostgresEnum&lt;TEnum&gt;(string? name = null, INpgsqlNameTranslator? npgsqlNameTranslator = null)\n    where TEnum : struct, Enum</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a>&gt;</td>\n        <td><span class=\"parametername\">name</span></td>\n        <td><p>The name of the enum in PostgreSQL, if none used it will try to convert the name of the CLR enum e.g. 'FooBar' to 'foo_bar'</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<span class=\"xref\">INpgsqlNameTranslator</span>&gt;</td>\n        <td><span class=\"parametername\">npgsqlNameTranslator</span></td>\n        <td><p>A component which will be used to translate CLR names (e.g. SomeClass) into database names (e.g. some_class). Defaults to <see cref=\"!:Npgsql.NameTranslation.NpgsqlSnakeCaseNameTranslator\"></see>.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.DatabaseConfigurationOptionsBuilder.html\">DatabaseConfigurationOptionsBuilder</a></td>\n        <td><p>The same builder instance so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEnum</span></td>\n        <td><p>The type of the enum.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_DatabaseConfigurationOptionsBuilder_SetNamingConvention_INpgsqlNameTranslator_.md&amp;value=---%0Auid%3A%20Venflow.DatabaseConfigurationOptionsBuilder.SetNamingConvention(INpgsqlNameTranslator)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/DatabaseConfigurationOptionsBuilder.cs/#L76\">View Source</a>\n  </span>\n  <a id=\"Venflow_DatabaseConfigurationOptionsBuilder_SetNamingConvention_\" data-uid=\"Venflow.DatabaseConfigurationOptionsBuilder.SetNamingConvention*\"></a>\n  <h4 id=\"Venflow_DatabaseConfigurationOptionsBuilder_SetNamingConvention_INpgsqlNameTranslator_\" data-uid=\"Venflow.DatabaseConfigurationOptionsBuilder.SetNamingConvention(INpgsqlNameTranslator)\">SetNamingConvention(INpgsqlNameTranslator)</h4>\n  <div class=\"markdown level1 summary\"><p>Sets the default naming convention to be used for entity table and column names.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public DatabaseConfigurationOptionsBuilder SetNamingConvention(INpgsqlNameTranslator npgsqlNameTranslator)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">INpgsqlNameTranslator</span></td>\n        <td><span class=\"parametername\">npgsqlNameTranslator</span></td>\n        <td><p>An implementation of <see cref=\"!:INpgsqlNameTranslator\"></see> to be used as the default for name translation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.DatabaseConfigurationOptionsBuilder.html\">DatabaseConfigurationOptionsBuilder</a></td>\n        <td><p>The same builder instance so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_DatabaseConfigurationOptionsBuilder_SetNamingConvention__1.md&amp;value=---%0Auid%3A%20Venflow.DatabaseConfigurationOptionsBuilder.SetNamingConvention%60%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/DatabaseConfigurationOptionsBuilder.cs/#L65\">View Source</a>\n  </span>\n  <a id=\"Venflow_DatabaseConfigurationOptionsBuilder_SetNamingConvention_\" data-uid=\"Venflow.DatabaseConfigurationOptionsBuilder.SetNamingConvention*\"></a>\n  <h4 id=\"Venflow_DatabaseConfigurationOptionsBuilder_SetNamingConvention__1\" data-uid=\"Venflow.DatabaseConfigurationOptionsBuilder.SetNamingConvention``1\">SetNamingConvention&lt;T&gt;()</h4>\n  <div class=\"markdown level1 summary\"><p>Sets the default naming convention to be used for entity table and column names.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public DatabaseConfigurationOptionsBuilder SetNamingConvention&lt;T&gt;()\n    where T : INpgsqlNameTranslator, new()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.DatabaseConfigurationOptionsBuilder.html\">DatabaseConfigurationOptionsBuilder</a></td>\n        <td><p>The same builder instance so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">T</span></td>\n        <td><p>An implementation of <see cref=\"!:INpgsqlNameTranslator\"></see> to be used as the default for name translation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations_Assembly_.md&amp;value=---%0Auid%3A%20Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations(Assembly)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/DatabaseConfigurationOptionsBuilder.cs/#L40\">View Source</a>\n  </span>\n  <a id=\"Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations_\" data-uid=\"Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations*\"></a>\n  <h4 id=\"Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations_Assembly_\" data-uid=\"Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations(Assembly)\">UseConfigurations(Assembly)</h4>\n  <div class=\"markdown level1 summary\"><p>Adds the assembly to the <a class=\"xref\" href=\"Venflow.Modeling.Definitions.EntityConfiguration-1.html\">EntityConfiguration&lt;TEntity&gt;</a> lookup list.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public DatabaseConfigurationOptionsBuilder UseConfigurations(Assembly assembly)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Assembly</span></td>\n        <td><span class=\"parametername\">assembly</span></td>\n        <td><p>The assembly which should be added to the lookup list.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.DatabaseConfigurationOptionsBuilder.html\">DatabaseConfigurationOptionsBuilder</a></td>\n        <td><p>An object that can be used to configure the current <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations_Assembly__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>If you add a custom configuration location, the assembly of the database type will not be automatically included.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations_Assembly___.md&amp;value=---%0Auid%3A%20Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations(Assembly%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/DatabaseConfigurationOptionsBuilder.cs/#L53\">View Source</a>\n  </span>\n  <a id=\"Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations_\" data-uid=\"Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations*\"></a>\n  <h4 id=\"Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations_Assembly___\" data-uid=\"Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations(Assembly[])\">UseConfigurations(Assembly[])</h4>\n  <div class=\"markdown level1 summary\"><p>Adds the assemblies to the <a class=\"xref\" href=\"Venflow.Modeling.Definitions.EntityConfiguration-1.html\">EntityConfiguration&lt;TEntity&gt;</a> lookup list.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public DatabaseConfigurationOptionsBuilder UseConfigurations(params Assembly[] assemblies)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Assembly</span>[]</td>\n        <td><span class=\"parametername\">assemblies</span></td>\n        <td><p>The assemblies which should be added to the lookup list.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.DatabaseConfigurationOptionsBuilder.html\">DatabaseConfigurationOptionsBuilder</a></td>\n        <td><p>An object that can be used to configure the current <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations_Assembly____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>If you add a custom configuration location, the assembly of the database type will not be automatically included.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations__1.md&amp;value=---%0Auid%3A%20Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations%60%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/DatabaseConfigurationOptionsBuilder.cs/#L27\">View Source</a>\n  </span>\n  <a id=\"Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations_\" data-uid=\"Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations*\"></a>\n  <h4 id=\"Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations__1\" data-uid=\"Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations``1\">UseConfigurations&lt;T&gt;()</h4>\n  <div class=\"markdown level1 summary\"><p>Adds the assembly of the type <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">T</code> to the <a class=\"xref\" href=\"Venflow.Modeling.Definitions.EntityConfiguration-1.html\">EntityConfiguration&lt;TEntity&gt;</a> lookup list.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public DatabaseConfigurationOptionsBuilder UseConfigurations&lt;T&gt;()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.DatabaseConfigurationOptionsBuilder.html\">DatabaseConfigurationOptionsBuilder</a></td>\n        <td><p>An object that can be used to configure the current <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">T</span></td>\n        <td><p>The type of which the assembly should be added to the lookup list.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations__1_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>If you add a custom configuration location, the assembly of the database type will not be automatically included.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_DatabaseConfigurationOptionsBuilder.md&amp;value=---%0Auid%3A%20Venflow.DatabaseConfigurationOptionsBuilder%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/DatabaseConfigurationOptionsBuilder.cs/#L10\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.DatabaseOptionsBuilder-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class DatabaseOptionsBuilder&lt;TDatabase&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class DatabaseOptionsBuilder&lt;TDatabase&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.DatabaseOptionsBuilder`1\">\n  \n  \n  <h1 id=\"Venflow_DatabaseOptionsBuilder_1\" data-uid=\"Venflow.DatabaseOptionsBuilder`1\" class=\"text-break\">Class DatabaseOptionsBuilder&lt;TDatabase&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Provides an option builder to further <em>dynamically</em> configure a <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">DatabaseOptionsBuilder</span></div>\n    <div class=\"level2\"><span class=\"xref\">DatabaseOptionsBuilder&lt;TDatabase&gt;</span></div>\n  </div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <span class=\"xref\">DatabaseOptionsBuilder.DefaultLoggingBehavior</span>\n    </div>\n    <div>\n      <span class=\"xref\">DatabaseOptionsBuilder.ConnectionString</span>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_DatabaseOptionsBuilder_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public class DatabaseOptionsBuilder&lt;TDatabase&gt; : DatabaseOptionsBuilder where TDatabase : Database</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TDatabase</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_DatabaseOptionsBuilder_1_LogTo_Action_System_String__System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.DatabaseOptionsBuilder%601.LogTo(Action%7BSystem.String%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/DatabaseOptionsBuilder.cs/#L45\">View Source</a>\n  </span>\n  <a id=\"Venflow_DatabaseOptionsBuilder_1_LogTo_\" data-uid=\"Venflow.DatabaseOptionsBuilder`1.LogTo*\"></a>\n  <h4 id=\"Venflow_DatabaseOptionsBuilder_1_LogTo_Action_System_String__System_Boolean_\" data-uid=\"Venflow.DatabaseOptionsBuilder`1.LogTo(Action{System.String},System.Boolean)\">LogTo(Action&lt;String&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Adds a logger, which allows for logging of executed commands.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public DatabaseOptionsBuilder&lt;TDatabase&gt; LogTo(Action&lt;string&gt; loggerCallback, bool logSensitveData = false)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Action</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a>&gt;</td>\n        <td><span class=\"parametername\">loggerCallback</span></td>\n        <td><p>A callback which is being used to log commands.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">logSensitveData</span></td>\n        <td><p>Determines whether or not to log parameterized commands.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder</a>&lt;TDatabase&gt;</td>\n        <td><p>An object that can be used to configure the current <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_DatabaseOptionsBuilder_1_LogTo_Action_System_String__System_Boolean__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Also consider configuring the <span class=\"xref\">DatabaseOptionsBuilder.DefaultLoggingBehavior</span> property.\nBe aware that this method should be used in cases which require quick logging. This API wraps the <code data-dev-comment-type=\"paramref\" class=\"paramref\">loggerCallback</code> again and calls <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html#Venflow_DatabaseOptionsBuilder_1_LogTo_Venflow_LoggerCallback_\">LogTo(LoggerCallback)</a>.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_DatabaseOptionsBuilder_1_LogTo_Venflow_LoggerCallback_.md&amp;value=---%0Auid%3A%20Venflow.DatabaseOptionsBuilder%601.LogTo(Venflow.LoggerCallback)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/DatabaseOptionsBuilder.cs/#L28\">View Source</a>\n  </span>\n  <a id=\"Venflow_DatabaseOptionsBuilder_1_LogTo_\" data-uid=\"Venflow.DatabaseOptionsBuilder`1.LogTo*\"></a>\n  <h4 id=\"Venflow_DatabaseOptionsBuilder_1_LogTo_Venflow_LoggerCallback_\" data-uid=\"Venflow.DatabaseOptionsBuilder`1.LogTo(Venflow.LoggerCallback)\">LogTo(LoggerCallback)</h4>\n  <div class=\"markdown level1 summary\"><p>Adds a logger, which allows for logging of executed commands.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public DatabaseOptionsBuilder&lt;TDatabase&gt; LogTo(LoggerCallback loggerCallback)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.LoggerCallback.html\">LoggerCallback</a></td>\n        <td><span class=\"parametername\">loggerCallback</span></td>\n        <td><p>A callback which is being used to log commands.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder</a>&lt;TDatabase&gt;</td>\n        <td><p>An object that can be used to configure the current <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_DatabaseOptionsBuilder_1_LogTo_Venflow_LoggerCallback__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Also consider configuring the <span class=\"xref\">DatabaseOptionsBuilder.DefaultLoggingBehavior</span> property.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_DatabaseOptionsBuilder_1.md&amp;value=---%0Auid%3A%20Venflow.DatabaseOptionsBuilder%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/DatabaseOptionsBuilder.cs/#L17\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Enums.CommandType.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Enum CommandType\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Enum CommandType\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Enums.CommandType\">\n  \n  \n  <h1 id=\"Venflow_Enums_CommandType\" data-uid=\"Venflow.Enums.CommandType\" class=\"text-break\">Enum CommandType\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Specifies the type of command that produced a log.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Enums.html\">Venflow.Enums</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Enums_CommandType_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public enum CommandType : short</code></pre>\n  </div>\n  <h3 id=\"fields\">Fields\n  </h3>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    <thead>\n    <tbody>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_Delete\">Delete</td>\n        <td><p>All delete commands.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_DeleteBatch\">DeleteBatch</td>\n        <td><p>A delete command deleting a batch of entities.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_DeleteSingle\">DeleteSingle</td>\n        <td><p>A delete command deleting a single entity.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_Insert\">Insert</td>\n        <td><p>All insert commands.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_InsertBatch\">InsertBatch</td>\n        <td><p>An insert command inserting a batch of entities.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_InsertSingle\">InsertSingle</td>\n        <td><p>An insert command inserting a single entity.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_Query\">Query</td>\n        <td><p>All query commands.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_QueryBatch\">QueryBatch</td>\n        <td><p>A query command returning a batch of entities.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_QuerySingle\">QuerySingle</td>\n        <td><p>A query command returning a single entity.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_Update\">Update</td>\n        <td><p>All update commands.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_UpdateBatch\">UpdateBatch</td>\n        <td><p>A update command updating a batch of entities.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_UpdateSingle\">UpdateSingle</td>\n        <td><p>A update command updating a single entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </thead></thead></table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Enums_CommandType.md&amp;value=---%0Auid%3A%20Venflow.Enums.CommandType%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Enums/CommandType.cs/#L6\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Enums.ForeignTruncateOptions.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Enum ForeignTruncateOptions\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Enum ForeignTruncateOptions\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Enums.ForeignTruncateOptions\">\n  \n  \n  <h1 id=\"Venflow_Enums_ForeignTruncateOptions\" data-uid=\"Venflow.Enums.ForeignTruncateOptions\" class=\"text-break\">Enum ForeignTruncateOptions\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents the truncate option for foreign keys.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Enums.html\">Venflow.Enums</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Enums_ForeignTruncateOptions_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public enum ForeignTruncateOptions : byte</code></pre>\n  </div>\n  <h3 id=\"fields\">Fields\n  </h3>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    <thead>\n    <tbody>\n      <tr>\n        <td id=\"Venflow_Enums_ForeignTruncateOptions_Cascade\">Cascade</td>\n        <td><p>Automatically truncate all tables that have foreign-key references to any of the named tables, or to any tables added to the group due to CASCADE.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_ForeignTruncateOptions_None\">None</td>\n        <td><p>Does nothing.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_ForeignTruncateOptions_Restrict\">Restrict</td>\n        <td><p>Refuse to truncate if any of the tables have foreign-key references from tables that are not listed in the command. This is the default.</p>\n</td>\n      </tr>\n    </tbody>\n  </thead></thead></table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Enums_ForeignTruncateOptions.md&amp;value=---%0Auid%3A%20Venflow.Enums.ForeignTruncateOptions%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Enums/ForeignTruncateOptions.cs/#L6\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Enums.IdentityTruncateOptions.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Enum IdentityTruncateOptions\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Enum IdentityTruncateOptions\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Enums.IdentityTruncateOptions\">\n  \n  \n  <h1 id=\"Venflow_Enums_IdentityTruncateOptions\" data-uid=\"Venflow.Enums.IdentityTruncateOptions\" class=\"text-break\">Enum IdentityTruncateOptions\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents the identity truncate option for foreign keys.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Enums.html\">Venflow.Enums</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Enums_IdentityTruncateOptions_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public enum IdentityTruncateOptions : byte</code></pre>\n  </div>\n  <h3 id=\"fields\">Fields\n  </h3>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    <thead>\n    <tbody>\n      <tr>\n        <td id=\"Venflow_Enums_IdentityTruncateOptions_Continue\">Continue</td>\n        <td><p>Do not change the values of sequences. This is the default.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_IdentityTruncateOptions_None\">None</td>\n        <td><p>Does nothing.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_IdentityTruncateOptions_Restart\">Restart</td>\n        <td><p>Automatically restart sequences owned by columns of the truncated table(s).</p>\n</td>\n      </tr>\n    </tbody>\n  </thead></thead></table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Enums_IdentityTruncateOptions.md&amp;value=---%0Auid%3A%20Venflow.Enums.IdentityTruncateOptions%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Enums/IdentityTruncateOptions.cs/#L6\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Enums.JoinBehaviour.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Enum JoinBehaviour\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Enum JoinBehaviour\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Enums.JoinBehaviour\">\n  \n  \n  <h1 id=\"Venflow_Enums_JoinBehaviour\" data-uid=\"Venflow.Enums.JoinBehaviour\" class=\"text-break\">Enum JoinBehaviour\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Specifies the behavior for a specific join between two tables.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Enums.html\">Venflow.Enums</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Enums_JoinBehaviour_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public enum JoinBehaviour : byte</code></pre>\n  </div>\n  <h3 id=\"fields\">Fields\n  </h3>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    <thead>\n    <tbody>\n      <tr>\n        <td id=\"Venflow_Enums_JoinBehaviour_FullJoin\">FullJoin</td>\n        <td><p>Returns all records when there is a match in either left or right table</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_JoinBehaviour_InnerJoin\">InnerJoin</td>\n        <td><p>Returns records that have matching values in both tables</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_JoinBehaviour_LeftJoin\">LeftJoin</td>\n        <td><p>Returns all records from the left table, and the matched records from the right table</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_JoinBehaviour_RightJoin\">RightJoin</td>\n        <td><p>Returns all records from the right table, and the matched records from the left table</p>\n</td>\n      </tr>\n    </tbody>\n  </thead></thead></table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Enums_JoinBehaviour.md&amp;value=---%0Auid%3A%20Venflow.Enums.JoinBehaviour%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Enums/JoinBehaviour.cs/#L6\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Enums.LoggingBehavior.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Enum LoggingBehavior\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Enum LoggingBehavior\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Enums.LoggingBehavior\">\n  \n  \n  <h1 id=\"Venflow_Enums_LoggingBehavior\" data-uid=\"Venflow.Enums.LoggingBehavior\" class=\"text-break\">Enum LoggingBehavior\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Specifies the logging behavior for Venflow commands.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Enums.html\">Venflow.Enums</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Enums_LoggingBehavior_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public enum LoggingBehavior : byte</code></pre>\n  </div>\n  <h3 id=\"fields\">Fields\n  </h3>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    <thead>\n    <tbody>\n      <tr>\n        <td id=\"Venflow_Enums_LoggingBehavior_Always\">Always</td>\n        <td><p>Logs all commands.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_LoggingBehavior_Never\">Never</td>\n        <td><p>Never logs commands.</p>\n</td>\n      </tr>\n    </tbody>\n  </thead></thead></table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Enums_LoggingBehavior.md&amp;value=---%0Auid%3A%20Venflow.Enums.LoggingBehavior%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Enums/LoggingBehaviour.cs/#L6\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Enums.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Namespace Venflow.Enums\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Namespace Venflow.Enums\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Enums\">\n  \n  <h1 id=\"Venflow_Enums\" data-uid=\"Venflow.Enums\" class=\"text-break\">Namespace Venflow.Enums\n  </h1>\n  <div class=\"markdown level0 summary\"></div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"markdown level0 remarks\"></div>\n    <h3 id=\"enums\">Enums\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.Enums.CommandType.html\">CommandType</a></h4>\n      <section><p>Specifies the type of command that produced a log.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Enums.ForeignTruncateOptions.html\">ForeignTruncateOptions</a></h4>\n      <section><p>Represents the truncate option for foreign keys.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Enums.IdentityTruncateOptions.html\">IdentityTruncateOptions</a></h4>\n      <section><p>Represents the identity truncate option for foreign keys.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Enums.JoinBehaviour.html\">JoinBehaviour</a></h4>\n      <section><p>Specifies the behavior for a specific join between two tables.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Enums.LoggingBehavior.html\">LoggingBehavior</a></h4>\n      <section><p>Specifies the logging behavior for Venflow commands.</p>\n</section>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class DatabaseOptionsBuilderExtensions\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class DatabaseOptionsBuilderExtensions\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions\">\n  \n  \n  <h1 id=\"Venflow_Extensions_Logging_DatabaseOptionsBuilderExtensions\" data-uid=\"Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions\" class=\"text-break\">Class DatabaseOptionsBuilderExtensions\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Providing extensions method for the <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder&lt;TDatabase&gt;</a> class.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">DatabaseOptionsBuilderExtensions</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Extensions.Logging.html\">Venflow.Extensions.Logging</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.Extensions.Logging.dll</h6>\n  <h5 id=\"Venflow_Extensions_Logging_DatabaseOptionsBuilderExtensions_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static class DatabaseOptionsBuilderExtensions : object</code></pre>\n  </div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Extensions_Logging_DatabaseOptionsBuilderExtensions_UseLoggerFactory__1_Venflow_DatabaseOptionsBuilder___0__ILoggerFactory_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.UseLoggerFactory%60%601(Venflow.DatabaseOptionsBuilder%7B%60%600%7D%2CILoggerFactory%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Extensions.Logging/DatabaseOptionsBuilderExtensions.cs/#L18\">View Source</a>\n  </span>\n  <a id=\"Venflow_Extensions_Logging_DatabaseOptionsBuilderExtensions_UseLoggerFactory_\" data-uid=\"Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.UseLoggerFactory*\"></a>\n  <h4 id=\"Venflow_Extensions_Logging_DatabaseOptionsBuilderExtensions_UseLoggerFactory__1_Venflow_DatabaseOptionsBuilder___0__ILoggerFactory_System_Boolean_\" data-uid=\"Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.UseLoggerFactory``1(Venflow.DatabaseOptionsBuilder{``0},ILoggerFactory,System.Boolean)\">UseLoggerFactory&lt;TDatabase&gt;(DatabaseOptionsBuilder&lt;TDatabase&gt;, ILoggerFactory, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Adds a <see cref=\"!:ILoggerFactory\"></see>, which allows for logging of executed commands.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static DatabaseOptionsBuilder UseLoggerFactory&lt;TDatabase&gt;(this DatabaseOptionsBuilder&lt;TDatabase&gt; options, ILoggerFactory loggerFactory, bool formatSensitiveInformation = false)\n    where TDatabase : Database</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder</a>&lt;TDatabase&gt;</td>\n        <td><span class=\"parametername\">options</span></td>\n        <td><p>The options to which the <see cref=\"!:ILoggerFactory\"></see> should be registered.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">ILoggerFactory</span></td>\n        <td><span class=\"parametername\">loggerFactory</span></td>\n        <td><p>The <see cref=\"!:ILoggerFactory\"></see> which should be registered</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">formatSensitiveInformation</span></td>\n        <td><p>Determines whether or not the formatter should include the parameters values.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">DatabaseOptionsBuilder</span></td>\n        <td><p>An object that can be used to configure the current <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TDatabase</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Extensions_Logging_DatabaseOptionsBuilderExtensions_UseLoggerFactory__1_Venflow_DatabaseOptionsBuilder___0__ILoggerFactory_System_Boolean__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Also consider configuring the <span class=\"xref\">DatabaseOptionsBuilder.DefaultLoggingBehavior</span> property.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Extensions_Logging_DatabaseOptionsBuilderExtensions.md&amp;value=---%0Auid%3A%20Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Extensions.Logging/DatabaseOptionsBuilderExtensions.cs/#L8\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Extensions.Logging.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Namespace Venflow.Extensions.Logging\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Namespace Venflow.Extensions.Logging\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Extensions.Logging\">\n  \n  <h1 id=\"Venflow_Extensions_Logging\" data-uid=\"Venflow.Extensions.Logging\" class=\"text-break\">Namespace Venflow.Extensions.Logging\n  </h1>\n  <div class=\"markdown level0 summary\"></div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"markdown level0 remarks\"></div>\n    <h3 id=\"classes\">Classes\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.html\">DatabaseOptionsBuilderExtensions</a></h4>\n      <section><p>Providing extensions method for the <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder&lt;TDatabase&gt;</a> class.</p>\n</section>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.FormattableSqlStringBuilder.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class FormattableSqlStringBuilder\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class FormattableSqlStringBuilder\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.FormattableSqlStringBuilder\">\n  \n  \n  <h1 id=\"Venflow_FormattableSqlStringBuilder\" data-uid=\"Venflow.FormattableSqlStringBuilder\" class=\"text-break\">Class FormattableSqlStringBuilder\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Allows for a safe string interpolated SQL concatenation.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">FormattableSqlStringBuilder</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_FormattableSqlStringBuilder_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public class FormattableSqlStringBuilder : object</code></pre>\n  </div>\n  <h3 id=\"constructors\">Constructors\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_FormattableSqlStringBuilder__ctor.md&amp;value=---%0Auid%3A%20Venflow.FormattableSqlStringBuilder.%23ctor%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/FormattableSqlStringBuilder.cs/#L19\">View Source</a>\n  </span>\n  <a id=\"Venflow_FormattableSqlStringBuilder__ctor_\" data-uid=\"Venflow.FormattableSqlStringBuilder.#ctor*\"></a>\n  <h4 id=\"Venflow_FormattableSqlStringBuilder__ctor\" data-uid=\"Venflow.FormattableSqlStringBuilder.#ctor\">FormattableSqlStringBuilder()</h4>\n  <div class=\"markdown level1 summary\"><p>Initializes a new instance of the <a class=\"xref\" href=\"Venflow.FormattableSqlStringBuilder.html\">FormattableSqlStringBuilder</a> class.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public FormattableSqlStringBuilder()</code></pre>\n  </div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_FormattableSqlStringBuilder_Append_System_String_.md&amp;value=---%0Auid%3A%20Venflow.FormattableSqlStringBuilder.Append(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/FormattableSqlStringBuilder.cs/#L53\">View Source</a>\n  </span>\n  <a id=\"Venflow_FormattableSqlStringBuilder_Append_\" data-uid=\"Venflow.FormattableSqlStringBuilder.Append*\"></a>\n  <h4 id=\"Venflow_FormattableSqlStringBuilder_Append_System_String_\" data-uid=\"Venflow.FormattableSqlStringBuilder.Append(System.String)\">Append(String)</h4>\n  <div class=\"markdown level1 summary\"><p>Appends a copy of the specified SQL to this instance.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public void Append(string sql)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The SQL to append.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_FormattableSqlStringBuilder_Append_System_String__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p><strong>This method IS NOT string interpolation safe</strong>, if you want to use string interpolated SQL use the <a class=\"xref\" href=\"Venflow.FormattableSqlStringBuilder.html#Venflow_FormattableSqlStringBuilder_AppendInterpolated_FormattableString_\">AppendInterpolated(FormattableString)</a> method.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_FormattableSqlStringBuilder_AppendInterpolated_FormattableString_.md&amp;value=---%0Auid%3A%20Venflow.FormattableSqlStringBuilder.AppendInterpolated(FormattableString)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/FormattableSqlStringBuilder.cs/#L82\">View Source</a>\n  </span>\n  <a id=\"Venflow_FormattableSqlStringBuilder_AppendInterpolated_\" data-uid=\"Venflow.FormattableSqlStringBuilder.AppendInterpolated*\"></a>\n  <h4 id=\"Venflow_FormattableSqlStringBuilder_AppendInterpolated_FormattableString_\" data-uid=\"Venflow.FormattableSqlStringBuilder.AppendInterpolated(FormattableString)\">AppendInterpolated(FormattableString)</h4>\n  <div class=\"markdown level1 summary\"><p>Appends a copy of the specified SQL to this instance.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public void AppendInterpolated(FormattableString sql)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">FormattableString</span></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The SQL to append.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_FormattableSqlStringBuilder_AppendInterpolated_FormattableString__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method is string interpolation safe.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_FormattableSqlStringBuilder_AppendInterpolatedLine_FormattableString_.md&amp;value=---%0Auid%3A%20Venflow.FormattableSqlStringBuilder.AppendInterpolatedLine(FormattableString)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/FormattableSqlStringBuilder.cs/#L68\">View Source</a>\n  </span>\n  <a id=\"Venflow_FormattableSqlStringBuilder_AppendInterpolatedLine_\" data-uid=\"Venflow.FormattableSqlStringBuilder.AppendInterpolatedLine*\"></a>\n  <h4 id=\"Venflow_FormattableSqlStringBuilder_AppendInterpolatedLine_FormattableString_\" data-uid=\"Venflow.FormattableSqlStringBuilder.AppendInterpolatedLine(FormattableString)\">AppendInterpolatedLine(FormattableString)</h4>\n  <div class=\"markdown level1 summary\"><p>Appends a copy of the specified SQL followed by the default line terminator to the end of the current <a class=\"xref\" href=\"Venflow.FormattableSqlStringBuilder.html\">FormattableSqlStringBuilder</a> object.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public void AppendInterpolatedLine(FormattableString sql)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">FormattableString</span></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The SQL to append.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_FormattableSqlStringBuilder_AppendInterpolatedLine_FormattableString__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method is string interpolation safe.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_FormattableSqlStringBuilder_AppendLine_System_String_.md&amp;value=---%0Auid%3A%20Venflow.FormattableSqlStringBuilder.AppendLine(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/FormattableSqlStringBuilder.cs/#L32\">View Source</a>\n  </span>\n  <a id=\"Venflow_FormattableSqlStringBuilder_AppendLine_\" data-uid=\"Venflow.FormattableSqlStringBuilder.AppendLine*\"></a>\n  <h4 id=\"Venflow_FormattableSqlStringBuilder_AppendLine_System_String_\" data-uid=\"Venflow.FormattableSqlStringBuilder.AppendLine(System.String)\">AppendLine(String)</h4>\n  <div class=\"markdown level1 summary\"><p>Appends a copy of the specified SQL followed by the default line terminator to the end of the current <a class=\"xref\" href=\"Venflow.FormattableSqlStringBuilder.html\">FormattableSqlStringBuilder</a> object.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public void AppendLine(string sql)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The SQL to append.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_FormattableSqlStringBuilder_AppendLine_System_String__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p><strong>This method IS NOT string interpolation safe</strong>, if you want to use string interpolated SQL use the <a class=\"xref\" href=\"Venflow.FormattableSqlStringBuilder.html#Venflow_FormattableSqlStringBuilder_AppendInterpolatedLine_FormattableString_\">AppendInterpolatedLine(FormattableString)</a> method.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_FormattableSqlStringBuilder.md&amp;value=---%0Auid%3A%20Venflow.FormattableSqlStringBuilder%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/FormattableSqlStringBuilder.cs/#L9\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.IDatabaseTransaction.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IDatabaseTransaction\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IDatabaseTransaction\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.IDatabaseTransaction\">\n  \n  \n  <h1 id=\"Venflow_IDatabaseTransaction\" data-uid=\"Venflow.IDatabaseTransaction\" class=\"text-break\">Interface IDatabaseTransaction\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a transaction to be made with a database.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_IDatabaseTransaction_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IDatabaseTransaction : IAsyncDisposable, IDisposable</code></pre>\n  </div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction_Commit.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction.Commit%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/DatabaseTransaction.cs/#L72\">View Source</a>\n  </span>\n  <a id=\"Venflow_IDatabaseTransaction_Commit_\" data-uid=\"Venflow.IDatabaseTransaction.Commit*\"></a>\n  <h4 id=\"Venflow_IDatabaseTransaction_Commit\" data-uid=\"Venflow.IDatabaseTransaction.Commit\">Commit()</h4>\n  <div class=\"markdown level1 summary\"><p>Commits the database transaction.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">void Commit()</code></pre>\n  </div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction_CommitAsync_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction.CommitAsync(CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/DatabaseTransaction.cs/#L78\">View Source</a>\n  </span>\n  <a id=\"Venflow_IDatabaseTransaction_CommitAsync_\" data-uid=\"Venflow.IDatabaseTransaction.CommitAsync*\"></a>\n  <h4 id=\"Venflow_IDatabaseTransaction_CommitAsync_CancellationToken_\" data-uid=\"Venflow.IDatabaseTransaction.CommitAsync(CancellationToken)\">CommitAsync(CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Commits the database transaction.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task CommitAsync(CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>An optional token to cancel the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction_GetNpgsqlTransaction.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction.GetNpgsqlTransaction%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/DatabaseTransaction.cs/#L139\">View Source</a>\n  </span>\n  <a id=\"Venflow_IDatabaseTransaction_GetNpgsqlTransaction_\" data-uid=\"Venflow.IDatabaseTransaction.GetNpgsqlTransaction*\"></a>\n  <h4 id=\"Venflow_IDatabaseTransaction_GetNpgsqlTransaction\" data-uid=\"Venflow.IDatabaseTransaction.GetNpgsqlTransaction\">GetNpgsqlTransaction()</h4>\n  <div class=\"markdown level1 summary\"><p>Will return the underlying <see cref=\"!:NpgsqlTransaction\"></see>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">NpgsqlTransaction GetNpgsqlTransaction()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">NpgsqlTransaction</span></td>\n        <td><p>The underlying <see cref=\"!:NpgsqlTransaction\"></see></p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_IDatabaseTransaction_GetNpgsqlTransaction_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Please do note, that if you call any of the Dispose methods on the <see cref=\"!:NpgsqlTransaction\"></see> instead of the <a class=\"xref\" href=\"Venflow.IDatabaseTransaction.html\">IDatabaseTransaction</a> ones, Venflow will never know about it being disposed. Therefore, always call one of the Dispose methods on the <a class=\"xref\" href=\"Venflow.IDatabaseTransaction.html\">IDatabaseTransaction</a> itself.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction_Release_System_String_.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction.Release(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/DatabaseTransaction.cs/#L123\">View Source</a>\n  </span>\n  <a id=\"Venflow_IDatabaseTransaction_Release_\" data-uid=\"Venflow.IDatabaseTransaction.Release*\"></a>\n  <h4 id=\"Venflow_IDatabaseTransaction_Release_System_String_\" data-uid=\"Venflow.IDatabaseTransaction.Release(System.String)\">Release(String)</h4>\n  <div class=\"markdown level1 summary\"><p>Releases a transaction from a pending savepoint state.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">void Release(string name)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">name</span></td>\n        <td><p>The name of the savepoint.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction_ReleaseAsync_System_String_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction.ReleaseAsync(System.String%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/DatabaseTransaction.cs/#L130\">View Source</a>\n  </span>\n  <a id=\"Venflow_IDatabaseTransaction_ReleaseAsync_\" data-uid=\"Venflow.IDatabaseTransaction.ReleaseAsync*\"></a>\n  <h4 id=\"Venflow_IDatabaseTransaction_ReleaseAsync_System_String_CancellationToken_\" data-uid=\"Venflow.IDatabaseTransaction.ReleaseAsync(System.String,CancellationToken)\">ReleaseAsync(String, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Releases a transaction from a pending savepoint state.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task ReleaseAsync(string name, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">name</span></td>\n        <td><p>The name of the savepoint.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>An optional token to cancel the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction_Rollback.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction.Rollback%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/DatabaseTransaction.cs/#L83\">View Source</a>\n  </span>\n  <a id=\"Venflow_IDatabaseTransaction_Rollback_\" data-uid=\"Venflow.IDatabaseTransaction.Rollback*\"></a>\n  <h4 id=\"Venflow_IDatabaseTransaction_Rollback\" data-uid=\"Venflow.IDatabaseTransaction.Rollback\">Rollback()</h4>\n  <div class=\"markdown level1 summary\"><p>Rolls back a transaction from a pending state.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">void Rollback()</code></pre>\n  </div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction_Rollback_System_String_.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction.Rollback(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/DatabaseTransaction.cs/#L110\">View Source</a>\n  </span>\n  <a id=\"Venflow_IDatabaseTransaction_Rollback_\" data-uid=\"Venflow.IDatabaseTransaction.Rollback*\"></a>\n  <h4 id=\"Venflow_IDatabaseTransaction_Rollback_System_String_\" data-uid=\"Venflow.IDatabaseTransaction.Rollback(System.String)\">Rollback(String)</h4>\n  <div class=\"markdown level1 summary\"><p>Rolls back a transaction from a pending savepoint state.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">void Rollback(string name)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">name</span></td>\n        <td><p>The name of the savepoint.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction_RollbackAsync_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction.RollbackAsync(CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/DatabaseTransaction.cs/#L89\">View Source</a>\n  </span>\n  <a id=\"Venflow_IDatabaseTransaction_RollbackAsync_\" data-uid=\"Venflow.IDatabaseTransaction.RollbackAsync*\"></a>\n  <h4 id=\"Venflow_IDatabaseTransaction_RollbackAsync_CancellationToken_\" data-uid=\"Venflow.IDatabaseTransaction.RollbackAsync(CancellationToken)\">RollbackAsync(CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Rolls back a transaction from a pending state.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task RollbackAsync(CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>An optional token to cancel the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction_RollbackAsync_System_String_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction.RollbackAsync(System.String%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/DatabaseTransaction.cs/#L117\">View Source</a>\n  </span>\n  <a id=\"Venflow_IDatabaseTransaction_RollbackAsync_\" data-uid=\"Venflow.IDatabaseTransaction.RollbackAsync*\"></a>\n  <h4 id=\"Venflow_IDatabaseTransaction_RollbackAsync_System_String_CancellationToken_\" data-uid=\"Venflow.IDatabaseTransaction.RollbackAsync(System.String,CancellationToken)\">RollbackAsync(String, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Rolls back a transaction from a pending savepoint state.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task RollbackAsync(string name, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">name</span></td>\n        <td><p>The name of the savepoint.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>An optional token to cancel the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction_Save_System_String_.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction.Save(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/DatabaseTransaction.cs/#L96\">View Source</a>\n  </span>\n  <a id=\"Venflow_IDatabaseTransaction_Save_\" data-uid=\"Venflow.IDatabaseTransaction.Save*\"></a>\n  <h4 id=\"Venflow_IDatabaseTransaction_Save_System_String_\" data-uid=\"Venflow.IDatabaseTransaction.Save(System.String)\">Save(String)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a transaction save point.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">void Save(string name)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">name</span></td>\n        <td><p>The name of the savepoint.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_IDatabaseTransaction_Save_System_String__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method does not cause a database roundtrip to be made. The savepoint creation statement will instead be sent along with the next command.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction_SaveAsync_System_String_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction.SaveAsync(System.String%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/DatabaseTransaction.cs/#L104\">View Source</a>\n  </span>\n  <a id=\"Venflow_IDatabaseTransaction_SaveAsync_\" data-uid=\"Venflow.IDatabaseTransaction.SaveAsync*\"></a>\n  <h4 id=\"Venflow_IDatabaseTransaction_SaveAsync_System_String_CancellationToken_\" data-uid=\"Venflow.IDatabaseTransaction.SaveAsync(System.String,CancellationToken)\">SaveAsync(String, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a transaction save point.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task SaveAsync(string name, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">name</span></td>\n        <td><p>The name of the savepoint.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>An optional token to cancel the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_IDatabaseTransaction_SaveAsync_System_String_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method does not cause a database roundtrip to be made, and will therefore always complete synchronously. The savepoint creation statement will instead be sent along with the next command.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/DatabaseTransaction.cs/#L67\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.IKey-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IKey&lt;TEntity, TKey&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IKey&lt;TEntity, TKey&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.IKey`2\">\n  \n  \n  <h1 id=\"Venflow_IKey_2\" data-uid=\"Venflow.IKey`2\" class=\"text-break\">Interface IKey&lt;TEntity, TKey&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>This interface should be implemented by <em>structs</em>, to create strongly-typed ids.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.IKey.html#Venflow_IKey_BoxedValue\">IKey.BoxedValue</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.Keys.dll</h6>\n  <h5 id=\"Venflow_IKey_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IKey&lt;TEntity, TKey&gt; : IKey</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>They type of entity the key sits in.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TKey</span></td>\n        <td><p>The type of the key.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_IKey_2_remarks\"><strong>Remarks</strong></h5>\n  <div class=\"markdown level0 remarks\"><p>See <a class=\"xref\" href=\"Venflow.Key-2.html\">Key&lt;TEntity, TKey&gt;</a>for a possible implementation.</p>\n</div>\n  <h3 id=\"properties\">Properties\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IKey_2_Value.md&amp;value=---%0Auid%3A%20Venflow.IKey%602.Value%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/Key.cs/#L97\">View Source</a>\n  </span>\n  <a id=\"Venflow_IKey_2_Value_\" data-uid=\"Venflow.IKey`2.Value*\"></a>\n  <h4 id=\"Venflow_IKey_2_Value\" data-uid=\"Venflow.IKey`2.Value\">Value</h4>\n  <div class=\"markdown level1 summary\"><p>The underlying value representing the <a class=\"xref\" href=\"Venflow.Key-2.html\">Key&lt;TEntity, TKey&gt;</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">TKey Value { get; }</code></pre>\n  </div>\n  <h5 class=\"propertyValue\">Property Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TKey</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IKey_2.md&amp;value=---%0Auid%3A%20Venflow.IKey%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/Key.cs/#L91\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.IKey.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IKey\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IKey\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.IKey\">\n  \n  \n  <h1 id=\"Venflow_IKey\" data-uid=\"Venflow.IKey\" class=\"text-break\">Interface IKey\n  </h1>\n  <div class=\"markdown level0 summary\"><p><strong>Do not use this interface, if you are not absolutely sure what it does.</strong></p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.Keys.dll</h6>\n  <h5 id=\"Venflow_IKey_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IKey</code></pre>\n  </div>\n  <h3 id=\"properties\">Properties\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IKey_BoxedValue.md&amp;value=---%0Auid%3A%20Venflow.IKey.BoxedValue%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/Key.cs/#L109\">View Source</a>\n  </span>\n  <a id=\"Venflow_IKey_BoxedValue_\" data-uid=\"Venflow.IKey.BoxedValue*\"></a>\n  <h4 id=\"Venflow_IKey_BoxedValue\" data-uid=\"Venflow.IKey.BoxedValue\">BoxedValue</h4>\n  <div class=\"markdown level1 summary\"><p>The boxed representation of the value this instance is representing.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">object? BoxedValue { get; }</code></pre>\n  </div>\n  <h5 class=\"propertyValue\">Property Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a>&gt;</td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IKey.md&amp;value=---%0Auid%3A%20Venflow.IKey%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/Key.cs/#L103\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.IParameterTypeHandler.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IParameterTypeHandler\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IParameterTypeHandler\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.IParameterTypeHandler\">\n  \n  \n  <h1 id=\"Venflow_IParameterTypeHandler\" data-uid=\"Venflow.IParameterTypeHandler\" class=\"text-break\">Interface IParameterTypeHandler\n  </h1>\n  <div class=\"markdown level0 summary\"><p>A parameter type handler which can be used with the <see cref=\"!:ParameterTypeHandler.AddTypeHandler(System.Type, IParameterTypeHandler)\"></see> method.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_IParameterTypeHandler_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IParameterTypeHandler</code></pre>\n  </div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IParameterTypeHandler_Handle_System_String_System_Object_.md&amp;value=---%0Auid%3A%20Venflow.IParameterTypeHandler.Handle(System.String%2CSystem.Object)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/IParameterTypeHandler.cs/#L16\">View Source</a>\n  </span>\n  <a id=\"Venflow_IParameterTypeHandler_Handle_\" data-uid=\"Venflow.IParameterTypeHandler.Handle*\"></a>\n  <h4 id=\"Venflow_IParameterTypeHandler_Handle_System_String_System_Object_\" data-uid=\"Venflow.IParameterTypeHandler.Handle(System.String,System.Object)\">Handle(String, Object)</h4>\n  <div class=\"markdown level1 summary\"><p>Is used to convert the given value and name to an <see cref=\"!:NpgsqlParameter\"></see>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">NpgsqlParameter Handle(string name, object val)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">name</span></td>\n        <td><p>The name of the parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></td>\n        <td><span class=\"parametername\">val</span></td>\n        <td><p>The value of the parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">NpgsqlParameter</span></td>\n        <td><p>The <see cref=\"!:NpgsqlParameter\"></see> containing the name and the value.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IParameterTypeHandler.md&amp;value=---%0Auid%3A%20Venflow.IParameterTypeHandler%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/IParameterTypeHandler.cs/#L8\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.InvalidEntityRelationException.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class InvalidEntityRelationException\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class InvalidEntityRelationException\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.InvalidEntityRelationException\">\n  \n  \n  <h1 id=\"Venflow_InvalidEntityRelationException\" data-uid=\"Venflow.InvalidEntityRelationException\" class=\"text-break\">Class InvalidEntityRelationException\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents errors that occur during the relation entity generation.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">InvalidEntityRelationException</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_InvalidEntityRelationException_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public class InvalidEntityRelationException : Exception</code></pre>\n  </div>\n  <h3 id=\"constructors\">Constructors\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_InvalidEntityRelationException__ctor.md&amp;value=---%0Auid%3A%20Venflow.InvalidEntityRelationException.%23ctor%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/InvalidEntityRelationException.cs/#L12\">View Source</a>\n  </span>\n  <a id=\"Venflow_InvalidEntityRelationException__ctor_\" data-uid=\"Venflow.InvalidEntityRelationException.#ctor*\"></a>\n  <h4 id=\"Venflow_InvalidEntityRelationException__ctor\" data-uid=\"Venflow.InvalidEntityRelationException.#ctor\">InvalidEntityRelationException()</h4>\n  <div class=\"markdown level1 summary\"><p>Initializes a new instance of the <a class=\"xref\" href=\"Venflow.InvalidEntityRelationException.html\">InvalidEntityRelationException</a> class.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public InvalidEntityRelationException()</code></pre>\n  </div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_InvalidEntityRelationException__ctor_System_Runtime_Serialization_SerializationInfo_System_Runtime_Serialization_StreamingContext_.md&amp;value=---%0Auid%3A%20Venflow.InvalidEntityRelationException.%23ctor(System.Runtime.Serialization.SerializationInfo%2CSystem.Runtime.Serialization.StreamingContext)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/InvalidEntityRelationException.cs/#L34\">View Source</a>\n  </span>\n  <a id=\"Venflow_InvalidEntityRelationException__ctor_\" data-uid=\"Venflow.InvalidEntityRelationException.#ctor*\"></a>\n  <h4 id=\"Venflow_InvalidEntityRelationException__ctor_System_Runtime_Serialization_SerializationInfo_System_Runtime_Serialization_StreamingContext_\" data-uid=\"Venflow.InvalidEntityRelationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)\">InvalidEntityRelationException(Serialization.SerializationInfo, Serialization.StreamingContext)</h4>\n  <div class=\"markdown level1 summary\"><p>Initializes a new instance of the <a class=\"xref\" href=\"Venflow.InvalidEntityRelationException.html\">InvalidEntityRelationException</a> class.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">protected InvalidEntityRelationException(Serialization.SerializationInfo info, Serialization.StreamingContext context)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.runtime.serialization.serializationinfo\">Serialization.SerializationInfo</a></td>\n        <td><span class=\"parametername\">info</span></td>\n        <td><p>The <see cref=\"!:System.Runtime.Serialization.SerializationInfo\"></see> that holds the serialized object data about the exception being thrown.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.runtime.serialization.streamingcontext\">Serialization.StreamingContext</a></td>\n        <td><span class=\"parametername\">context</span></td>\n        <td><p>The <see cref=\"!:System.Runtime.Serialization.StreamingContext\"></see> that contains contextual information about the source or destination.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_InvalidEntityRelationException__ctor_System_String_.md&amp;value=---%0Auid%3A%20Venflow.InvalidEntityRelationException.%23ctor(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/InvalidEntityRelationException.cs/#L18\">View Source</a>\n  </span>\n  <a id=\"Venflow_InvalidEntityRelationException__ctor_\" data-uid=\"Venflow.InvalidEntityRelationException.#ctor*\"></a>\n  <h4 id=\"Venflow_InvalidEntityRelationException__ctor_System_String_\" data-uid=\"Venflow.InvalidEntityRelationException.#ctor(System.String)\">InvalidEntityRelationException(String)</h4>\n  <div class=\"markdown level1 summary\"><p>Initializes a new instance of the <a class=\"xref\" href=\"Venflow.InvalidEntityRelationException.html\">InvalidEntityRelationException</a> class.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public InvalidEntityRelationException(string message)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">message</span></td>\n        <td><p>The message that describes the error.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_InvalidEntityRelationException__ctor_System_String_Exception_.md&amp;value=---%0Auid%3A%20Venflow.InvalidEntityRelationException.%23ctor(System.String%2CException)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/InvalidEntityRelationException.cs/#L25\">View Source</a>\n  </span>\n  <a id=\"Venflow_InvalidEntityRelationException__ctor_\" data-uid=\"Venflow.InvalidEntityRelationException.#ctor*\"></a>\n  <h4 id=\"Venflow_InvalidEntityRelationException__ctor_System_String_Exception_\" data-uid=\"Venflow.InvalidEntityRelationException.#ctor(System.String,Exception)\">InvalidEntityRelationException(String, Exception)</h4>\n  <div class=\"markdown level1 summary\"><p>Initializes a new instance of the <a class=\"xref\" href=\"Venflow.InvalidEntityRelationException.html\">InvalidEntityRelationException</a> class.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public InvalidEntityRelationException(string message, Exception inner)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">message</span></td>\n        <td><p>The message that describes the error.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">Exception</span></td>\n        <td><span class=\"parametername\">inner</span></td>\n        <td><p>The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_InvalidEntityRelationException.md&amp;value=---%0Auid%3A%20Venflow.InvalidEntityRelationException%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/InvalidEntityRelationException.cs/#L6\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Json.JsonKeyConverterFactory.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class JsonKeyConverterFactory\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class JsonKeyConverterFactory\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Json.JsonKeyConverterFactory\">\n  \n  \n  <h1 id=\"Venflow_Json_JsonKeyConverterFactory\" data-uid=\"Venflow.Json.JsonKeyConverterFactory\" class=\"text-break\">Class JsonKeyConverterFactory\n  </h1>\n  <div class=\"markdown level0 summary\"><p>A <see cref=\"!:JsonConverter\"></see> to parse <a class=\"xref\" href=\"Venflow.IKey-2.html\">IKey&lt;TEntity, TKey&gt;</a> instances.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">JsonKeyConverterFactory</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Json.html\">Venflow.Json</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.Keys.dll</h6>\n  <h5 id=\"Venflow_Json_JsonKeyConverterFactory_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public class JsonKeyConverterFactory : JsonConverterFactory</code></pre>\n  </div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Json_JsonKeyConverterFactory_CanConvert_Type_.md&amp;value=---%0Auid%3A%20Venflow.Json.JsonKeyConverterFactory.CanConvert(Type)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/JsonKeyConverter.cs/#L15\">View Source</a>\n  </span>\n  <a id=\"Venflow_Json_JsonKeyConverterFactory_CanConvert_\" data-uid=\"Venflow.Json.JsonKeyConverterFactory.CanConvert*\"></a>\n  <h4 id=\"Venflow_Json_JsonKeyConverterFactory_CanConvert_Type_\" data-uid=\"Venflow.Json.JsonKeyConverterFactory.CanConvert(Type)\">CanConvert(Type)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override bool CanConvert(Type typeToConvert)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Type</span></td>\n        <td><span class=\"parametername\">typeToConvert</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Json_JsonKeyConverterFactory_CreateConverter_Type_JsonSerializerOptions_.md&amp;value=---%0Auid%3A%20Venflow.Json.JsonKeyConverterFactory.CreateConverter(Type%2CJsonSerializerOptions)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/JsonKeyConverter.cs/#L19\">View Source</a>\n  </span>\n  <a id=\"Venflow_Json_JsonKeyConverterFactory_CreateConverter_\" data-uid=\"Venflow.Json.JsonKeyConverterFactory.CreateConverter*\"></a>\n  <h4 id=\"Venflow_Json_JsonKeyConverterFactory_CreateConverter_Type_JsonSerializerOptions_\" data-uid=\"Venflow.Json.JsonKeyConverterFactory.CreateConverter(Type,JsonSerializerOptions)\">CreateConverter(Type, JsonSerializerOptions)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override JsonConverter CreateConverter(Type typeToConvert, JsonSerializerOptions options)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Type</span></td>\n        <td><span class=\"parametername\">typeToConvert</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">JsonSerializerOptions</span></td>\n        <td><span class=\"parametername\">options</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">JsonConverter</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Json_JsonKeyConverterFactory.md&amp;value=---%0Auid%3A%20Venflow.Json.JsonKeyConverterFactory%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/JsonKeyConverter.cs/#L10\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Json.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Namespace Venflow.Json\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Namespace Venflow.Json\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Json\">\n  \n  <h1 id=\"Venflow_Json\" data-uid=\"Venflow.Json\" class=\"text-break\">Namespace Venflow.Json\n  </h1>\n  <div class=\"markdown level0 summary\"></div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"markdown level0 remarks\"></div>\n    <h3 id=\"classes\">Classes\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.Json.JsonKeyConverterFactory.html\">JsonKeyConverterFactory</a></h4>\n      <section><p>A <see cref=\"!:JsonConverter\"></see> to parse <a class=\"xref\" href=\"Venflow.IKey-2.html\">IKey&lt;TEntity, TKey&gt;</a> instances.</p>\n</section>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Key-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Struct Key&lt;TEntity, TKey&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Struct Key&lt;TEntity, TKey&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Key`2\">\n  \n  \n  <h1 id=\"Venflow_Key_2\" data-uid=\"Venflow.Key`2\" class=\"text-break\">Struct Key&lt;TEntity, TKey&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>This is used to create strongly-typed ids.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div classs=\"implements\">\n    <h5>Implements</h5>\n    <div><a class=\"xref\" href=\"Venflow.IKey-2.html\">IKey</a>&lt;TEntity, TKey&gt;</div>\n    <div><a class=\"xref\" href=\"Venflow.IKey.html\">IKey</a></div>\n    <div><span class=\"xref\">IEquatable</span>&lt;<a class=\"xref\" href=\"Venflow.Key-2.html\">Key</a>&lt;TEntity, TKey&gt;&gt;</div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.Keys.dll</h6>\n  <h5 id=\"Venflow_Key_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public struct Key&lt;TEntity, TKey&gt; : IKey&lt;TEntity, TKey&gt;, IKey, IEquatable&lt;Key&lt;TEntity, TKey&gt;&gt; where TKey : struct, IEquatable&lt;TKey&gt;</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>They type of entity the key sits in.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TKey</span></td>\n        <td><p>The type of the key.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Key_2_remarks\"><strong>Remarks</strong></h5>\n  <div class=\"markdown level0 remarks\"><p>You can also create more specific implementations of this type, by creating a <em>struct</em> implementing <a class=\"xref\" href=\"Venflow.IKey-2.html\">IKey&lt;TEntity, TKey&gt;</a>.</p>\n</div>\n  <h3 id=\"constructors\">Constructors\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Key_2__ctor__1_.md&amp;value=---%0Auid%3A%20Venflow.Key%602.%23ctor(%601)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/Key.cs/#L26\">View Source</a>\n  </span>\n  <a id=\"Venflow_Key_2__ctor_\" data-uid=\"Venflow.Key`2.#ctor*\"></a>\n  <h4 id=\"Venflow_Key_2__ctor__1_\" data-uid=\"Venflow.Key`2.#ctor(`1)\">Key(TKey)</h4>\n  <div class=\"markdown level1 summary\"><p>Instantiates a new <a class=\"xref\" href=\"Venflow.Key-2.html\">Key&lt;TEntity, TKey&gt;</a> instance withe the provided value.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Key(TKey value)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TKey</span></td>\n        <td><span class=\"parametername\">value</span></td>\n        <td><p>The value which should represent the new <a class=\"xref\" href=\"Venflow.Key-2.html\">Key&lt;TEntity, TKey&gt;</a> instance.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Key_2_Equals_System_Nullable_System_Object__.md&amp;value=---%0Auid%3A%20Venflow.Key%602.Equals(System.Nullable%7BSystem.Object%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/Key.cs/#L62\">View Source</a>\n  </span>\n  <a id=\"Venflow_Key_2_Equals_\" data-uid=\"Venflow.Key`2.Equals*\"></a>\n  <h4 id=\"Venflow_Key_2_Equals_System_Nullable_System_Object__\" data-uid=\"Venflow.Key`2.Equals(System.Nullable{System.Object})\">Equals(Nullable&lt;Object&gt;)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override bool Equals(object? obj)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a>&gt;</td>\n        <td><span class=\"parametername\">obj</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Key_2_Equals_Venflow_Key__0__1__.md&amp;value=---%0Auid%3A%20Venflow.Key%602.Equals(Venflow.Key%7B%600%2C%601%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/Key.cs/#L56\">View Source</a>\n  </span>\n  <a id=\"Venflow_Key_2_Equals_\" data-uid=\"Venflow.Key`2.Equals*\"></a>\n  <h4 id=\"Venflow_Key_2_Equals_Venflow_Key__0__1__\" data-uid=\"Venflow.Key`2.Equals(Venflow.Key{`0,`1})\">Equals(Key&lt;TEntity, TKey&gt;)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public bool Equals(Key&lt;TEntity, TKey&gt; other)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Key-2.html\">Key</a>&lt;TEntity, TKey&gt;</td>\n        <td><span class=\"parametername\">other</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Key_2_GetHashCode.md&amp;value=---%0Auid%3A%20Venflow.Key%602.GetHashCode%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/Key.cs/#L73\">View Source</a>\n  </span>\n  <a id=\"Venflow_Key_2_GetHashCode_\" data-uid=\"Venflow.Key`2.GetHashCode*\"></a>\n  <h4 id=\"Venflow_Key_2_GetHashCode\" data-uid=\"Venflow.Key`2.GetHashCode\">GetHashCode()</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override int GetHashCode()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Key_2_ToString.md&amp;value=---%0Auid%3A%20Venflow.Key%602.ToString%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/Key.cs/#L79\">View Source</a>\n  </span>\n  <a id=\"Venflow_Key_2_ToString_\" data-uid=\"Venflow.Key`2.ToString*\"></a>\n  <h4 id=\"Venflow_Key_2_ToString\" data-uid=\"Venflow.Key`2.ToString\">ToString()</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override string? ToString()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a>&gt;</td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"operators\">Operators\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Key_2_op_Equality_Venflow_Key__0__1___Venflow_Key__0__1___.md&amp;value=---%0Auid%3A%20Venflow.Key%602.op_Equality(Venflow.Key%7B%600%2C%601%7D%40%2CVenflow.Key%7B%600%2C%601%7D%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/Key.cs/#L44\">View Source</a>\n  </span>\n  <a id=\"Venflow_Key_2_op_Equality_\" data-uid=\"Venflow.Key`2.op_Equality*\"></a>\n  <h4 id=\"Venflow_Key_2_op_Equality_Venflow_Key__0__1___Venflow_Key__0__1___\" data-uid=\"Venflow.Key`2.op_Equality(Venflow.Key{`0,`1}@,Venflow.Key{`0,`1}@)\">Equality(Key&lt;TEntity, TKey&gt;, Key&lt;TEntity, TKey&gt;)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static bool operator ==(in Key&lt;TEntity, TKey&gt; a, in Key&lt;TEntity, TKey&gt; b)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Key-2.html\">Key</a>&lt;TEntity, TKey&gt;</td>\n        <td><span class=\"parametername\">a</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Key-2.html\">Key</a>&lt;TEntity, TKey&gt;</td>\n        <td><span class=\"parametername\">b</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Key_2_op_Implicit__1___Venflow_Key__0__1_.md&amp;value=---%0Auid%3A%20Venflow.Key%602.op_Implicit(%601%40)~Venflow.Key%7B%600%2C%601%7D%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/Key.cs/#L38\">View Source</a>\n  </span>\n  <a id=\"Venflow_Key_2_op_Implicit_\" data-uid=\"Venflow.Key`2.op_Implicit*\"></a>\n  <h4 id=\"Venflow_Key_2_op_Implicit__1___Venflow_Key__0__1_\" data-uid=\"Venflow.Key`2.op_Implicit(`1@)~Venflow.Key{`0,`1}\">Implicit(TKey to Key&lt;TEntity, TKey&gt;)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static implicit operator Key&lt;TEntity, TKey&gt;(in TKey value)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TKey</span></td>\n        <td><span class=\"parametername\">value</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Key-2.html\">Key</a>&lt;TEntity, TKey&gt;</td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Key_2_op_Implicit_Venflow_Key__0__1_____1.md&amp;value=---%0Auid%3A%20Venflow.Key%602.op_Implicit(Venflow.Key%7B%600%2C%601%7D%40)~%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/Key.cs/#L32\">View Source</a>\n  </span>\n  <a id=\"Venflow_Key_2_op_Implicit_\" data-uid=\"Venflow.Key`2.op_Implicit*\"></a>\n  <h4 id=\"Venflow_Key_2_op_Implicit_Venflow_Key__0__1_____1\" data-uid=\"Venflow.Key`2.op_Implicit(Venflow.Key{`0,`1}@)~`1\">Implicit(Key&lt;TEntity, TKey&gt; to TKey)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static implicit operator TKey(in Key&lt;TEntity, TKey&gt; key)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Key-2.html\">Key</a>&lt;TEntity, TKey&gt;</td>\n        <td><span class=\"parametername\">key</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TKey</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Key_2_op_Inequality_Venflow_Key__0__1___Venflow_Key__0__1___.md&amp;value=---%0Auid%3A%20Venflow.Key%602.op_Inequality(Venflow.Key%7B%600%2C%601%7D%40%2CVenflow.Key%7B%600%2C%601%7D%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/Key.cs/#L50\">View Source</a>\n  </span>\n  <a id=\"Venflow_Key_2_op_Inequality_\" data-uid=\"Venflow.Key`2.op_Inequality*\"></a>\n  <h4 id=\"Venflow_Key_2_op_Inequality_Venflow_Key__0__1___Venflow_Key__0__1___\" data-uid=\"Venflow.Key`2.op_Inequality(Venflow.Key{`0,`1}@,Venflow.Key{`0,`1}@)\">Inequality(Key&lt;TEntity, TKey&gt;, Key&lt;TEntity, TKey&gt;)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static bool operator !=(in Key&lt;TEntity, TKey&gt; a, in Key&lt;TEntity, TKey&gt; b)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Key-2.html\">Key</a>&lt;TEntity, TKey&gt;</td>\n        <td><span class=\"parametername\">a</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Key-2.html\">Key</a>&lt;TEntity, TKey&gt;</td>\n        <td><span class=\"parametername\">b</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"eii\">Explicit Interface Implementations\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Key_2_Venflow_IKey_BoxedValue.md&amp;value=---%0Auid%3A%20Venflow.Key%602.Venflow%23IKey%23BoxedValue%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/Key.cs/#L20\">View Source</a>\n  </span>\n  <a id=\"Venflow_Key_2_Venflow_IKey_BoxedValue_\" data-uid=\"Venflow.Key`2.Venflow#IKey#BoxedValue*\"></a>\n  <h4 id=\"Venflow_Key_2_Venflow_IKey_BoxedValue\" data-uid=\"Venflow.Key`2.Venflow#IKey#BoxedValue\">IKey.BoxedValue</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">object? IKey.BoxedValue { get; }</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a>&gt;</td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Key_2_Venflow_IKey_TEntity_TKey__Value.md&amp;value=---%0Auid%3A%20Venflow.Key%602.Venflow%23IKey%7BTEntity%2CTKey%7D%23Value%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/Key.cs/#L19\">View Source</a>\n  </span>\n  <a id=\"Venflow_Key_2_Venflow_IKey_TEntity_TKey__Value_\" data-uid=\"Venflow.Key`2.Venflow#IKey{TEntity,TKey}#Value*\"></a>\n  <h4 id=\"Venflow_Key_2_Venflow_IKey_TEntity_TKey__Value\" data-uid=\"Venflow.Key`2.Venflow#IKey{TEntity,TKey}#Value\">IKey&lt;TEntity, TKey&gt;.Value</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">TKey IKey&lt;TEntity, TKey&gt;.Value { get; }</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TKey</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"implements\">Implements</h3>\n  <div>\n      <a class=\"xref\" href=\"Venflow.IKey-2.html\">IKey&lt;TEntity, TKey&gt;</a>\n  </div>\n  <div>\n      <a class=\"xref\" href=\"Venflow.IKey.html\">IKey</a>\n  </div>\n  <div>\n      <span class=\"xref\">IEquatable&lt;&gt;</span>\n  </div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Key_2.md&amp;value=---%0Auid%3A%20Venflow.Key%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/Key.cs/#L13\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.KeyConverter.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class KeyConverter\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class KeyConverter\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.KeyConverter\">\n  \n  \n  <h1 id=\"Venflow_KeyConverter\" data-uid=\"Venflow.KeyConverter\" class=\"text-break\">Class KeyConverter\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Provides a way of converting <a class=\"xref\" href=\"Venflow.Key-2.html\">Key&lt;TEntity, TKey&gt;</a> to strings and vice versa.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">KeyConverter</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.Keys.dll</h6>\n  <h5 id=\"Venflow_KeyConverter_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public class KeyConverter : TypeConverter</code></pre>\n  </div>\n  <h3 id=\"constructors\">Constructors\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_KeyConverter__ctor_Type_.md&amp;value=---%0Auid%3A%20Venflow.KeyConverter.%23ctor(Type)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/KeyConverter.cs/#L28\">View Source</a>\n  </span>\n  <a id=\"Venflow_KeyConverter__ctor_\" data-uid=\"Venflow.KeyConverter.#ctor*\"></a>\n  <h4 id=\"Venflow_KeyConverter__ctor_Type_\" data-uid=\"Venflow.KeyConverter.#ctor(Type)\">KeyConverter(Type)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new instance of a <a class=\"xref\" href=\"Venflow.KeyConverter.html\">KeyConverter</a> with the given key type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public KeyConverter(Type keyType)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Type</span></td>\n        <td><span class=\"parametername\">keyType</span></td>\n        <td><p>The type of the key to which the <a class=\"xref\" href=\"Venflow.KeyConverter.html\">KeyConverter</a> should bind to.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_KeyConverter_CanConvertFrom_System_Nullable_ITypeDescriptorContext__Type_.md&amp;value=---%0Auid%3A%20Venflow.KeyConverter.CanConvertFrom(System.Nullable%7BITypeDescriptorContext%7D%2CType)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/KeyConverter.cs/#L34\">View Source</a>\n  </span>\n  <a id=\"Venflow_KeyConverter_CanConvertFrom_\" data-uid=\"Venflow.KeyConverter.CanConvertFrom*\"></a>\n  <h4 id=\"Venflow_KeyConverter_CanConvertFrom_System_Nullable_ITypeDescriptorContext__Type_\" data-uid=\"Venflow.KeyConverter.CanConvertFrom(System.Nullable{ITypeDescriptorContext},Type)\">CanConvertFrom(Nullable&lt;ITypeDescriptorContext&gt;, Type)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override bool CanConvertFrom(ITypeDescriptorContext? context, Type sourceType)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<span class=\"xref\">ITypeDescriptorContext</span>&gt;</td>\n        <td><span class=\"parametername\">context</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">Type</span></td>\n        <td><span class=\"parametername\">sourceType</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_KeyConverter_CanConvertTo_System_Nullable_ITypeDescriptorContext__System_Nullable_Type__.md&amp;value=---%0Auid%3A%20Venflow.KeyConverter.CanConvertTo(System.Nullable%7BITypeDescriptorContext%7D%2CSystem.Nullable%7BType%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/KeyConverter.cs/#L38\">View Source</a>\n  </span>\n  <a id=\"Venflow_KeyConverter_CanConvertTo_\" data-uid=\"Venflow.KeyConverter.CanConvertTo*\"></a>\n  <h4 id=\"Venflow_KeyConverter_CanConvertTo_System_Nullable_ITypeDescriptorContext__System_Nullable_Type__\" data-uid=\"Venflow.KeyConverter.CanConvertTo(System.Nullable{ITypeDescriptorContext},System.Nullable{Type})\">CanConvertTo(Nullable&lt;ITypeDescriptorContext&gt;, Nullable&lt;Type&gt;)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override bool CanConvertTo(ITypeDescriptorContext? context, Type? destinationType)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<span class=\"xref\">ITypeDescriptorContext</span>&gt;</td>\n        <td><span class=\"parametername\">context</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<span class=\"xref\">Type</span>&gt;</td>\n        <td><span class=\"parametername\">destinationType</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_KeyConverter_ConvertFrom_System_Nullable_ITypeDescriptorContext__System_Nullable_CultureInfo__System_Object_.md&amp;value=---%0Auid%3A%20Venflow.KeyConverter.ConvertFrom(System.Nullable%7BITypeDescriptorContext%7D%2CSystem.Nullable%7BCultureInfo%7D%2CSystem.Object)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/KeyConverter.cs/#L42\">View Source</a>\n  </span>\n  <a id=\"Venflow_KeyConverter_ConvertFrom_\" data-uid=\"Venflow.KeyConverter.ConvertFrom*\"></a>\n  <h4 id=\"Venflow_KeyConverter_ConvertFrom_System_Nullable_ITypeDescriptorContext__System_Nullable_CultureInfo__System_Object_\" data-uid=\"Venflow.KeyConverter.ConvertFrom(System.Nullable{ITypeDescriptorContext},System.Nullable{CultureInfo},System.Object)\">ConvertFrom(Nullable&lt;ITypeDescriptorContext&gt;, Nullable&lt;CultureInfo&gt;, Object)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override object? ConvertFrom(ITypeDescriptorContext? context, CultureInfo? culture, object value)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<span class=\"xref\">ITypeDescriptorContext</span>&gt;</td>\n        <td><span class=\"parametername\">context</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<span class=\"xref\">CultureInfo</span>&gt;</td>\n        <td><span class=\"parametername\">culture</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></td>\n        <td><span class=\"parametername\">value</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a>&gt;</td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_KeyConverter_ConvertTo_System_Nullable_ITypeDescriptorContext__System_Nullable_CultureInfo__System_Nullable_System_Object__Type_.md&amp;value=---%0Auid%3A%20Venflow.KeyConverter.ConvertTo(System.Nullable%7BITypeDescriptorContext%7D%2CSystem.Nullable%7BCultureInfo%7D%2CSystem.Nullable%7BSystem.Object%7D%2CType)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/KeyConverter.cs/#L46\">View Source</a>\n  </span>\n  <a id=\"Venflow_KeyConverter_ConvertTo_\" data-uid=\"Venflow.KeyConverter.ConvertTo*\"></a>\n  <h4 id=\"Venflow_KeyConverter_ConvertTo_System_Nullable_ITypeDescriptorContext__System_Nullable_CultureInfo__System_Nullable_System_Object__Type_\" data-uid=\"Venflow.KeyConverter.ConvertTo(System.Nullable{ITypeDescriptorContext},System.Nullable{CultureInfo},System.Nullable{System.Object},Type)\">ConvertTo(Nullable&lt;ITypeDescriptorContext&gt;, Nullable&lt;CultureInfo&gt;, Nullable&lt;Object&gt;, Type)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override object? ConvertTo(ITypeDescriptorContext? context, CultureInfo? culture, object? value, Type destinationType)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<span class=\"xref\">ITypeDescriptorContext</span>&gt;</td>\n        <td><span class=\"parametername\">context</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<span class=\"xref\">CultureInfo</span>&gt;</td>\n        <td><span class=\"parametername\">culture</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a>&gt;</td>\n        <td><span class=\"parametername\">value</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">Type</span></td>\n        <td><span class=\"parametername\">destinationType</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a>&gt;</td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_KeyConverter_GetOrCreateKeyFactory__1_Type_.md&amp;value=---%0Auid%3A%20Venflow.KeyConverter.GetOrCreateKeyFactory%60%601(Type)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/KeyConverter.cs/#L52\">View Source</a>\n  </span>\n  <a id=\"Venflow_KeyConverter_GetOrCreateKeyFactory_\" data-uid=\"Venflow.KeyConverter.GetOrCreateKeyFactory*\"></a>\n  <h4 id=\"Venflow_KeyConverter_GetOrCreateKeyFactory__1_Type_\" data-uid=\"Venflow.KeyConverter.GetOrCreateKeyFactory``1(Type)\">GetOrCreateKeyFactory&lt;TValue&gt;(Type)</h4>\n  <div class=\"markdown level1 summary\"><p>Gets or creates a key factory for the given type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static Func&lt;TValue, object&gt; GetOrCreateKeyFactory&lt;TValue&gt;(Type keyType)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Type</span></td>\n        <td><span class=\"parametername\">keyType</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Func</span>&lt;TValue, <a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a>&gt;</td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TValue</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_KeyConverter_GetOrCreateKeyFactory__2_Type_.md&amp;value=---%0Auid%3A%20Venflow.KeyConverter.GetOrCreateKeyFactory%60%602(Type)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/KeyConverter.cs/#L59\">View Source</a>\n  </span>\n  <a id=\"Venflow_KeyConverter_GetOrCreateKeyFactory_\" data-uid=\"Venflow.KeyConverter.GetOrCreateKeyFactory*\"></a>\n  <h4 id=\"Venflow_KeyConverter_GetOrCreateKeyFactory__2_Type_\" data-uid=\"Venflow.KeyConverter.GetOrCreateKeyFactory``2(Type)\">GetOrCreateKeyFactory&lt;TKeyType, TValue&gt;(Type)</h4>\n  <div class=\"markdown level1 summary\"><p>Gets or creates a key factory for the given type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static Func&lt;TValue, TKeyType&gt; GetOrCreateKeyFactory&lt;TKeyType, TValue&gt;(Type keyType)\n    where TKeyType : struct, IKey</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Type</span></td>\n        <td><span class=\"parametername\">keyType</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Func</span>&lt;TValue, TKeyType&gt;</td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TKeyType</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TValue</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_KeyConverter.md&amp;value=---%0Auid%3A%20Venflow.KeyConverter%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.Keys/KeyConverter.cs/#L13\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.LoggerCallback.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Delegate LoggerCallback\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Delegate LoggerCallback\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.LoggerCallback\">\n  \n  \n  <h1 id=\"Venflow_LoggerCallback\" data-uid=\"Venflow.LoggerCallback\" class=\"text-break\">Delegate LoggerCallback\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represent a method that will handle all Logs produced by a <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_LoggerCallback_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public delegate void LoggerCallback(NpgsqlCommand command, CommandType commandType, Exception? exception);</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">NpgsqlCommand</span></td>\n        <td><span class=\"parametername\">command</span></td>\n        <td><p>The command which produced the log.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Enums.CommandType.html\">CommandType</a></td>\n        <td><span class=\"parametername\">commandType</span></td>\n        <td><p>The command type which produced the log.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<span class=\"xref\">Exception</span>&gt;</td>\n        <td><span class=\"parametername\">exception</span></td>\n        <td><p>The exception occurred while trying to execute the command, if any occurred.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_LoggerCallback.md&amp;value=---%0Auid%3A%20Venflow.LoggerCallback%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/DatabaseOptionsBuilder.cs/#L12\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IEntityBuilder&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IEntityBuilder&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder`1\">\n  \n  \n  <h1 id=\"Venflow_Modeling_Definitions_Builder_IEntityBuilder_1\" data-uid=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder`1\" class=\"text-break\">Interface IEntityBuilder&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Instances of this class are returned from methods inside the <a class=\"xref\" href=\"Venflow.Modeling.Definitions.EntityConfiguration-1.html\">EntityConfiguration&lt;TEntity&gt;</a> class when using the Fluent API and it is not designed to be directly constructed in your application code.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html#Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasOne__1_Expression_Func__0___0___\">ILeftRelationBuilder&lt;TEntity&gt;.HasOne&lt;TRelation&gt;(Expression&lt;Func&lt;TEntity, TRelation&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html#Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasOne__1\">ILeftRelationBuilder&lt;TEntity&gt;.HasOne&lt;TRelation&gt;()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html#Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasMany__1_Expression_Func__0_IList___0____\">ILeftRelationBuilder&lt;TEntity&gt;.HasMany&lt;TRelation&gt;(Expression&lt;Func&lt;TEntity, IList&lt;TRelation&gt;&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html#Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasMany__1\">ILeftRelationBuilder&lt;TEntity&gt;.HasMany&lt;TRelation&gt;()</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.html\">Venflow.Modeling.Definitions.Builder</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IEntityBuilder&lt;TEntity&gt; : ILeftRelationBuilder&lt;TEntity&gt; where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The entity type being configured.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_Column__1_Expression_Func__0___0___.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IEntityBuilder%601.Column%60%601(Expression%7BFunc%7B%600%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/EntityBuilder.cs/#L523\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_Column_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.Column*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_Column__1_Expression_Func__0___0___\" data-uid=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.Column``1(Expression{Func{`0,``0}})\">Column&lt;TTarget&gt;(Expression&lt;Func&lt;TEntity, TTarget&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Configures a column on the current entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IPropertyBuilder Column&lt;TTarget&gt;(Expression&lt;Func&lt;TEntity, TTarget&gt;&gt; propertySelector)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TTarget&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the property on this entity type.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IPropertyBuilder.html\">IPropertyBuilder</a></td>\n        <td><p>A new column builder instance so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TTarget</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_Ignore__1_Expression_Func__0___0___.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IEntityBuilder%601.Ignore%60%601(Expression%7BFunc%7B%600%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/EntityBuilder.cs/#L540\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_Ignore_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.Ignore*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_Ignore__1_Expression_Func__0___0___\" data-uid=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.Ignore``1(Expression{Func{`0,``0}})\">Ignore&lt;TTarget&gt;(Expression&lt;Func&lt;TEntity, TTarget&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Ignores a property for this entity type. This is the Fluent API equivalent to the <see cref=\"!:NotMappedAttribute\"></see>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IEntityBuilder&lt;TEntity&gt; Ignore&lt;TTarget&gt;(Expression&lt;Func&lt;TEntity, TTarget&gt;&gt; propertySelector)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TTarget&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the property on this entity type.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html\">IEntityBuilder</a>&lt;TEntity&gt;</td>\n        <td><p>The same builder instance so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TTarget</span></td>\n        <td><p>The type of the property.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapColumn__1_Expression_Func__0___0___System_String_.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IEntityBuilder%601.MapColumn%60%601(Expression%7BFunc%7B%600%2C%60%600%7D%7D%2CSystem.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/EntityBuilder.cs/#L532\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapColumn_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapColumn*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapColumn__1_Expression_Func__0___0___System_String_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapColumn``1(Expression{Func{`0,``0}},System.String)\">MapColumn&lt;TTarget&gt;(Expression&lt;Func&lt;TEntity, TTarget&gt;&gt;, String)</h4>\n  <div class=\"markdown level1 summary\"><p>Configures the column that the property maps to, if not configured it will use the name of the property inside the entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IEntityBuilder&lt;TEntity&gt; MapColumn&lt;TTarget&gt;(Expression&lt;Func&lt;TEntity, TTarget&gt;&gt; propertySelector, string columnName)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TTarget&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the property on this entity type.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">columnName</span></td>\n        <td><p>The name of the column in the database to which the used property should map to.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html\">IEntityBuilder</a>&lt;TEntity&gt;</td>\n        <td><p>The same builder instance so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TTarget</span></td>\n        <td><p>The type of the property.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapId__1_Expression_Func__0___0___DatabaseGeneratedOption_.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IEntityBuilder%601.MapId%60%601(Expression%7BFunc%7B%600%2C%60%600%7D%7D%2CDatabaseGeneratedOption)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/EntityBuilder.cs/#L549\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapId_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapId*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapId__1_Expression_Func__0___0___DatabaseGeneratedOption_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapId``1(Expression{Func{`0,``0}},DatabaseGeneratedOption)\">MapId&lt;TTarget&gt;(Expression&lt;Func&lt;TEntity, TTarget&gt;&gt;, DatabaseGeneratedOption)</h4>\n  <div class=\"markdown level1 summary\"><p>Sets the property that defines the primary key for this entity type. This is the Fluent API equivalent to the <see cref=\"!:KeyAttribute\"></see>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IEntityBuilder&lt;TEntity&gt; MapId&lt;TTarget&gt;(Expression&lt;Func&lt;TEntity, TTarget&gt;&gt; propertySelector, DatabaseGeneratedOption option)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TTarget&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the primary key on this entity type.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">DatabaseGeneratedOption</span></td>\n        <td><span class=\"parametername\">option</span></td>\n        <td><p>The option which define how the primary key is generate.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html\">IEntityBuilder</a>&lt;TEntity&gt;</td>\n        <td><p>The same builder instance so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TTarget</span></td>\n        <td><p>The type of the primary key.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapPostgresEnum__1_Expression_Func__0___0___System_Nullable_System_String__System_Nullable_INpgsqlNameTranslator__.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IEntityBuilder%601.MapPostgresEnum%60%601(Expression%7BFunc%7B%600%2C%60%600%7D%7D%2CSystem.Nullable%7BSystem.String%7D%2CSystem.Nullable%7BINpgsqlNameTranslator%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/EntityBuilder.cs/#L573\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapPostgresEnum_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapPostgresEnum*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapPostgresEnum__1_Expression_Func__0___0___System_Nullable_System_String__System_Nullable_INpgsqlNameTranslator__\" data-uid=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapPostgresEnum``1(Expression{Func{`0,``0}},System.Nullable{System.String},System.Nullable{INpgsqlNameTranslator})\">MapPostgresEnum&lt;TTarget&gt;(Expression&lt;Func&lt;TEntity, TTarget&gt;&gt;, Nullable&lt;String&gt;, Nullable&lt;INpgsqlNameTranslator&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Maps a PostgreSQL enum to a CLR enum.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IEntityBuilder&lt;TEntity&gt; MapPostgresEnum&lt;TTarget&gt;(Expression&lt;Func&lt;TEntity, TTarget&gt;&gt; propertySelector, string? name = null, INpgsqlNameTranslator? npgsqlNameTranslator = null)\n    where TTarget : struct, Enum</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TTarget&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the enum which should be mapped on this entity type.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a>&gt;</td>\n        <td><span class=\"parametername\">name</span></td>\n        <td><p>The name of the enum in PostgreSQL, if none used it will try to convert the name of the CLR enum e.g. 'FooBar' to 'foo_bar'</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<span class=\"xref\">INpgsqlNameTranslator</span>&gt;</td>\n        <td><span class=\"parametername\">npgsqlNameTranslator</span></td>\n        <td><p>A component which will be used to translate CLR names (e.g. SomeClass) into database names (e.g. some_class). Defaults to <see cref=\"!:Npgsql.NameTranslation.NpgsqlSnakeCaseNameTranslator\"></see>.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html\">IEntityBuilder</a>&lt;TEntity&gt;</td>\n        <td><p>The same builder instance so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TTarget</span></td>\n        <td><p>The type of the enum.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapPostgresEnum__1_Expression_Func__0_System_Nullable___0____System_Nullable_System_String__System_Nullable_INpgsqlNameTranslator__.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IEntityBuilder%601.MapPostgresEnum%60%601(Expression%7BFunc%7B%600%2CSystem.Nullable%7B%60%600%7D%7D%7D%2CSystem.Nullable%7BSystem.String%7D%2CSystem.Nullable%7BINpgsqlNameTranslator%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/EntityBuilder.cs/#L585\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapPostgresEnum_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapPostgresEnum*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapPostgresEnum__1_Expression_Func__0_System_Nullable___0____System_Nullable_System_String__System_Nullable_INpgsqlNameTranslator__\" data-uid=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapPostgresEnum``1(Expression{Func{`0,System.Nullable{``0}}},System.Nullable{System.String},System.Nullable{INpgsqlNameTranslator})\">MapPostgresEnum&lt;TTarget&gt;(Expression&lt;Func&lt;TEntity, Nullable&lt;TTarget&gt;&gt;&gt;, Nullable&lt;String&gt;, Nullable&lt;INpgsqlNameTranslator&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Maps a PostgreSQL enum to a CLR enum.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IEntityBuilder&lt;TEntity&gt; MapPostgresEnum&lt;TTarget&gt;(Expression&lt;Func&lt;TEntity, TTarget?&gt;&gt; propertySelector, string? name = null, INpgsqlNameTranslator? npgsqlNameTranslator = null)\n    where TTarget : struct, Enum</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, <a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;TTarget&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the enum which should be mapped on this entity type.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a>&gt;</td>\n        <td><span class=\"parametername\">name</span></td>\n        <td><p>The name of the enum in PostgreSQL, if none used it will try to convert the name of the CLR enum e.g. 'FooBar' to 'foo_bar'</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<span class=\"xref\">INpgsqlNameTranslator</span>&gt;</td>\n        <td><span class=\"parametername\">npgsqlNameTranslator</span></td>\n        <td><p>A component which will be used to translate CLR names (e.g. SomeClass) into database names (e.g. some_class). Defaults to <see cref=\"!:Npgsql.NameTranslation.NpgsqlSnakeCaseNameTranslator\"></see>.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html\">IEntityBuilder</a>&lt;TEntity&gt;</td>\n        <td><p>The same builder instance so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TTarget</span></td>\n        <td><p>The type of the enum.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapToTable_System_String_.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IEntityBuilder%601.MapToTable(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/EntityBuilder.cs/#L516\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapToTable_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapToTable*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapToTable_System_String_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapToTable(System.String)\">MapToTable(String)</h4>\n  <div class=\"markdown level1 summary\"><p>Configures the table that the entity type maps to, if not configured it will use the name of the <a class=\"xref\" href=\"Venflow.Table-1.html\">Table&lt;TEntity&gt;</a> property inside the <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> class.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IEntityBuilder&lt;TEntity&gt; MapToTable(string tableName)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">tableName</span></td>\n        <td><p>The name of the table.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html\">IEntityBuilder</a>&lt;TEntity&gt;</td>\n        <td><p>The same builder instance so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_SetNpgsqlNameTranslator_INpgsqlNameTranslator_.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IEntityBuilder%601.SetNpgsqlNameTranslator(INpgsqlNameTranslator)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/EntityBuilder.cs/#L556\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_SetNpgsqlNameTranslator_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.SetNpgsqlNameTranslator*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_SetNpgsqlNameTranslator_INpgsqlNameTranslator_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.SetNpgsqlNameTranslator(INpgsqlNameTranslator)\">SetNpgsqlNameTranslator(INpgsqlNameTranslator)</h4>\n  <div class=\"markdown level1 summary\"><p>Sets the <see cref=\"!:INpgsqlNameTranslator\"></see> instance to be used for entity table and column name translations.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IEntityBuilder&lt;TEntity&gt; SetNpgsqlNameTranslator(INpgsqlNameTranslator npgsqlNameTranslator)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">INpgsqlNameTranslator</span></td>\n        <td><span class=\"parametername\">npgsqlNameTranslator</span></td>\n        <td><p>An implementation of <see cref=\"!:INpgsqlNameTranslator\"></see> to be used for entity name translations.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html\">IEntityBuilder</a>&lt;TEntity&gt;</td>\n        <td><p>The same builder instance so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_SetNpgsqlNameTranslator__1.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IEntityBuilder%601.SetNpgsqlNameTranslator%60%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/EntityBuilder.cs/#L563\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_SetNpgsqlNameTranslator_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.SetNpgsqlNameTranslator*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_SetNpgsqlNameTranslator__1\" data-uid=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.SetNpgsqlNameTranslator``1\">SetNpgsqlNameTranslator&lt;T&gt;()</h4>\n  <div class=\"markdown level1 summary\"><p>Sets the <see cref=\"!:INpgsqlNameTranslator\"></see> instance to be used for entity table and column name translations.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IEntityBuilder&lt;TEntity&gt; SetNpgsqlNameTranslator&lt;T&gt;()\n    where T : INpgsqlNameTranslator, new()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html\">IEntityBuilder</a>&lt;TEntity&gt;</td>\n        <td><p>The same builder instance so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">T</span></td>\n        <td><p>An implementation of <see cref=\"!:INpgsqlNameTranslator\"></see> to be used for entity name translations.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IEntityBuilder_1.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IEntityBuilder%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/EntityBuilder.cs/#L509\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IForeignKeyRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IForeignKeyRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2\">\n  \n  \n  <h1 id=\"Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2\" data-uid=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2\" class=\"text-break\">Interface IForeignKeyRelationBuilder&lt;TEntity, TRelation&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>This interface hosts relation methods for the foreign key configurations.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.html\">Venflow.Modeling.Definitions.Builder</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IForeignKeyRelationBuilder&lt;TEntity, TRelation&gt;\n    where TEntity : class, new()\n    where TRelation : class</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TRelation</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2_UsingForeignKey__1_Expression_Func__0___0___.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder%602.UsingForeignKey%60%601(Expression%7BFunc%7B%600%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/IForeignKeyRelationBuilder.cs/#L15\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2_UsingForeignKey_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2.UsingForeignKey*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2_UsingForeignKey__1_Expression_Func__0___0___\" data-uid=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2.UsingForeignKey``1(Expression{Func{`0,``0}})\">UsingForeignKey&lt;TKey&gt;(Expression&lt;Func&lt;TEntity, TKey&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Configures the property to be used as the foreign key for this relationship.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">void UsingForeignKey&lt;TKey&gt;(Expression&lt;Func&lt;TEntity, TKey&gt;&gt; navigationProperty)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TKey&gt;&gt;</td>\n        <td><span class=\"parametername\">navigationProperty</span></td>\n        <td><p>A lambda expression representing the foreign key property (post =&gt; post.BlogId).</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TKey</span></td>\n        <td><p>The type of the foreign key.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2_UsingForeignKey__1_Expression_Func__1___0___.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder%602.UsingForeignKey%60%601(Expression%7BFunc%7B%601%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/IForeignKeyRelationBuilder.cs/#L22\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2_UsingForeignKey_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2.UsingForeignKey*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2_UsingForeignKey__1_Expression_Func__1___0___\" data-uid=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2.UsingForeignKey``1(Expression{Func{`1,``0}})\">UsingForeignKey&lt;TKey&gt;(Expression&lt;Func&lt;TRelation, TKey&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Configures the property to be used as the foreign key for this relationship.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">void UsingForeignKey&lt;TKey&gt;(Expression&lt;Func&lt;TRelation, TKey&gt;&gt; navigationProperty)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelation, TKey&gt;&gt;</td>\n        <td><span class=\"parametername\">navigationProperty</span></td>\n        <td><p>A lambda expression representing the foreign key property (post =&gt; post.BlogId).</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TKey</span></td>\n        <td><p>The type of the foreign key.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/IForeignKeyRelationBuilder.cs/#L8\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface ILeftRelationBuilder&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface ILeftRelationBuilder&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1\">\n  \n  \n  <h1 id=\"Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1\" data-uid=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1\" class=\"text-break\">Interface ILeftRelationBuilder&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>This interface hosts relation methods for the left side of a relation.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.html\">Venflow.Modeling.Definitions.Builder</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface ILeftRelationBuilder&lt;TEntity&gt;\n    where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The entity type being configured.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasMany__1.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder%601.HasMany%60%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/ILeftRelationBuilder.cs/#L70\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasMany_\" data-uid=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasMany*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasMany__1\" data-uid=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasMany``1\">HasMany&lt;TRelation&gt;()</h4>\n  <div class=\"markdown level1 summary\"><p>\n    Configures a relationship where this entity type has a collection that contains instances of the other type in the relationship.\n</p>\n<p>\n    Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n</p>\n<p>\n    After calling this method, you should chain a call to <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2_WithOne_Expression_Func__1__0___\">WithOne(Expression&lt;Func&lt;TRelation, TEntity&gt;&gt;)</a> to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship.\n</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt; HasMany&lt;TRelation&gt;()\n    where TRelation : class</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html\">IRequiredSingleRightRelationBuilder</a>&lt;TEntity, TRelation&gt;</td>\n        <td><p>An object that can be used to configure the relationship.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TRelation</span></td>\n        <td><p>The entity type that this relationship targets.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasMany__1_Expression_Func__0_IList___0____.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder%601.HasMany%60%601(Expression%7BFunc%7B%600%2CIList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/ILeftRelationBuilder.cs/#L55\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasMany_\" data-uid=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasMany*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasMany__1_Expression_Func__0_IList___0____\" data-uid=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasMany``1(Expression{Func{`0,IList{``0}}})\">HasMany&lt;TRelation&gt;(Expression&lt;Func&lt;TEntity, IList&lt;TRelation&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>\n    Configures a relationship where this entity type has a collection that contains instances of the other type in the relationship.\n</p>\n<p>\n    Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n</p>\n<p>\n    After calling this method, you should chain a call to <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_INotRequiredSingleRightRelationBuilder_2_WithOne\">WithOne()</a> to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship.\n</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">INotRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt; HasMany&lt;TRelation&gt;(Expression&lt;Func&lt;TEntity, IList&lt;TRelation&gt;&gt;&gt; navigationProperty)\n    where TRelation : class</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, <span class=\"xref\">IList</span>&lt;TRelation&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">navigationProperty</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html\">INotRequiredSingleRightRelationBuilder</a>&lt;TEntity, TRelation&gt;</td>\n        <td><p>An object that can be used to configure the relationship.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TRelation</span></td>\n        <td><p>The entity type that this relationship targets.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasOne__1.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder%601.HasOne%60%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/ILeftRelationBuilder.cs/#L40\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasOne_\" data-uid=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasOne*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasOne__1\" data-uid=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasOne``1\">HasOne&lt;TRelation&gt;()</h4>\n  <div class=\"markdown level1 summary\"><p>\n    Configures a relationship where this entity type has a reference that points to a single instance of the other type in the relationship.\n</p>\n<p>\n    Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n</p>\n<p>\n    After calling this method, you should chain a call to <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IMultiRightRelationBuilder_2_WithMany_Expression_Func__1_IList__0____\">WithMany(Expression&lt;Func&lt;TRelation, IList&lt;TEntity&gt;&gt;&gt;)</a> or <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2_WithOne_Expression_Func__1__0___\">WithOne(Expression&lt;Func&lt;TRelation, TEntity&gt;&gt;)</a> to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship.\n</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt; HasOne&lt;TRelation&gt;()\n    where TRelation : class</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder-2.html\">IRequiredMultiRightRelationBuilder</a>&lt;TEntity, TRelation&gt;</td>\n        <td><p>An object that can be used to configure the relationship.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TRelation</span></td>\n        <td><p>The entity type that this relationship targets.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasOne__1_Expression_Func__0___0___.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder%601.HasOne%60%601(Expression%7BFunc%7B%600%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/ILeftRelationBuilder.cs/#L25\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasOne_\" data-uid=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasOne*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasOne__1_Expression_Func__0___0___\" data-uid=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasOne``1(Expression{Func{`0,``0}})\">HasOne&lt;TRelation&gt;(Expression&lt;Func&lt;TEntity, TRelation&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>\n    Configures a relationship where this entity type has a reference that points to a single instance of the other type in the relationship.\n</p>\n<p>\n    Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n</p>\n<p>\n    After calling this method, you should chain a call to <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_INotRequiredMultiRightRelationBuilder_2_WithMany\">WithMany()</a> or <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_INotRequiredSingleRightRelationBuilder_2_WithOne\">WithOne()</a> to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship.\n</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">INotRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt; HasOne&lt;TRelation&gt;(Expression&lt;Func&lt;TEntity, TRelation&gt;&gt; navigationProperty)\n    where TRelation : class</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TRelation&gt;&gt;</td>\n        <td><span class=\"parametername\">navigationProperty</span></td>\n        <td><p>A lambda expression representing the reference navigation property on this entity type that represents the relationship (post =&gt; post.Blog). If no property is specified, the relationship will be configured without a navigation property on this end.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder-2.html\">INotRequiredMultiRightRelationBuilder</a>&lt;TEntity, TRelation&gt;</td>\n        <td><p>An object that can be used to configure the relationship.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TRelation</span></td>\n        <td><p>The entity type that this relationship targets.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/ILeftRelationBuilder.cs/#L9\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder`2\">\n  \n  \n  <h1 id=\"Venflow_Modeling_Definitions_Builder_IMultiRightRelationBuilder_2\" data-uid=\"Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder`2\" class=\"text-break\">Interface IMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Instances of this class are returned from methods inside the <a class=\"xref\" href=\"Venflow.Table-1.html\">Table&lt;TEntity&gt;</a> class when using the Fluid API and it is not designed to be directly constructed in your application code.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.html\">Venflow.Modeling.Definitions.Builder</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Modeling_Definitions_Builder_IMultiRightRelationBuilder_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\n    where TEntity : class, new()\n    where TRelation : class</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TRelation</span></td>\n        <td><p>The entity type that this relationship targets.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IMultiRightRelationBuilder_2_WithMany_Expression_Func__1_IList__0____.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder%602.WithMany(Expression%7BFunc%7B%601%2CIList%7B%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/IMultiRightRelationBuilder.cs/#L22\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_IMultiRightRelationBuilder_2_WithMany_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder`2.WithMany*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_IMultiRightRelationBuilder_2_WithMany_Expression_Func__1_IList__0____\" data-uid=\"Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder`2.WithMany(Expression{Func{`1,IList{`0}}})\">WithMany(Expression&lt;Func&lt;TRelation, IList&lt;TEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>\n    Configures this as a one-to-many relationship.\n</p>\n<p>\n    Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IForeignKeyRelationBuilder&lt;TEntity, TRelation&gt; WithMany(Expression&lt;Func&lt;TRelation, IList&lt;TEntity&gt;&gt;&gt; navigationProperty)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelation, <span class=\"xref\">IList</span>&lt;TEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">navigationProperty</span></td>\n        <td><p>A lambda expression representing the collection navigation property on the other end of this relationship (blog =&gt; blog.Posts). If no property is specified, the relationship will be configured without a navigation property on the other end of the relationship.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html\">IForeignKeyRelationBuilder</a>&lt;TEntity, TRelation&gt;</td>\n        <td><p>An object that can be used to configure the relationship.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IMultiRightRelationBuilder_2.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/IMultiRightRelationBuilder.cs/#L10\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface INotRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface INotRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder`2\">\n  \n  \n  <h1 id=\"Venflow_Modeling_Definitions_Builder_INotRequiredMultiRightRelationBuilder_2\" data-uid=\"Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder`2\" class=\"text-break\">Interface INotRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>This interface hosts relation methods for the right side of a relation.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IMultiRightRelationBuilder_2_WithMany_Expression_Func__1_IList__0____\">IMultiRightRelationBuilder&lt;TEntity, TRelation&gt;.WithMany(Expression&lt;Func&lt;TRelation, IList&lt;TEntity&gt;&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_INotRequiredSingleRightRelationBuilder_2_WithOne\">INotRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;.WithOne()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2_WithOne_Expression_Func__1__0___\">IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;.WithOne(Expression&lt;Func&lt;TRelation, TEntity&gt;&gt;)</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.html\">Venflow.Modeling.Definitions.Builder</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Modeling_Definitions_Builder_INotRequiredMultiRightRelationBuilder_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface INotRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt; : IMultiRightRelationBuilder&lt;TEntity, TRelation&gt;, INotRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;, IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt; where TEntity : class, new()\n    where TRelation : class</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TRelation</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_INotRequiredMultiRightRelationBuilder_2_WithMany.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder%602.WithMany%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/INotRequiredMultiRightRelationBuilder.cs/#L17\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_INotRequiredMultiRightRelationBuilder_2_WithMany_\" data-uid=\"Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder`2.WithMany*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_INotRequiredMultiRightRelationBuilder_2_WithMany\" data-uid=\"Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder`2.WithMany\">WithMany()</h4>\n  <div class=\"markdown level1 summary\"><p>\n    Configures this as a one-to-many relationship.\n</p>\n<p>\n    Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IForeignKeyRelationBuilder&lt;TEntity, TRelation&gt; WithMany()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html\">IForeignKeyRelationBuilder</a>&lt;TEntity, TRelation&gt;</td>\n        <td><p>An object that can be used to configure the relationship.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_INotRequiredMultiRightRelationBuilder_2.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/INotRequiredMultiRightRelationBuilder.cs/#L6\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface INotRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface INotRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2\">\n  \n  \n  <h1 id=\"Venflow_Modeling_Definitions_Builder_INotRequiredSingleRightRelationBuilder_2\" data-uid=\"Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2\" class=\"text-break\">Interface INotRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>This interface hosts relation methods for the right side of a relation.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2_WithOne_Expression_Func__1__0___\">IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;.WithOne(Expression&lt;Func&lt;TRelation, TEntity&gt;&gt;)</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.html\">Venflow.Modeling.Definitions.Builder</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Modeling_Definitions_Builder_INotRequiredSingleRightRelationBuilder_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface INotRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt; : IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt; where TEntity : class, new()\n    where TRelation : class</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TRelation</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_INotRequiredSingleRightRelationBuilder_2_WithOne.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder%602.WithOne%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/INotRequiredSingleRightRelationBuilder.cs/#L17\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_INotRequiredSingleRightRelationBuilder_2_WithOne_\" data-uid=\"Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2.WithOne*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_INotRequiredSingleRightRelationBuilder_2_WithOne\" data-uid=\"Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2.WithOne\">WithOne()</h4>\n  <div class=\"markdown level1 summary\"><p>\n    Configures this as a one-to-one relationship.\n</p>\n<p>\n    Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IForeignKeyRelationBuilder&lt;TEntity, TRelation&gt; WithOne()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html\">IForeignKeyRelationBuilder</a>&lt;TEntity, TRelation&gt;</td>\n        <td><p>An object that can be used to configure the relationship.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_INotRequiredSingleRightRelationBuilder_2.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/INotRequiredSingleRightRelationBuilder.cs/#L6\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Modeling.Definitions.Builder.IPropertyBuilder.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IPropertyBuilder\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IPropertyBuilder\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Modeling.Definitions.Builder.IPropertyBuilder\">\n  \n  \n  <h1 id=\"Venflow_Modeling_Definitions_Builder_IPropertyBuilder\" data-uid=\"Venflow.Modeling.Definitions.Builder.IPropertyBuilder\" class=\"text-break\">Interface IPropertyBuilder\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Instances of this class are returned from methods inside the <span class=\"xref\">Venflow.Modeling.Definitions.Builder.EntityBuilder`1</span> class when using the Fluent API and it is not designed to be directly constructed in your application code.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.html\">Venflow.Modeling.Definitions.Builder</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Modeling_Definitions_Builder_IPropertyBuilder_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IPropertyBuilder</code></pre>\n  </div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IPropertyBuilder_HasDefault.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IPropertyBuilder.HasDefault%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/PropertyBuilder.cs/#L74\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_IPropertyBuilder_HasDefault_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IPropertyBuilder.HasDefault*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_IPropertyBuilder_HasDefault\" data-uid=\"Venflow.Modeling.Definitions.Builder.IPropertyBuilder.HasDefault\">HasDefault()</h4>\n  <div class=\"markdown level1 summary\"><p>Marks the current column to be generated by the database</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IPropertyBuilder HasDefault()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IPropertyBuilder.html\">IPropertyBuilder</a></td>\n        <td><p>The same builder instance so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IPropertyBuilder_HasId.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IPropertyBuilder.HasId%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/PropertyBuilder.cs/#L54\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_IPropertyBuilder_HasId_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IPropertyBuilder.HasId*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_IPropertyBuilder_HasId\" data-uid=\"Venflow.Modeling.Definitions.Builder.IPropertyBuilder.HasId\">HasId()</h4>\n  <div class=\"markdown level1 summary\"><p>Marks the current property as a primary key. This is the Fluent API equivalent to the <see cref=\"!:KeyAttribute\"></see>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IPropertyBuilder HasId()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IPropertyBuilder.html\">IPropertyBuilder</a></td>\n        <td><p>The same builder instance so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IPropertyBuilder_WithName_System_String_.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IPropertyBuilder.WithName(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/PropertyBuilder.cs/#L61\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_IPropertyBuilder_WithName_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IPropertyBuilder.WithName*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_IPropertyBuilder_WithName_System_String_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IPropertyBuilder.WithName(System.String)\">WithName(String)</h4>\n  <div class=\"markdown level1 summary\"><p>Configures the name of the current column, if not configured it will use the name of the property.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IPropertyBuilder WithName(string name)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">name</span></td>\n        <td><p>The name of the column in the database to which the used property should map to.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IPropertyBuilder.html\">IPropertyBuilder</a></td>\n        <td><p>The same builder instance so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IPropertyBuilder_WithType_NpgsqlDbType_.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IPropertyBuilder.WithType(NpgsqlDbType)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/PropertyBuilder.cs/#L68\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_IPropertyBuilder_WithType_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IPropertyBuilder.WithType*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_IPropertyBuilder_WithType_NpgsqlDbType_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IPropertyBuilder.WithType(NpgsqlDbType)\">WithType(NpgsqlDbType)</h4>\n  <div class=\"markdown level1 summary\"><p>Configures the database type of the current column, if not configured it will use the default of the property.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IPropertyBuilder WithType(NpgsqlDbType dbType)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">NpgsqlDbType</span></td>\n        <td><span class=\"parametername\">dbType</span></td>\n        <td><p>The type of the column in the database.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IPropertyBuilder.html\">IPropertyBuilder</a></td>\n        <td><p>The same builder instance so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IPropertyBuilder.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IPropertyBuilder%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/PropertyBuilder.cs/#L48\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder`2\">\n  \n  \n  <h1 id=\"Venflow_Modeling_Definitions_Builder_IRequiredMultiRightRelationBuilder_2\" data-uid=\"Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder`2\" class=\"text-break\">Interface IRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>This interface hosts relation methods for the right side of a relation.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IMultiRightRelationBuilder_2_WithMany_Expression_Func__1_IList__0____\">IMultiRightRelationBuilder&lt;TEntity, TRelation&gt;.WithMany(Expression&lt;Func&lt;TRelation, IList&lt;TEntity&gt;&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2_WithOne_Expression_Func__1__0___\">IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;.WithOne(Expression&lt;Func&lt;TRelation, TEntity&gt;&gt;)</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.html\">Venflow.Modeling.Definitions.Builder</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Modeling_Definitions_Builder_IRequiredMultiRightRelationBuilder_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt; : IMultiRightRelationBuilder&lt;TEntity, TRelation&gt;, IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt; where TEntity : class, new()\n    where TRelation : class</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TRelation</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IRequiredMultiRightRelationBuilder_2.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/IRequiredMultiRightRelationBuilder.cs/#L6\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2\">\n  \n  \n  <h1 id=\"Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2\" data-uid=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2\" class=\"text-break\">Interface IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>This interface hosts relation methods for the right side of a relation.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.html\">Venflow.Modeling.Definitions.Builder</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;\n    where TEntity : class, new()\n    where TRelation : class</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TRelation</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2_WithOne_Expression_Func__1__0___.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder%602.WithOne(Expression%7BFunc%7B%601%2C%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/IRequiredSingleRightRelationBuilder.cs/#L20\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2_WithOne_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2.WithOne*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2_WithOne_Expression_Func__1__0___\" data-uid=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2.WithOne(Expression{Func{`1,`0}})\">WithOne(Expression&lt;Func&lt;TRelation, TEntity&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>\n    Configures this as a one-to-one relationship.\n</p>\n<p>\n    Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IForeignKeyRelationBuilder&lt;TEntity, TRelation&gt; WithOne(Expression&lt;Func&lt;TRelation, TEntity&gt;&gt; navigationProperty)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelation, TEntity&gt;&gt;</td>\n        <td><span class=\"parametername\">navigationProperty</span></td>\n        <td><p>A lambda expression representing the reference navigation property on the other end of this relationship (blog =&gt; blog.BlogInfo). If no property is specified, the relationship will be configured without a navigation property on the other end of the relationship.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html\">IForeignKeyRelationBuilder</a>&lt;TEntity, TRelation&gt;</td>\n        <td><p>An object that can be used to configure the relationship.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/Builder/IRequiredSingleRightRelationBuilder.cs/#L8\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Modeling.Definitions.Builder.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Namespace Venflow.Modeling.Definitions.Builder\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Namespace Venflow.Modeling.Definitions.Builder\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Modeling.Definitions.Builder\">\n  \n  <h1 id=\"Venflow_Modeling_Definitions_Builder\" data-uid=\"Venflow.Modeling.Definitions.Builder\" class=\"text-break\">Namespace Venflow.Modeling.Definitions.Builder\n  </h1>\n  <div class=\"markdown level0 summary\"></div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"markdown level0 remarks\"></div>\n    <h3 id=\"interfaces\">Interfaces\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html\">IEntityBuilder&lt;TEntity&gt;</a></h4>\n      <section><p>Instances of this class are returned from methods inside the <a class=\"xref\" href=\"Venflow.Modeling.Definitions.EntityConfiguration-1.html\">EntityConfiguration&lt;TEntity&gt;</a> class when using the Fluent API and it is not designed to be directly constructed in your application code.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html\">IForeignKeyRelationBuilder&lt;TEntity, TRelation&gt;</a></h4>\n      <section><p>This interface hosts relation methods for the foreign key configurations.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html\">ILeftRelationBuilder&lt;TEntity&gt;</a></h4>\n      <section><p>This interface hosts relation methods for the left side of a relation.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.html\">IMultiRightRelationBuilder&lt;TEntity, TRelation&gt;</a></h4>\n      <section><p>Instances of this class are returned from methods inside the <a class=\"xref\" href=\"Venflow.Table-1.html\">Table&lt;TEntity&gt;</a> class when using the Fluid API and it is not designed to be directly constructed in your application code.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder-2.html\">INotRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;</a></h4>\n      <section><p>This interface hosts relation methods for the right side of a relation.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html\">INotRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;</a></h4>\n      <section><p>This interface hosts relation methods for the right side of a relation.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IPropertyBuilder.html\">IPropertyBuilder</a></h4>\n      <section><p>Instances of this class are returned from methods inside the <span class=\"xref\">Venflow.Modeling.Definitions.Builder.EntityBuilder`1</span> class when using the Fluent API and it is not designed to be directly constructed in your application code.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder-2.html\">IRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;</a></h4>\n      <section><p>This interface hosts relation methods for the right side of a relation.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html\">IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;</a></h4>\n      <section><p>This interface hosts relation methods for the right side of a relation.</p>\n</section>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Modeling.Definitions.EntityConfiguration-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class EntityConfiguration&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class EntityConfiguration&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Modeling.Definitions.EntityConfiguration`1\">\n  \n  \n  <h1 id=\"Venflow_Modeling_Definitions_EntityConfiguration_1\" data-uid=\"Venflow.Modeling.Definitions.EntityConfiguration`1\" class=\"text-break\">Class EntityConfiguration&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Allows configuration for an entity type. Inherit from this class and override the <a class=\"xref\" href=\"Venflow.Modeling.Definitions.EntityConfiguration-1.html#Venflow_Modeling_Definitions_EntityConfiguration_1_Configure_Venflow_Modeling_Definitions_Builder_IEntityBuilder__0__\">Configure(IEntityBuilder&lt;TEntity&gt;)</a> method to configure the entity <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code>.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">EntityConfiguration&lt;TEntity&gt;</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Modeling.Definitions.html\">Venflow.Modeling.Definitions</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Modeling_Definitions_EntityConfiguration_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public abstract class EntityConfiguration&lt;TEntity&gt; : object, IEntityConfiguration where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The entity to be configured.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Modeling_Definitions_EntityConfiguration_1_remarks\"><strong>Remarks</strong></h5>\n  <div class=\"markdown level0 remarks\"><p>Classes which inherit from this one, have to be in the same assembly as the <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> in order to be discoverable.</p>\n</div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_EntityConfiguration_1_Configure_Venflow_Modeling_Definitions_Builder_IEntityBuilder__0__.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.EntityConfiguration%601.Configure(Venflow.Modeling.Definitions.Builder.IEntityBuilder%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/EntityConfiguration.cs/#L19\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_EntityConfiguration_1_Configure_\" data-uid=\"Venflow.Modeling.Definitions.EntityConfiguration`1.Configure*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_EntityConfiguration_1_Configure_Venflow_Modeling_Definitions_Builder_IEntityBuilder__0__\" data-uid=\"Venflow.Modeling.Definitions.EntityConfiguration`1.Configure(Venflow.Modeling.Definitions.Builder.IEntityBuilder{`0})\">Configure(IEntityBuilder&lt;TEntity&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows for configuration of the entity <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">protected abstract void Configure(IEntityBuilder&lt;TEntity&gt; entityBuilder)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html\">IEntityBuilder</a>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entityBuilder</span></td>\n        <td><p>The builder used to configure the entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_EntityConfiguration_1.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.EntityConfiguration%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Modeling/Definitions/EntityConfiguration.cs/#L12\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Modeling.Definitions.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Namespace Venflow.Modeling.Definitions\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Namespace Venflow.Modeling.Definitions\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Modeling.Definitions\">\n  \n  <h1 id=\"Venflow_Modeling_Definitions\" data-uid=\"Venflow.Modeling.Definitions\" class=\"text-break\">Namespace Venflow.Modeling.Definitions\n  </h1>\n  <div class=\"markdown level0 summary\"></div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"markdown level0 remarks\"></div>\n    <h3 id=\"classes\">Classes\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.Modeling.Definitions.EntityConfiguration-1.html\">EntityConfiguration&lt;TEntity&gt;</a></h4>\n      <section><p>Allows configuration for an entity type. Inherit from this class and override the <a class=\"xref\" href=\"Venflow.Modeling.Definitions.EntityConfiguration-1.html#Venflow_Modeling_Definitions_EntityConfiguration_1_Configure_Venflow_Modeling_Definitions_Builder_IEntityBuilder__0__\">Configure(IEntityBuilder&lt;TEntity&gt;)</a> method to configure the entity <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code>.</p>\n</section>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class NewtonsoftJsonKeyConverter\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class NewtonsoftJsonKeyConverter\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter\">\n  \n  \n  <h1 id=\"Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter\" data-uid=\"Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter\" class=\"text-break\">Class NewtonsoftJsonKeyConverter\n  </h1>\n  <div class=\"markdown level0 summary\"><p>A <see cref=\"!:JsonConverter\"></see> to parse <a class=\"xref\" href=\"Venflow.IKey-2.html\">IKey&lt;TEntity, TKey&gt;</a> instances.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">NewtonsoftJsonKeyConverter</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.NewtonsoftJson.html\">Venflow.NewtonsoftJson</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.NewtonsoftJson.dll</h6>\n  <h5 id=\"Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public class NewtonsoftJsonKeyConverter : JsonConverter</code></pre>\n  </div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_CanConvert_Type_.md&amp;value=---%0Auid%3A%20Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.CanConvert(Type)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.NewtonsoftJson/NewtonsoftJsonKeyConverter.cs/#L15\">View Source</a>\n  </span>\n  <a id=\"Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_CanConvert_\" data-uid=\"Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.CanConvert*\"></a>\n  <h4 id=\"Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_CanConvert_Type_\" data-uid=\"Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.CanConvert(Type)\">CanConvert(Type)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override bool CanConvert(Type objectType)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Type</span></td>\n        <td><span class=\"parametername\">objectType</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_ReadJson_JsonReader_Type_System_Nullable_System_Object__JsonSerializer_.md&amp;value=---%0Auid%3A%20Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.ReadJson(JsonReader%2CType%2CSystem.Nullable%7BSystem.Object%7D%2CJsonSerializer)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.NewtonsoftJson/NewtonsoftJsonKeyConverter.cs/#L21\">View Source</a>\n  </span>\n  <a id=\"Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_ReadJson_\" data-uid=\"Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.ReadJson*\"></a>\n  <h4 id=\"Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_ReadJson_JsonReader_Type_System_Nullable_System_Object__JsonSerializer_\" data-uid=\"Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.ReadJson(JsonReader,Type,System.Nullable{System.Object},JsonSerializer)\">ReadJson(JsonReader, Type, Nullable&lt;Object&gt;, JsonSerializer)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override object? ReadJson(JsonReader reader, Type objectType, object? existingValue, JsonSerializer serializer)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">JsonReader</span></td>\n        <td><span class=\"parametername\">reader</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">Type</span></td>\n        <td><span class=\"parametername\">objectType</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a>&gt;</td>\n        <td><span class=\"parametername\">existingValue</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">JsonSerializer</span></td>\n        <td><span class=\"parametername\">serializer</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a>&gt;</td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_WriteJson_JsonWriter_System_Nullable_System_Object__JsonSerializer_.md&amp;value=---%0Auid%3A%20Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.WriteJson(JsonWriter%2CSystem.Nullable%7BSystem.Object%7D%2CJsonSerializer)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.NewtonsoftJson/NewtonsoftJsonKeyConverter.cs/#L29\">View Source</a>\n  </span>\n  <a id=\"Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_WriteJson_\" data-uid=\"Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.WriteJson*\"></a>\n  <h4 id=\"Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_WriteJson_JsonWriter_System_Nullable_System_Object__JsonSerializer_\" data-uid=\"Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.WriteJson(JsonWriter,System.Nullable{System.Object},JsonSerializer)\">WriteJson(JsonWriter, Nullable&lt;Object&gt;, JsonSerializer)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">JsonWriter</span></td>\n        <td><span class=\"parametername\">writer</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a>&gt;</td>\n        <td><span class=\"parametername\">value</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">JsonSerializer</span></td>\n        <td><span class=\"parametername\">serializer</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter.md&amp;value=---%0Auid%3A%20Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow.NewtonsoftJson/NewtonsoftJsonKeyConverter.cs/#L10\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.NewtonsoftJson.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Namespace Venflow.NewtonsoftJson\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Namespace Venflow.NewtonsoftJson\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.NewtonsoftJson\">\n  \n  <h1 id=\"Venflow_NewtonsoftJson\" data-uid=\"Venflow.NewtonsoftJson\" class=\"text-break\">Namespace Venflow.NewtonsoftJson\n  </h1>\n  <div class=\"markdown level0 summary\"></div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"markdown level0 remarks\"></div>\n    <h3 id=\"classes\">Classes\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.html\">NewtonsoftJsonKeyConverter</a></h4>\n      <section><p>A <see cref=\"!:JsonConverter\"></see> to parse <a class=\"xref\" href=\"Venflow.IKey-2.html\">IKey&lt;TEntity, TKey&gt;</a> instances.</p>\n</section>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.NpgsqlCommandExtensions.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class NpgsqlCommandExtensions\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class NpgsqlCommandExtensions\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.NpgsqlCommandExtensions\">\n  \n  \n  <h1 id=\"Venflow_NpgsqlCommandExtensions\" data-uid=\"Venflow.NpgsqlCommandExtensions\" class=\"text-break\">Class NpgsqlCommandExtensions\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Provides a set of useful extension methods for the <see cref=\"!:NpgsqlCommand\"></see> class.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">NpgsqlCommandExtensions</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_NpgsqlCommandExtensions_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static class NpgsqlCommandExtensions : object</code></pre>\n  </div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_NpgsqlCommandExtensions_AddParamter__1_NpgsqlCommand_System_String___0_.md&amp;value=---%0Auid%3A%20Venflow.NpgsqlCommandExtensions.AddParamter%60%601(NpgsqlCommand%2CSystem.String%2C%60%600)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/NpgsqlCommandExtensions.cs/#L18\">View Source</a>\n  </span>\n  <a id=\"Venflow_NpgsqlCommandExtensions_AddParamter_\" data-uid=\"Venflow.NpgsqlCommandExtensions.AddParamter*\"></a>\n  <h4 id=\"Venflow_NpgsqlCommandExtensions_AddParamter__1_NpgsqlCommand_System_String___0_\" data-uid=\"Venflow.NpgsqlCommandExtensions.AddParamter``1(NpgsqlCommand,System.String,``0)\">AddParamter&lt;TType&gt;(NpgsqlCommand, String, TType)</h4>\n  <div class=\"markdown level1 summary\"><p>Adds a new Parameter to the <see cref=\"!:NpgsqlCommand.Parameters\"></see> collection.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static NpgsqlParameter&lt;TType&gt; AddParamter&lt;TType&gt;(this NpgsqlCommand command, string parameterName, TType value)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">NpgsqlCommand</span></td>\n        <td><span class=\"parametername\">command</span></td>\n        <td><p>The command to which the Parameter should be added.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">parameterName</span></td>\n        <td><p>The name of the Parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">TType</span></td>\n        <td><span class=\"parametername\">value</span></td>\n        <td><p>The value of the Parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">NpgsqlParameter</span>&lt;TType&gt;</td>\n        <td><p>the just created <see cref=\"!:NpgsqlParameter&lt;TType>\"></see>.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TType</span></td>\n        <td><p>The value type of the Parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_NpgsqlCommandExtensions_SetInterpolatedCommandText_NpgsqlCommand_FormattableString_.md&amp;value=---%0Auid%3A%20Venflow.NpgsqlCommandExtensions.SetInterpolatedCommandText(NpgsqlCommand%2CFormattableString)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/NpgsqlCommandExtensions.cs/#L32\">View Source</a>\n  </span>\n  <a id=\"Venflow_NpgsqlCommandExtensions_SetInterpolatedCommandText_\" data-uid=\"Venflow.NpgsqlCommandExtensions.SetInterpolatedCommandText*\"></a>\n  <h4 id=\"Venflow_NpgsqlCommandExtensions_SetInterpolatedCommandText_NpgsqlCommand_FormattableString_\" data-uid=\"Venflow.NpgsqlCommandExtensions.SetInterpolatedCommandText(NpgsqlCommand,FormattableString)\">SetInterpolatedCommandText(NpgsqlCommand, FormattableString)</h4>\n  <div class=\"markdown level1 summary\"><p>Sets the command text of the used <see cref=\"!:NpgsqlCommand\"></see>. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static void SetInterpolatedCommandText(this NpgsqlCommand command, FormattableString sql)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">NpgsqlCommand</span></td>\n        <td><span class=\"parametername\">command</span></td>\n        <td><p>The command of which the command text should be set. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">FormattableString</span></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_NpgsqlCommandExtensions.md&amp;value=---%0Auid%3A%20Venflow.NpgsqlCommandExtensions%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/NpgsqlCommandExtensions.cs/#L8\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.NpgsqlQuotedNameTranslator.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class NpgsqlQuotedNameTranslator\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class NpgsqlQuotedNameTranslator\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.NpgsqlQuotedNameTranslator\">\n  \n  \n  <h1 id=\"Venflow_NpgsqlQuotedNameTranslator\" data-uid=\"Venflow.NpgsqlQuotedNameTranslator\" class=\"text-break\">Class NpgsqlQuotedNameTranslator\n  </h1>\n  <div class=\"markdown level0 summary\"><p>A name translator which preserves CLR names (e.g. SomeClass) when mapping names to the database.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">NpgsqlQuotedNameTranslator</span></div>\n  </div>\n  <div classs=\"implements\">\n    <h5>Implements</h5>\n    <div><span class=\"xref\">INpgsqlNameTranslator</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_NpgsqlQuotedNameTranslator_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public class NpgsqlQuotedNameTranslator : NpgsqlNullNameTranslator, INpgsqlNameTranslator</code></pre>\n  </div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_NpgsqlQuotedNameTranslator_TranslateMemberName_System_String_.md&amp;value=---%0Auid%3A%20Venflow.NpgsqlQuotedNameTranslator.TranslateMemberName(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/NpgsqlQuotedNameTranslator.cs/#L19\">View Source</a>\n  </span>\n  <a id=\"Venflow_NpgsqlQuotedNameTranslator_TranslateMemberName_\" data-uid=\"Venflow.NpgsqlQuotedNameTranslator.TranslateMemberName*\"></a>\n  <h4 id=\"Venflow_NpgsqlQuotedNameTranslator_TranslateMemberName_System_String_\" data-uid=\"Venflow.NpgsqlQuotedNameTranslator.TranslateMemberName(System.String)\">TranslateMemberName(String)</h4>\n  <div class=\"markdown level1 summary\"><p>Given a CLR member name (property or field), translates its name to a database type name.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public string TranslateMemberName(string clrName)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">clrName</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_NpgsqlQuotedNameTranslator_TranslateTypeName_System_String_.md&amp;value=---%0Auid%3A%20Venflow.NpgsqlQuotedNameTranslator.TranslateTypeName(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/NpgsqlQuotedNameTranslator.cs/#L14\">View Source</a>\n  </span>\n  <a id=\"Venflow_NpgsqlQuotedNameTranslator_TranslateTypeName_\" data-uid=\"Venflow.NpgsqlQuotedNameTranslator.TranslateTypeName*\"></a>\n  <h4 id=\"Venflow_NpgsqlQuotedNameTranslator_TranslateTypeName_System_String_\" data-uid=\"Venflow.NpgsqlQuotedNameTranslator.TranslateTypeName(System.String)\">TranslateTypeName(String)</h4>\n  <div class=\"markdown level1 summary\"><p>Given a CLR type name (e.g class, struct, enum), translates its name to a database type name.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public string TranslateTypeName(string clrName)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">clrName</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"implements\">Implements</h3>\n  <div>\n      <span class=\"xref\">INpgsqlNameTranslator</span>\n  </div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_NpgsqlQuotedNameTranslator.md&amp;value=---%0Auid%3A%20Venflow.NpgsqlQuotedNameTranslator%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/NpgsqlQuotedNameTranslator.cs/#L9\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.ParameterTypeHandler.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class ParameterTypeHandler\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class ParameterTypeHandler\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.ParameterTypeHandler\">\n  \n  \n  <h1 id=\"Venflow_ParameterTypeHandler\" data-uid=\"Venflow.ParameterTypeHandler\" class=\"text-break\">Class ParameterTypeHandler\n  </h1>\n  <div class=\"markdown level0 summary\"><p>A class which contains methods to configure the used type handlers while parsing Interpolated arguments.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">ParameterTypeHandler</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_ParameterTypeHandler_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static class ParameterTypeHandler : object</code></pre>\n  </div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_ParameterTypeHandler_AddTypeHandler_Type_Venflow_IParameterTypeHandler_.md&amp;value=---%0Auid%3A%20Venflow.ParameterTypeHandler.AddTypeHandler(Type%2CVenflow.IParameterTypeHandler)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/ParameterTypeHandler.cs/#L31\">View Source</a>\n  </span>\n  <a id=\"Venflow_ParameterTypeHandler_AddTypeHandler_\" data-uid=\"Venflow.ParameterTypeHandler.AddTypeHandler*\"></a>\n  <h4 id=\"Venflow_ParameterTypeHandler_AddTypeHandler_Type_Venflow_IParameterTypeHandler_\" data-uid=\"Venflow.ParameterTypeHandler.AddTypeHandler(Type,Venflow.IParameterTypeHandler)\">AddTypeHandler(Type, IParameterTypeHandler)</h4>\n  <div class=\"markdown level1 summary\"><p>Adds a type handler.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static void AddTypeHandler(Type type, IParameterTypeHandler typeHandler)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Type</span></td>\n        <td><span class=\"parametername\">type</span></td>\n        <td><p>The type to which the type handler should be mapped.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.IParameterTypeHandler.html\">IParameterTypeHandler</a></td>\n        <td><span class=\"parametername\">typeHandler</span></td>\n        <td><p>The type handler.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_ParameterTypeHandler.md&amp;value=---%0Auid%3A%20Venflow.ParameterTypeHandler%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/ParameterTypeHandler.cs/#L9\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.Table-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class Table&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class Table&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Table`1\">\n  \n  \n  <h1 id=\"Venflow_Table_1\" data-uid=\"Venflow.Table`1\" class=\"text-break\">Class Table&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>A <a class=\"xref\" href=\"Venflow.Table-1.html\">Table&lt;TEntity&gt;</a> is used to perform CRUD operations against the table represented by <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code>.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><a class=\"xref\" href=\"Venflow.TableBase-1.html\">TableBase</a>&lt;TEntity&gt;</div>\n    <div class=\"level2\"><span class=\"xref\">Table&lt;TEntity&gt;</span></div>\n  </div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryAsync__1_Venflow_Commands_IQueryCommand__0___0__CancellationToken_\">TableBase&lt;TEntity&gt;.QueryAsync&lt;TReturn&gt;(IQueryCommand&lt;TEntity, TReturn&gt;, CancellationToken)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_System_String_System_Boolean_\">TableBase&lt;TEntity&gt;.QuerySingle(String, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_Expression_Func__0_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QuerySingle(Expression&lt;Func&lt;TEntity, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__1_Expression_Func__0___0_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QuerySingle&lt;TOne&gt;(Expression&lt;Func&lt;TEntity, TOne, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__2_Expression_Func__0___0___1_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QuerySingle&lt;TOne, Two&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__3_Expression_Func__0___0___1___2_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QuerySingle&lt;TOne, Two, TThree&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__4_Expression_Func__0___0___1___2___3_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QuerySingle&lt;TOne, Two, TThree, TFour&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__5_Expression_Func__0___0___1___2___3___4_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QuerySingle&lt;TOne, Two, TThree, TFour, TFive&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QuerySingle&lt;TOne, Two, TThree, TFour, TFive, TSix&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QuerySingle&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QuerySingle&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_System_String_NpgsqlParameter___\">TableBase&lt;TEntity&gt;.QuerySingle(String, NpgsqlParameter[])</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_System_String_IList_NpgsqlParameter__\">TableBase&lt;TEntity&gt;.QuerySingle(String, IList&lt;NpgsqlParameter&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_System_String_System_Boolean_NpgsqlParameter___\">TableBase&lt;TEntity&gt;.QuerySingle(String, Boolean, NpgsqlParameter[])</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_FormattableString_System_Boolean_\">TableBase&lt;TEntity&gt;.QueryInterpolatedSingle(FormattableString, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_Venflow_FormattableSqlStringBuilder_System_Boolean_\">TableBase&lt;TEntity&gt;.QueryInterpolatedSingle(FormattableSqlStringBuilder, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch_System_String_System_Boolean_\">TableBase&lt;TEntity&gt;.QueryBatch(String, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch_Expression_Func__0_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QueryBatch(Expression&lt;Func&lt;TEntity, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__1_Expression_Func__0___0_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QueryBatch&lt;TOne&gt;(Expression&lt;Func&lt;TEntity, TOne, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__2_Expression_Func__0___0___1_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QueryBatch&lt;TOne, Two&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__3_Expression_Func__0___0___1___2_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QueryBatch&lt;TOne, Two, TThree&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__4_Expression_Func__0___0___1___2___3_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QueryBatch&lt;TOne, Two, TThree, TFour&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__5_Expression_Func__0___0___1___2___3___4_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QueryBatch&lt;TOne, Two, TThree, TFour, TFive&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QueryBatch&lt;TOne, Two, TThree, TFour, TFive, TSix&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QueryBatch&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QueryBatch&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch_System_String_NpgsqlParameter___\">TableBase&lt;TEntity&gt;.QueryBatch(String, NpgsqlParameter[])</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch_System_String_IList_NpgsqlParameter__\">TableBase&lt;TEntity&gt;.QueryBatch(String, IList&lt;NpgsqlParameter&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch_System_String_System_Boolean_NpgsqlParameter___\">TableBase&lt;TEntity&gt;.QueryBatch(String, Boolean, NpgsqlParameter[])</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedBatch_FormattableString_System_Boolean_\">TableBase&lt;TEntity&gt;.QueryInterpolatedBatch(FormattableString, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedBatch_Venflow_FormattableSqlStringBuilder_System_Boolean_\">TableBase&lt;TEntity&gt;.QueryInterpolatedBatch(FormattableSqlStringBuilder, Boolean)</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Table_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public sealed class Table&lt;TEntity&gt; : TableBase&lt;TEntity&gt;, ITable where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The entity which represents a table in the Database.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_CountAsync_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.CountAsync(CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L86\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_CountAsync_\" data-uid=\"Venflow.Table`1.CountAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_CountAsync_CancellationToken_\" data-uid=\"Venflow.Table`1.CountAsync(CancellationToken)\">CountAsync(CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously counts the total rows the current table.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;long&gt; CountAsync(CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int64\">Int64</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_CountAsync_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;SELECT COUNT(*) FROM table&quot;.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_Delete.md&amp;value=---%0Auid%3A%20Venflow.Table%601.Delete%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L371\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_Delete_\" data-uid=\"Venflow.Table`1.Delete*\"></a>\n  <h4 id=\"Venflow_Table_1_Delete\" data-uid=\"Venflow.Table`1.Delete\">Delete()</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new delete command.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IDeleteCommandBuilder&lt;TEntity&gt; Delete()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IDeleteCommandBuilder-1.html\">IDeleteCommandBuilder</a>&lt;TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a delete command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_Delete_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>The command will be automatically disposed the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_Delete_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.Delete(System.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L379\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_Delete_\" data-uid=\"Venflow.Table`1.Delete*\"></a>\n  <h4 id=\"Venflow_Table_1_Delete_System_Boolean_\" data-uid=\"Venflow.Table`1.Delete(System.Boolean)\">Delete(Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new delete command.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IDeleteCommandBuilder&lt;TEntity&gt; Delete(bool disposeCommand)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IDeleteCommandBuilder-1.html\">IDeleteCommandBuilder</a>&lt;TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a delete command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_DeleteAsync__0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.DeleteAsync(%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L165\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_DeleteAsync_\" data-uid=\"Venflow.Table`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_DeleteAsync__0_CancellationToken_\" data-uid=\"Venflow.Table`1.DeleteAsync(`0,CancellationToken)\">DeleteAsync(TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes the provided entity by its defined primary key.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask&lt;int&gt; DeleteAsync(TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>A <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instance representing the row, which will be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows deleted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_DeleteAsync__0_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;DELETE FROM table WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_DeleteAsync__0___CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.DeleteAsync(%600%5B%5D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L231\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_DeleteAsync_\" data-uid=\"Venflow.Table`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_DeleteAsync__0___CancellationToken_\" data-uid=\"Venflow.Table`1.DeleteAsync(`0[],CancellationToken)\">DeleteAsync(TEntity[], CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes the provided entities by their defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask&lt;int&gt; DeleteAsync(TEntity[] entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td>TEntity[]</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A set of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instances representing the rows, which will be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows deleted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_DeleteAsync__0___CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;DELETE FROM table WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_DeleteAsync_IEnumerable__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.DeleteAsync(IEnumerable%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L195\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_DeleteAsync_\" data-uid=\"Venflow.Table`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_DeleteAsync_IEnumerable__0__CancellationToken_\" data-uid=\"Venflow.Table`1.DeleteAsync(IEnumerable{`0},CancellationToken)\">DeleteAsync(IEnumerable&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes the provided entities by their defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask&lt;int&gt; DeleteAsync(IEnumerable&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IEnumerable</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A set of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instances representing the rows, which will be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows deleted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_DeleteAsync_IEnumerable__0__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;DELETE FROM table WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_DeleteAsync_IList__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.DeleteAsync(IList%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L207\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_DeleteAsync_\" data-uid=\"Venflow.Table`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_DeleteAsync_IList__0__CancellationToken_\" data-uid=\"Venflow.Table`1.DeleteAsync(IList{`0},CancellationToken)\">DeleteAsync(IList&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes the provided entities by their defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask&lt;int&gt; DeleteAsync(IList&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A set of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instances representing the rows, which will be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows deleted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_DeleteAsync_IList__0__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;DELETE FROM table WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_DeleteAsync_List__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.DeleteAsync(List%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L219\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_DeleteAsync_\" data-uid=\"Venflow.Table`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_DeleteAsync_List__0__CancellationToken_\" data-uid=\"Venflow.Table`1.DeleteAsync(List{`0},CancellationToken)\">DeleteAsync(List&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes the provided entities by their defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask&lt;int&gt; DeleteAsync(List&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">List</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A set of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instances representing the rows, which will be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows deleted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_DeleteAsync_List__0__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;DELETE FROM table WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_DeleteAsync_Venflow_Commands_IDeleteCommand__0___0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.DeleteAsync(Venflow.Commands.IDeleteCommand%7B%600%7D%2C%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L178\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_DeleteAsync_\" data-uid=\"Venflow.Table`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_DeleteAsync_Venflow_Commands_IDeleteCommand__0___0_CancellationToken_\" data-uid=\"Venflow.Table`1.DeleteAsync(Venflow.Commands.IDeleteCommand{`0},`0,CancellationToken)\">DeleteAsync(IDeleteCommand&lt;TEntity&gt;, TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes the provided entity by its defined primary key.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask&lt;int&gt; DeleteAsync(IDeleteCommand&lt;TEntity&gt; deleteCommand, TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IDeleteCommand-1.html\">IDeleteCommand</a>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">deleteCommand</span></td>\n        <td><p>A <a class=\"xref\" href=\"Venflow.Commands.IDeleteCommand-1.html\">IDeleteCommand&lt;TEntity&gt;</a> instance which contains all the settings for this operation.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>A <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instance representing the row, which will be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows deleted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_DeleteAsync_Venflow_Commands_IDeleteCommand__0___0_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;DELETE FROM table WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_DeleteAsync_Venflow_Commands_IDeleteCommand__0__IEnumerable__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.DeleteAsync(Venflow.Commands.IDeleteCommand%7B%600%7D%2CIEnumerable%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L244\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_DeleteAsync_\" data-uid=\"Venflow.Table`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_DeleteAsync_Venflow_Commands_IDeleteCommand__0__IEnumerable__0__CancellationToken_\" data-uid=\"Venflow.Table`1.DeleteAsync(Venflow.Commands.IDeleteCommand{`0},IEnumerable{`0},CancellationToken)\">DeleteAsync(IDeleteCommand&lt;TEntity&gt;, IEnumerable&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes the provided entities by their defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask&lt;int&gt; DeleteAsync(IDeleteCommand&lt;TEntity&gt; deleteCommand, IEnumerable&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IDeleteCommand-1.html\">IDeleteCommand</a>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">deleteCommand</span></td>\n        <td><p>A <a class=\"xref\" href=\"Venflow.Commands.IDeleteCommand-1.html\">IDeleteCommand&lt;TEntity&gt;</a> instance which contains all the settings for this operation.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">IEnumerable</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A set of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instances representing the rows, which will be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows deleted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_DeleteAsync_Venflow_Commands_IDeleteCommand__0__IEnumerable__0__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;DELETE FROM table WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_GetProxiedEntity.md&amp;value=---%0Auid%3A%20Venflow.Table%601.GetProxiedEntity%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L407\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_GetProxiedEntity_\" data-uid=\"Venflow.Table`1.GetProxiedEntity*\"></a>\n  <h4 id=\"Venflow_Table_1_GetProxiedEntity\" data-uid=\"Venflow.Table`1.GetProxiedEntity\">GetProxiedEntity()</h4>\n  <div class=\"markdown level1 summary\"><p>Constructs a new proxied instance of the <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public TEntity GetProxiedEntity()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><p>A <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instance which will be change tracked.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_GetProxiedEntity_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Any property which should be change tracked on an entity has to be marked virtual.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_Insert.md&amp;value=---%0Auid%3A%20Venflow.Table%601.Insert%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L363\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_Insert_\" data-uid=\"Venflow.Table`1.Insert*\"></a>\n  <h4 id=\"Venflow_Table_1_Insert\" data-uid=\"Venflow.Table`1.Insert\">Insert()</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new insert command.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseInsertRelationBuilder&lt;TEntity, TEntity&gt; Insert()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseInsertRelationBuilder-2.html\">IBaseInsertRelationBuilder</a>&lt;TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a insert command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_Insert_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>The command will be automatically disposed the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_InsertAsync__0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.InsertAsync(%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L106\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_InsertAsync_\" data-uid=\"Venflow.Table`1.InsertAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_InsertAsync__0_CancellationToken_\" data-uid=\"Venflow.Table`1.InsertAsync(`0,CancellationToken)\">InsertAsync(TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously inserts the entity and all entities reachable from the current provided instance into the current table.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;int&gt; InsertAsync(TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>A <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instance representing the row, which will be inserted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows inserted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_InsertAsync__0_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;INSERT INTO table (foo, bar) VALUES ('foo', 'bar')&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_InsertAsync_IList__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.InsertAsync(IList%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L133\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_InsertAsync_\" data-uid=\"Venflow.Table`1.InsertAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_InsertAsync_IList__0__CancellationToken_\" data-uid=\"Venflow.Table`1.InsertAsync(IList{`0},CancellationToken)\">InsertAsync(IList&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously inserts a list of entities and all entities reachable from the current provided instances into the current table.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;int&gt; InsertAsync(IList&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A list of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instance representing the rows, which will be inserted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows inserted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_InsertAsync_IList__0__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;INSERT INTO table (foo, bar) VALUES ('foo', 'bar'), ('foo', 'bar')&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_InsertAsync_Venflow_Commands_IInsertCommand__0___0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.InsertAsync(Venflow.Commands.IInsertCommand%7B%600%7D%2C%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L119\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_InsertAsync_\" data-uid=\"Venflow.Table`1.InsertAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_InsertAsync_Venflow_Commands_IInsertCommand__0___0_CancellationToken_\" data-uid=\"Venflow.Table`1.InsertAsync(Venflow.Commands.IInsertCommand{`0},`0,CancellationToken)\">InsertAsync(IInsertCommand&lt;TEntity&gt;, TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously inserts the entity and all entities reachable from the current provided instance into the current table.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;int&gt; InsertAsync(IInsertCommand&lt;TEntity&gt; insertCommand, TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IInsertCommand-1.html\">IInsertCommand</a>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">insertCommand</span></td>\n        <td><p>A <a class=\"xref\" href=\"Venflow.Commands.IInsertCommand-1.html\">IInsertCommand&lt;TEntity&gt;</a> instance which contains all the settings for this operation.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>A <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instance representing the row, which will be inserted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows inserted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_InsertAsync_Venflow_Commands_IInsertCommand__0___0_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;INSERT INTO table (foo, bar) VALUES ('foo', 'bar')&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_InsertAsync_Venflow_Commands_IInsertCommand__0__List__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.InsertAsync(Venflow.Commands.IInsertCommand%7B%600%7D%2CList%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L147\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_InsertAsync_\" data-uid=\"Venflow.Table`1.InsertAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_InsertAsync_Venflow_Commands_IInsertCommand__0__List__0__CancellationToken_\" data-uid=\"Venflow.Table`1.InsertAsync(Venflow.Commands.IInsertCommand{`0},List{`0},CancellationToken)\">InsertAsync(IInsertCommand&lt;TEntity&gt;, List&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously inserts a list of entities and all entities reachable from the current provided instances into the current table.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;int&gt; InsertAsync(IInsertCommand&lt;TEntity&gt; insertCommand, List&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IInsertCommand-1.html\">IInsertCommand</a>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">insertCommand</span></td>\n        <td><p>A <a class=\"xref\" href=\"Venflow.Commands.IInsertCommand-1.html\">IInsertCommand&lt;TEntity&gt;</a> instance which contains all the settings for this operation.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">List</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A list of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instance representing the rows, which will be inserted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows inserted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_InsertAsync_Venflow_Commands_IInsertCommand__0__List__0__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;INSERT INTO table (foo, bar) VALUES ('foo', 'bar'), ('foo', 'bar')&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_TrackChanges__0__.md&amp;value=---%0Auid%3A%20Venflow.Table%601.TrackChanges(%600%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L416\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_TrackChanges_\" data-uid=\"Venflow.Table`1.TrackChanges*\"></a>\n  <h4 id=\"Venflow_Table_1_TrackChanges__0__\" data-uid=\"Venflow.Table`1.TrackChanges(`0@)\">TrackChanges(ref TEntity)</h4>\n  <div class=\"markdown level1 summary\"><p>Starts tracking the provided <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public void TrackChanges(ref TEntity entity)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>A <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instance which will be change tracked.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_TrackChanges__0___remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Any property which should be change tracked on an entity has to be marked virtual.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_TrackChanges_IList__0__.md&amp;value=---%0Auid%3A%20Venflow.Table%601.TrackChanges(IList%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L428\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_TrackChanges_\" data-uid=\"Venflow.Table`1.TrackChanges*\"></a>\n  <h4 id=\"Venflow_Table_1_TrackChanges_IList__0__\" data-uid=\"Venflow.Table`1.TrackChanges(IList{`0})\">TrackChanges(IList&lt;TEntity&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Starts tracking the provided <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code>'s.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public void TrackChanges(IList&lt;TEntity&gt; entities)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A set of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instances which will be change tracked.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_TrackChanges_IList__0___remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;UPDATE table SET foo = 'foo' WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_TruncateAsync_Venflow_Enums_ForeignTruncateOptions_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.TruncateAsync(Venflow.Enums.ForeignTruncateOptions%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L30\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_TruncateAsync_\" data-uid=\"Venflow.Table`1.TruncateAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_TruncateAsync_Venflow_Enums_ForeignTruncateOptions_CancellationToken_\" data-uid=\"Venflow.Table`1.TruncateAsync(Venflow.Enums.ForeignTruncateOptions,CancellationToken)\">TruncateAsync(ForeignTruncateOptions, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously truncates the current table with the provided options.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task TruncateAsync(ForeignTruncateOptions foreignOptions, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Enums.ForeignTruncateOptions.html\">ForeignTruncateOptions</a></td>\n        <td><span class=\"parametername\">foreignOptions</span></td>\n        <td><p>Specifies how the truncate operation should handle foreign tables.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_TruncateAsync_Venflow_Enums_ForeignTruncateOptions_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;TRUNCATE table [CASCADE|RESTRICT|NONE]&quot;.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_TruncateAsync_Venflow_Enums_IdentityTruncateOptions_Venflow_Enums_ForeignTruncateOptions_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.TruncateAsync(Venflow.Enums.IdentityTruncateOptions%2CVenflow.Enums.ForeignTruncateOptions%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L41\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_TruncateAsync_\" data-uid=\"Venflow.Table`1.TruncateAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_TruncateAsync_Venflow_Enums_IdentityTruncateOptions_Venflow_Enums_ForeignTruncateOptions_CancellationToken_\" data-uid=\"Venflow.Table`1.TruncateAsync(Venflow.Enums.IdentityTruncateOptions,Venflow.Enums.ForeignTruncateOptions,CancellationToken)\">TruncateAsync(IdentityTruncateOptions, ForeignTruncateOptions, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously truncates the current table with the provided options.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task TruncateAsync(IdentityTruncateOptions truncateOptions = default(IdentityTruncateOptions), ForeignTruncateOptions foreignOptions = default(ForeignTruncateOptions), CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Enums.IdentityTruncateOptions.html\">IdentityTruncateOptions</a></td>\n        <td><span class=\"parametername\">truncateOptions</span></td>\n        <td><p>Specifies how the truncate operation should handle identities in the table.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Enums.ForeignTruncateOptions.html\">ForeignTruncateOptions</a></td>\n        <td><span class=\"parametername\">foreignOptions</span></td>\n        <td><p>Specifies how the truncate operation should handle foreign tables.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_TruncateAsync_Venflow_Enums_IdentityTruncateOptions_Venflow_Enums_ForeignTruncateOptions_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;TRUNCATE table [RESTART IDENTITY|CONTINUE IDENTITY|NONE] [CASCADE|RESTRICT|NONE]&quot;.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_Update.md&amp;value=---%0Auid%3A%20Venflow.Table%601.Update%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L386\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_Update_\" data-uid=\"Venflow.Table`1.Update*\"></a>\n  <h4 id=\"Venflow_Table_1_Update\" data-uid=\"Venflow.Table`1.Update\">Update()</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new update command.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IUpdateCommandBuilder&lt;TEntity&gt; Update()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IUpdateCommandBuilder-1.html\">IUpdateCommandBuilder</a>&lt;TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a update command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_Update_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.Update(System.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L394\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_Update_\" data-uid=\"Venflow.Table`1.Update*\"></a>\n  <h4 id=\"Venflow_Table_1_Update_System_Boolean_\" data-uid=\"Venflow.Table`1.Update(System.Boolean)\">Update(Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new update command.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IUpdateCommandBuilder&lt;TEntity&gt; Update(bool disposeCommand)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IUpdateCommandBuilder-1.html\">IUpdateCommandBuilder</a>&lt;TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a update command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_UpdateAsync__0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.UpdateAsync(%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L265\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_UpdateAsync_\" data-uid=\"Venflow.Table`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_UpdateAsync__0_CancellationToken_\" data-uid=\"Venflow.Table`1.UpdateAsync(`0,CancellationToken)\">UpdateAsync(TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates the provided entity by its defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask UpdateAsync(TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>A <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instance representing the row, which will be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_UpdateAsync__0_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;UPDATE table SET foo = 'foo' WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_UpdateAsync__0___CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.UpdateAsync(%600%5B%5D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L331\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_UpdateAsync_\" data-uid=\"Venflow.Table`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_UpdateAsync__0___CancellationToken_\" data-uid=\"Venflow.Table`1.UpdateAsync(`0[],CancellationToken)\">UpdateAsync(TEntity[], CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates the provided entity by its defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask UpdateAsync(TEntity[] entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td>TEntity[]</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A set of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instances representing the rows, which will be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_UpdateAsync__0___CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;UPDATE table SET foo = 'foo' WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_UpdateAsync_IEnumerable__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.UpdateAsync(IEnumerable%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L295\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_UpdateAsync_\" data-uid=\"Venflow.Table`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_UpdateAsync_IEnumerable__0__CancellationToken_\" data-uid=\"Venflow.Table`1.UpdateAsync(IEnumerable{`0},CancellationToken)\">UpdateAsync(IEnumerable&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates the provided entity by its defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask UpdateAsync(IEnumerable&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IEnumerable</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A set of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instances representing the rows, which will be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_UpdateAsync_IEnumerable__0__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;UPDATE table SET foo = 'foo' WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_UpdateAsync_IList__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.UpdateAsync(IList%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L319\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_UpdateAsync_\" data-uid=\"Venflow.Table`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_UpdateAsync_IList__0__CancellationToken_\" data-uid=\"Venflow.Table`1.UpdateAsync(IList{`0},CancellationToken)\">UpdateAsync(IList&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates the provided entity by its defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask UpdateAsync(IList&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A set of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instances representing the rows, which will be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_UpdateAsync_IList__0__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;UPDATE table SET foo = 'foo' WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_UpdateAsync_List__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.UpdateAsync(List%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L307\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_UpdateAsync_\" data-uid=\"Venflow.Table`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_UpdateAsync_List__0__CancellationToken_\" data-uid=\"Venflow.Table`1.UpdateAsync(List{`0},CancellationToken)\">UpdateAsync(List&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates the provided entity by its defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask UpdateAsync(List&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">List</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A set of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instances representing the rows, which will be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_UpdateAsync_List__0__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;UPDATE table SET foo = 'foo' WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_UpdateAsync_Venflow_Commands_IUpdateCommand__0___0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.UpdateAsync(Venflow.Commands.IUpdateCommand%7B%600%7D%2C%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L278\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_UpdateAsync_\" data-uid=\"Venflow.Table`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_UpdateAsync_Venflow_Commands_IUpdateCommand__0___0_CancellationToken_\" data-uid=\"Venflow.Table`1.UpdateAsync(Venflow.Commands.IUpdateCommand{`0},`0,CancellationToken)\">UpdateAsync(IUpdateCommand&lt;TEntity&gt;, TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates the provided entity by its defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask UpdateAsync(IUpdateCommand&lt;TEntity&gt; updateCommand, TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IUpdateCommand-1.html\">IUpdateCommand</a>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">updateCommand</span></td>\n        <td><p>A <a class=\"xref\" href=\"Venflow.Commands.IUpdateCommand-1.html\">IUpdateCommand&lt;TEntity&gt;</a> instance which contains all the settings for this operation.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>A <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instance representing the row, which will be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_UpdateAsync_Venflow_Commands_IUpdateCommand__0___0_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;UPDATE table SET foo = 'foo' WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_UpdateAsync_Venflow_Commands_IUpdateCommand__0__IEnumerable__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.UpdateAsync(Venflow.Commands.IUpdateCommand%7B%600%7D%2CIEnumerable%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L344\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_UpdateAsync_\" data-uid=\"Venflow.Table`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_UpdateAsync_Venflow_Commands_IUpdateCommand__0__IEnumerable__0__CancellationToken_\" data-uid=\"Venflow.Table`1.UpdateAsync(Venflow.Commands.IUpdateCommand{`0},IEnumerable{`0},CancellationToken)\">UpdateAsync(IUpdateCommand&lt;TEntity&gt;, IEnumerable&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates the provided entity by its defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask UpdateAsync(IUpdateCommand&lt;TEntity&gt; updateCommand, IEnumerable&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IUpdateCommand-1.html\">IUpdateCommand</a>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">updateCommand</span></td>\n        <td><p>A <a class=\"xref\" href=\"Venflow.Commands.IUpdateCommand-1.html\">IUpdateCommand&lt;TEntity&gt;</a> instance which contains all the settings for this operation.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">IEnumerable</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A set of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instances representing the rows, which will be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_UpdateAsync_Venflow_Commands_IUpdateCommand__0__IEnumerable__0__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;UPDATE table SET foo = 'foo' WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1.md&amp;value=---%0Auid%3A%20Venflow.Table%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Table.cs/#L14\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.TableBase-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class TableBase&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class TableBase&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.TableBase`1\">\n  \n  \n  <h1 id=\"Venflow_TableBase_1\" data-uid=\"Venflow.TableBase`1\" class=\"text-break\">Class TableBase&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>A <a class=\"xref\" href=\"Venflow.TableBase-1.html\">TableBase&lt;TEntity&gt;</a> is used to perform query operations of all sorts.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">TableBase&lt;TEntity&gt;</span></div>\n      <div class=\"level2\"><a class=\"xref\" href=\"Venflow.Table-1.html\">Table&lt;TEntity&gt;</a></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_TableBase_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public class TableBase&lt;TEntity&gt; : object where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The entity which represents a table in the Database.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryAsync__1_Venflow_Commands_IQueryCommand__0___0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryAsync%60%601(Venflow.Commands.IQueryCommand%7B%600%2C%60%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L33\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryAsync_\" data-uid=\"Venflow.TableBase`1.QueryAsync*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryAsync__1_Venflow_Commands_IQueryCommand__0___0__CancellationToken_\" data-uid=\"Venflow.TableBase`1.QueryAsync``1(Venflow.Commands.IQueryCommand{`0,``0},CancellationToken)\">QueryAsync&lt;TReturn&gt;(IQueryCommand&lt;TEntity, TReturn&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously queries one or more entities with the configured joins.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;TReturn&gt; QueryAsync&lt;TReturn&gt;(IQueryCommand&lt;TEntity, TReturn&gt; queryCommand, CancellationToken cancellationToken = null)\n    where TReturn : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryCommand-2.html\">IQueryCommand</a>&lt;TEntity, TReturn&gt;</td>\n        <td><span class=\"parametername\">queryCommand</span></td>\n        <td><p>A <a class=\"xref\" href=\"Venflow.Commands.IQueryCommand-2.html\">IQueryCommand&lt;TEntity, TReturn&gt;</a> instance representing the query which will be performed.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;TReturn&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the result of the executed query.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TReturn</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_TableBase_1_QueryAsync__1_Venflow_Commands_IQueryCommand__0___0__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method could represents the following SQL statement &quot;SELECT * FROM table&quot;.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch_Expression_Func__0_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch(Expression%7BFunc%7B%600%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L200\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch_Expression_Func__0_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryBatch(Expression{Func{`0,FormattableString}},System.Boolean)\">QueryBatch(Expression&lt;Func&lt;TEntity, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch(Expression&lt;Func&lt;TEntity, FormattableString&gt;&gt; sql, bool disposeCommand = true)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch_System_String_IList_NpgsqlParameter__.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch(System.String%2CIList%7BNpgsqlParameter%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L292\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch_System_String_IList_NpgsqlParameter__\" data-uid=\"Venflow.TableBase`1.QueryBatch(System.String,IList{NpgsqlParameter})\">QueryBatch(String, IList&lt;NpgsqlParameter&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned.<strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_FormattableString_System_Boolean_\">QueryInterpolatedSingle(FormattableString, Boolean)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch(string sql, IList&lt;NpgsqlParameter&gt; parameters)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;<span class=\"xref\">NpgsqlParameter</span>&gt;</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>A set of <see cref=\"!:NpgsqlParameter\"></see> which contain parameters for the <code data-dev-comment-type=\"paramref\" class=\"paramref\">sql</code> command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_TableBase_1_QueryBatch_System_String_IList_NpgsqlParameter___remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>The command will be automatically disposed the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch_System_String_NpgsqlParameter___.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch(System.String%2CNpgsqlParameter%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L282\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch_System_String_NpgsqlParameter___\" data-uid=\"Venflow.TableBase`1.QueryBatch(System.String,NpgsqlParameter[])\">QueryBatch(String, NpgsqlParameter[])</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned.<strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_FormattableString_System_Boolean_\">QueryInterpolatedSingle(FormattableString, Boolean)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch(string sql, params NpgsqlParameter[] parameters)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">NpgsqlParameter</span>[]</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>A set of <see cref=\"!:NpgsqlParameter\"></see> which contain parameters for the <code data-dev-comment-type=\"paramref\" class=\"paramref\">sql</code> command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_TableBase_1_QueryBatch_System_String_NpgsqlParameter____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>The command will be automatically disposed the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch_System_String_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch(System.String%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L191\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch_System_String_System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryBatch(System.String,System.Boolean)\">QueryBatch(String, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does not support string interpolation!</strong> If you need to pass parameters with the query, either use <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_System_String_NpgsqlParameter___\">QuerySingle(String, NpgsqlParameter[])</a> or <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_FormattableString_System_Boolean_\">QueryInterpolatedSingle(FormattableString, Boolean)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch(string sql, bool disposeCommand = true)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch_System_String_System_Boolean_NpgsqlParameter___.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch(System.String%2CSystem.Boolean%2CNpgsqlParameter%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L302\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch_System_String_System_Boolean_NpgsqlParameter___\" data-uid=\"Venflow.TableBase`1.QueryBatch(System.String,System.Boolean,NpgsqlParameter[])\">QueryBatch(String, Boolean, NpgsqlParameter[])</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_FormattableString_System_Boolean_\">QueryInterpolatedSingle(FormattableString, Boolean)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch(string sql, bool disposeCommand, params NpgsqlParameter[] parameters)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">NpgsqlParameter</span>[]</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>A set of <see cref=\"!:NpgsqlParameter\"></see> which contain parameters for the <code data-dev-comment-type=\"paramref\" class=\"paramref\">sql</code> command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch__1_Expression_Func__0___0_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch%60%601(Expression%7BFunc%7B%600%2C%60%600%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L209\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch__1_Expression_Func__0___0_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryBatch``1(Expression{Func{`0,``0,FormattableString}},System.Boolean)\">QueryBatch&lt;TOne&gt;(Expression&lt;Func&lt;TEntity, TOne, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne&gt;(Expression&lt;Func&lt;TEntity, TOne, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch__2_Expression_Func__0___0___1_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch%60%602(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L218\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch__2_Expression_Func__0___0___1_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryBatch``2(Expression{Func{`0,``0,``1,FormattableString}},System.Boolean)\">QueryBatch&lt;TOne, Two&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, Two&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch__3_Expression_Func__0___0___1___2_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch%60%603(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L227\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch__3_Expression_Func__0___0___1___2_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryBatch``3(Expression{Func{`0,``0,``1,``2,FormattableString}},System.Boolean)\">QueryBatch&lt;TOne, Two, TThree&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, Two, TThree&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch__4_Expression_Func__0___0___1___2___3_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch%60%604(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L236\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch__4_Expression_Func__0___0___1___2___3_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryBatch``4(Expression{Func{`0,``0,``1,``2,``3,FormattableString}},System.Boolean)\">QueryBatch&lt;TOne, Two, TThree, TFour&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, Two, TThree, TFour&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()\n    where TFour : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, TFour, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch__5_Expression_Func__0___0___1___2___3___4_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch%60%605(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L245\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch__5_Expression_Func__0___0___1___2___3___4_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryBatch``5(Expression{Func{`0,``0,``1,``2,``3,``4,FormattableString}},System.Boolean)\">QueryBatch&lt;TOne, Two, TThree, TFour, TFive&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, Two, TThree, TFour, TFive&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, TFour, TFive, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch%60%606(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L254\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryBatch``6(Expression{Func{`0,``0,``1,``2,``3,``4,``5,FormattableString}},System.Boolean)\">QueryBatch&lt;TOne, Two, TThree, TFour, TFive, TSix&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, Two, TThree, TFour, TFive, TSix&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch%60%607(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2C%60%606%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L263\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryBatch``7(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,FormattableString}},System.Boolean)\">QueryBatch&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()\n    where TSeven : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSeven</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch%60%608(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2C%60%606%2C%60%607%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L272\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryBatch``8(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,``7,FormattableString}},System.Boolean)\">QueryBatch&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()\n    where TSeven : class, new()\n    where TEight : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSeven</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TEight</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryInterpolatedBatch_FormattableString_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryInterpolatedBatch(FormattableString%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L311\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryInterpolatedBatch_\" data-uid=\"Venflow.TableBase`1.QueryInterpolatedBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryInterpolatedBatch_FormattableString_System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryInterpolatedBatch(FormattableString,System.Boolean)\">QueryInterpolatedBatch(FormattableString, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryInterpolatedBatch(FormattableString sql, bool disposeCommand = true)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">FormattableString</span></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. <strong>You should only add parameters trough string interpolation.</strong></p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryInterpolatedBatch_Venflow_FormattableSqlStringBuilder_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryInterpolatedBatch(Venflow.FormattableSqlStringBuilder%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L320\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryInterpolatedBatch_\" data-uid=\"Venflow.TableBase`1.QueryInterpolatedBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryInterpolatedBatch_Venflow_FormattableSqlStringBuilder_System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryInterpolatedBatch(Venflow.FormattableSqlStringBuilder,System.Boolean)\">QueryInterpolatedBatch(FormattableSqlStringBuilder, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryInterpolatedBatch(FormattableSqlStringBuilder sql, bool disposeCommand = true)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.FormattableSqlStringBuilder.html\">FormattableSqlStringBuilder</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A <a class=\"xref\" href=\"Venflow.FormattableSqlStringBuilder.html\">FormattableSqlStringBuilder</a> instance containing the SQL statement.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryInterpolatedSingle_FormattableString_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryInterpolatedSingle(FormattableString%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L173\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryInterpolatedSingle_\" data-uid=\"Venflow.TableBase`1.QueryInterpolatedSingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryInterpolatedSingle_FormattableString_System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryInterpolatedSingle(FormattableString,System.Boolean)\">QueryInterpolatedSingle(FormattableString, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QueryInterpolatedSingle(FormattableString sql, bool disposeCommand = true)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">FormattableString</span></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryInterpolatedSingle_Venflow_FormattableSqlStringBuilder_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryInterpolatedSingle(Venflow.FormattableSqlStringBuilder%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L182\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryInterpolatedSingle_\" data-uid=\"Venflow.TableBase`1.QueryInterpolatedSingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryInterpolatedSingle_Venflow_FormattableSqlStringBuilder_System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryInterpolatedSingle(Venflow.FormattableSqlStringBuilder,System.Boolean)\">QueryInterpolatedSingle(FormattableSqlStringBuilder, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QueryInterpolatedSingle(FormattableSqlStringBuilder sql, bool disposeCommand = true)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.FormattableSqlStringBuilder.html\">FormattableSqlStringBuilder</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A <a class=\"xref\" href=\"Venflow.FormattableSqlStringBuilder.html\">FormattableSqlStringBuilder</a> instance containing the SQL statement.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle_Expression_Func__0_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle(Expression%7BFunc%7B%600%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L62\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle_Expression_Func__0_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QuerySingle(Expression{Func{`0,FormattableString}},System.Boolean)\">QuerySingle(Expression&lt;Func&lt;TEntity, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle(Expression&lt;Func&lt;TEntity, FormattableString&gt;&gt; sql, bool disposeCommand = true)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle_System_String_IList_NpgsqlParameter__.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle(System.String%2CIList%7BNpgsqlParameter%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L154\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle_System_String_IList_NpgsqlParameter__\" data-uid=\"Venflow.TableBase`1.QuerySingle(System.String,IList{NpgsqlParameter})\">QuerySingle(String, IList&lt;NpgsqlParameter&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_FormattableString_System_Boolean_\">QueryInterpolatedSingle(FormattableString, Boolean)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle(string sql, IList&lt;NpgsqlParameter&gt; parameters)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;<span class=\"xref\">NpgsqlParameter</span>&gt;</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>A set of <see cref=\"!:NpgsqlParameter\"></see> which contain parameters for the <code data-dev-comment-type=\"paramref\" class=\"paramref\">sql</code> command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_TableBase_1_QuerySingle_System_String_IList_NpgsqlParameter___remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>The command will be automatically disposed the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle_System_String_NpgsqlParameter___.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle(System.String%2CNpgsqlParameter%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L144\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle_System_String_NpgsqlParameter___\" data-uid=\"Venflow.TableBase`1.QuerySingle(System.String,NpgsqlParameter[])\">QuerySingle(String, NpgsqlParameter[])</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_FormattableString_System_Boolean_\">QueryInterpolatedSingle(FormattableString, Boolean)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle(string sql, params NpgsqlParameter[] parameters)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">NpgsqlParameter</span>[]</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>A set of <see cref=\"!:NpgsqlParameter\"></see> which contain parameters for the <code data-dev-comment-type=\"paramref\" class=\"paramref\">sql</code> command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_TableBase_1_QuerySingle_System_String_NpgsqlParameter____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>The command will be automatically disposed the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle_System_String_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle(System.String%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L53\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle_System_String_System_Boolean_\" data-uid=\"Venflow.TableBase`1.QuerySingle(System.String,System.Boolean)\">QuerySingle(String, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does not support string interpolation!</strong> If you need to pass parameters with the query, either use <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_System_String_NpgsqlParameter___\">QuerySingle(String, NpgsqlParameter[])</a> or <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_FormattableString_System_Boolean_\">QueryInterpolatedSingle(FormattableString, Boolean)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle(string sql, bool disposeCommand = true)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle_System_String_System_Boolean_NpgsqlParameter___.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle(System.String%2CSystem.Boolean%2CNpgsqlParameter%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L164\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle_System_String_System_Boolean_NpgsqlParameter___\" data-uid=\"Venflow.TableBase`1.QuerySingle(System.String,System.Boolean,NpgsqlParameter[])\">QuerySingle(String, Boolean, NpgsqlParameter[])</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_FormattableString_System_Boolean_\">QueryInterpolatedSingle(FormattableString, Boolean)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle(string sql, bool disposeCommand, params NpgsqlParameter[] parameters)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">NpgsqlParameter</span>[]</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>A set of <see cref=\"!:NpgsqlParameter\"></see> which contain parameters for the <code data-dev-comment-type=\"paramref\" class=\"paramref\">sql</code> command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle__1_Expression_Func__0___0_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle%60%601(Expression%7BFunc%7B%600%2C%60%600%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L71\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle__1_Expression_Func__0___0_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QuerySingle``1(Expression{Func{`0,``0,FormattableString}},System.Boolean)\">QuerySingle&lt;TOne&gt;(Expression&lt;Func&lt;TEntity, TOne, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne&gt;(Expression&lt;Func&lt;TEntity, TOne, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle__2_Expression_Func__0___0___1_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle%60%602(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L80\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle__2_Expression_Func__0___0___1_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QuerySingle``2(Expression{Func{`0,``0,``1,FormattableString}},System.Boolean)\">QuerySingle&lt;TOne, Two&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, Two&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle__3_Expression_Func__0___0___1___2_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle%60%603(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L89\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle__3_Expression_Func__0___0___1___2_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QuerySingle``3(Expression{Func{`0,``0,``1,``2,FormattableString}},System.Boolean)\">QuerySingle&lt;TOne, Two, TThree&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, Two, TThree&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle__4_Expression_Func__0___0___1___2___3_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle%60%604(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L98\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle__4_Expression_Func__0___0___1___2___3_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QuerySingle``4(Expression{Func{`0,``0,``1,``2,``3,FormattableString}},System.Boolean)\">QuerySingle&lt;TOne, Two, TThree, TFour&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, Two, TThree, TFour&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()\n    where TFour : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, TFour, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle__5_Expression_Func__0___0___1___2___3___4_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle%60%605(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L107\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle__5_Expression_Func__0___0___1___2___3___4_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QuerySingle``5(Expression{Func{`0,``0,``1,``2,``3,``4,FormattableString}},System.Boolean)\">QuerySingle&lt;TOne, Two, TThree, TFour, TFive&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, Two, TThree, TFour, TFive&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, TFour, TFive, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle%60%606(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L116\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QuerySingle``6(Expression{Func{`0,``0,``1,``2,``3,``4,``5,FormattableString}},System.Boolean)\">QuerySingle&lt;TOne, Two, TThree, TFour, TFive, TSix&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, Two, TThree, TFour, TFive, TSix&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle%60%607(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2C%60%606%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L125\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QuerySingle``7(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,FormattableString}},System.Boolean)\">QuerySingle&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()\n    where TSeven : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSeven</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle%60%608(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2C%60%606%2C%60%607%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L134\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QuerySingle``8(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,``7,FormattableString}},System.Boolean)\">QuerySingle&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()\n    where TSeven : class, new()\n    where TEight : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSeven</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TEight</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TableBase.cs/#L13\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.TypeArgumentException.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class TypeArgumentException\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class TypeArgumentException\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.TypeArgumentException\">\n  \n  \n  <h1 id=\"Venflow_TypeArgumentException\" data-uid=\"Venflow.TypeArgumentException\" class=\"text-break\">Class TypeArgumentException\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents an error which occur when an invalid type argument gets passed to a generic method.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">TypeArgumentException</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_TypeArgumentException_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public class TypeArgumentException : Exception</code></pre>\n  </div>\n  <h3 id=\"constructors\">Constructors\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TypeArgumentException__ctor.md&amp;value=---%0Auid%3A%20Venflow.TypeArgumentException.%23ctor%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TypeArgumentException.cs/#L10\">View Source</a>\n  </span>\n  <a id=\"Venflow_TypeArgumentException__ctor_\" data-uid=\"Venflow.TypeArgumentException.#ctor*\"></a>\n  <h4 id=\"Venflow_TypeArgumentException__ctor\" data-uid=\"Venflow.TypeArgumentException.#ctor\">TypeArgumentException()</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public TypeArgumentException()</code></pre>\n  </div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TypeArgumentException__ctor_System_String_.md&amp;value=---%0Auid%3A%20Venflow.TypeArgumentException.%23ctor(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TypeArgumentException.cs/#L13\">View Source</a>\n  </span>\n  <a id=\"Venflow_TypeArgumentException__ctor_\" data-uid=\"Venflow.TypeArgumentException.#ctor*\"></a>\n  <h4 id=\"Venflow_TypeArgumentException__ctor_System_String_\" data-uid=\"Venflow.TypeArgumentException.#ctor(System.String)\">TypeArgumentException(String)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public TypeArgumentException(string message)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">message</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TypeArgumentException__ctor_System_String_Exception_.md&amp;value=---%0Auid%3A%20Venflow.TypeArgumentException.%23ctor(System.String%2CException)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TypeArgumentException.cs/#L19\">View Source</a>\n  </span>\n  <a id=\"Venflow_TypeArgumentException__ctor_\" data-uid=\"Venflow.TypeArgumentException.#ctor*\"></a>\n  <h4 id=\"Venflow_TypeArgumentException__ctor_System_String_Exception_\" data-uid=\"Venflow.TypeArgumentException.#ctor(System.String,Exception)\">TypeArgumentException(String, Exception)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public TypeArgumentException(string message, Exception inner)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">message</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">Exception</span></td>\n        <td><span class=\"parametername\">inner</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TypeArgumentException__ctor_System_String_System_String_.md&amp;value=---%0Auid%3A%20Venflow.TypeArgumentException.%23ctor(System.String%2CSystem.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TypeArgumentException.cs/#L16\">View Source</a>\n  </span>\n  <a id=\"Venflow_TypeArgumentException__ctor_\" data-uid=\"Venflow.TypeArgumentException.#ctor*\"></a>\n  <h4 id=\"Venflow_TypeArgumentException__ctor_System_String_System_String_\" data-uid=\"Venflow.TypeArgumentException.#ctor(System.String,System.String)\">TypeArgumentException(String, String)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public TypeArgumentException(string message, string type)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">message</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">type</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TypeArgumentException.md&amp;value=---%0Auid%3A%20Venflow.TypeArgumentException%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/TypeArgumentException.cs/#L6\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.VenflowConfiguration.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class VenflowConfiguration\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class VenflowConfiguration\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.VenflowConfiguration\">\n  \n  \n  <h1 id=\"Venflow_VenflowConfiguration\" data-uid=\"Venflow.VenflowConfiguration\" class=\"text-break\">Class VenflowConfiguration\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Contains methods to globally set the configuration of Venflow.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">VenflowConfiguration</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_VenflowConfiguration_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static class VenflowConfiguration : object</code></pre>\n  </div>\n  <h3 id=\"properties\">Properties\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowConfiguration_DynamicCacheExpirationTime.md&amp;value=---%0Auid%3A%20Venflow.VenflowConfiguration.DynamicCacheExpirationTime%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowConfiguration.cs/#L16\">View Source</a>\n  </span>\n  <a id=\"Venflow_VenflowConfiguration_DynamicCacheExpirationTime_\" data-uid=\"Venflow.VenflowConfiguration.DynamicCacheExpirationTime*\"></a>\n  <h4 id=\"Venflow_VenflowConfiguration_DynamicCacheExpirationTime\" data-uid=\"Venflow.VenflowConfiguration.DynamicCacheExpirationTime\">DynamicCacheExpirationTime</h4>\n  <div class=\"markdown level1 summary\"><p>Determines the expiration duration time of the underlying SQL Materializer Cache in seconds, defaults to 5 minutes.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static long DynamicCacheExpirationTime { get; }</code></pre>\n  </div>\n  <h5 class=\"propertyValue\">Property Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int64\">Int64</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowConfiguration_DynamicCacheExpirationTime_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Venflow uses the SQL used in queries to map a materializer to this specific query. This is faster, than using the returned columns and used relations as a cache key. If a query with the executed SQL won't be called again within the next <a class=\"xref\" href=\"Venflow.VenflowConfiguration.html#Venflow_VenflowConfiguration_DynamicCacheExpirationTime\">DynamicCacheExpirationTime</a>, it will be removed from the cache. However do note, that the materializer itself will not be removed from the cache.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowConfiguration_ShouldUseDeepValidation.md&amp;value=---%0Auid%3A%20Venflow.VenflowConfiguration.ShouldUseDeepValidation%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowConfiguration.cs/#L26\">View Source</a>\n  </span>\n  <a id=\"Venflow_VenflowConfiguration_ShouldUseDeepValidation_\" data-uid=\"Venflow.VenflowConfiguration.ShouldUseDeepValidation*\"></a>\n  <h4 id=\"Venflow_VenflowConfiguration_ShouldUseDeepValidation\" data-uid=\"Venflow.VenflowConfiguration.ShouldUseDeepValidation\">ShouldUseDeepValidation</h4>\n  <div class=\"markdown level1 summary\"><p>Determines whether or not Venflow will perform more extensive validation through out its usage. This setting will be set to <span class=\"xref\">true</span> automatically, if you are in DEBUG, otherwise <span class=\"xref\">false</span>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static bool ShouldUseDeepValidation { get; }</code></pre>\n  </div>\n  <h5 class=\"propertyValue\">Property Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowConfiguration_ThrowLoggedExceptions.md&amp;value=---%0Auid%3A%20Venflow.VenflowConfiguration.ThrowLoggedExceptions%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowConfiguration.cs/#L21\">View Source</a>\n  </span>\n  <a id=\"Venflow_VenflowConfiguration_ThrowLoggedExceptions_\" data-uid=\"Venflow.VenflowConfiguration.ThrowLoggedExceptions*\"></a>\n  <h4 id=\"Venflow_VenflowConfiguration_ThrowLoggedExceptions\" data-uid=\"Venflow.VenflowConfiguration.ThrowLoggedExceptions\">ThrowLoggedExceptions</h4>\n  <div class=\"markdown level1 summary\"><p>Determines whether or not Venflow will propagate exceptions to the caller of a command, if the exception is being logged. Defaults to <span class=\"xref\">true</span>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static bool ThrowLoggedExceptions { get; set; }</code></pre>\n  </div>\n  <h5 class=\"propertyValue\">Property Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowConfiguration_SetDynamicCacheExpirationTime_System_Int64_.md&amp;value=---%0Auid%3A%20Venflow.VenflowConfiguration.SetDynamicCacheExpirationTime(System.Int64)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowConfiguration.cs/#L48\">View Source</a>\n  </span>\n  <a id=\"Venflow_VenflowConfiguration_SetDynamicCacheExpirationTime_\" data-uid=\"Venflow.VenflowConfiguration.SetDynamicCacheExpirationTime*\"></a>\n  <h4 id=\"Venflow_VenflowConfiguration_SetDynamicCacheExpirationTime_System_Int64_\" data-uid=\"Venflow.VenflowConfiguration.SetDynamicCacheExpirationTime(System.Int64)\">SetDynamicCacheExpirationTime(Int64)</h4>\n  <div class=\"markdown level1 summary\"><p>Sets the value of the <a class=\"xref\" href=\"Venflow.VenflowConfiguration.html#Venflow_VenflowConfiguration_DynamicCacheExpirationTime\">DynamicCacheExpirationTime</a> property.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static void SetDynamicCacheExpirationTime(long expirationTime)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int64\">Int64</a></td>\n        <td><span class=\"parametername\">expirationTime</span></td>\n        <td><p>The expiration duration time in seconds.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowConfiguration_SetDynamicCacheExpirationTime_TimeSpan_.md&amp;value=---%0Auid%3A%20Venflow.VenflowConfiguration.SetDynamicCacheExpirationTime(TimeSpan)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowConfiguration.cs/#L34\">View Source</a>\n  </span>\n  <a id=\"Venflow_VenflowConfiguration_SetDynamicCacheExpirationTime_\" data-uid=\"Venflow.VenflowConfiguration.SetDynamicCacheExpirationTime*\"></a>\n  <h4 id=\"Venflow_VenflowConfiguration_SetDynamicCacheExpirationTime_TimeSpan_\" data-uid=\"Venflow.VenflowConfiguration.SetDynamicCacheExpirationTime(TimeSpan)\">SetDynamicCacheExpirationTime(TimeSpan)</h4>\n  <div class=\"markdown level1 summary\"><p>Sets the value of the <a class=\"xref\" href=\"Venflow.VenflowConfiguration.html#Venflow_VenflowConfiguration_DynamicCacheExpirationTime\">DynamicCacheExpirationTime</a> property.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static void SetDynamicCacheExpirationTime(TimeSpan timeSpan)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TimeSpan</span></td>\n        <td><span class=\"parametername\">timeSpan</span></td>\n        <td><p>The expiration duration time.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowConfiguration_UseDeepValidation_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.VenflowConfiguration.UseDeepValidation(System.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowConfiguration.cs/#L60\">View Source</a>\n  </span>\n  <a id=\"Venflow_VenflowConfiguration_UseDeepValidation_\" data-uid=\"Venflow.VenflowConfiguration.UseDeepValidation*\"></a>\n  <h4 id=\"Venflow_VenflowConfiguration_UseDeepValidation_System_Boolean_\" data-uid=\"Venflow.VenflowConfiguration.UseDeepValidation(System.Boolean)\">UseDeepValidation(Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Changes the value of the <a class=\"xref\" href=\"Venflow.VenflowConfiguration.html#Venflow_VenflowConfiguration_ShouldUseDeepValidation\">ShouldUseDeepValidation</a> property.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static void UseDeepValidation(bool validation)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">validation</span></td>\n        <td><p>Determines if Venflow should use deep validation or not.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowConfiguration.md&amp;value=---%0Auid%3A%20Venflow.VenflowConfiguration%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowConfiguration.cs/#L8\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.VenflowDbType.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class VenflowDbType\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class VenflowDbType\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.VenflowDbType\">\n  \n  \n  <h1 id=\"Venflow_VenflowDbType\" data-uid=\"Venflow.VenflowDbType\" class=\"text-break\">Class VenflowDbType\n  </h1>\n  <div class=\"markdown level0 summary\"></div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">VenflowDbType</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_VenflowDbType_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static class VenflowDbType : object</code></pre>\n  </div>\n  <h3 id=\"fields\">Fields\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Abstime.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Abstime%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L252\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Abstime\" data-uid=\"Venflow.VenflowDbType.Abstime\">Abstime</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the obsolete PostgreSQL &quot;abstime&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Abstime = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Abstime_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-datetime.html\">https://www.postgresql.org/docs/current/static/datatype-datetime.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Array.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Array%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L531\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Array\" data-uid=\"Venflow.VenflowDbType.Array\">Array</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;array&quot; type, a variable-length multidimensional array of\nanother type. This value must be combined with another value from <see cref=\"!:NpgsqlDbType\"></see>\nvia a bit OR (e.g. NpgsqlDbType.Array | NpgsqlDbType.Integer)</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Array = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Array_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/arrays.html\">https://www.postgresql.org/docs/current/static/arrays.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Bigint.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Bigint%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L18\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Bigint\" data-uid=\"Venflow.VenflowDbType.Bigint\">Bigint</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL 8-byte &quot;bigint&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Bigint = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Bigint_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-numeric.html\">https://www.postgresql.org/docs/current/static/datatype-numeric.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Bit.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Bit%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L295\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Bit\" data-uid=\"Venflow.VenflowDbType.Bit\">Bit</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;bit&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Bit = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Bit_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-bit.html\">https://www.postgresql.org/docs/current/static/datatype-bit.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Boolean.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Boolean%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L71\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Boolean\" data-uid=\"Venflow.VenflowDbType.Boolean\">Boolean</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;boolean&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Boolean = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Boolean_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-boolean.html\">https://www.postgresql.org/docs/current/static/datatype-boolean.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Box.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Box%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L82\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Box\" data-uid=\"Venflow.VenflowDbType.Box\">Box</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL geometric &quot;box&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Box = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Box_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-geometric.html\">https://www.postgresql.org/docs/current/static/datatype-geometric.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Bytea.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Bytea%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L184\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Bytea\" data-uid=\"Venflow.VenflowDbType.Bytea\">Bytea</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;bytea&quot; type, holding a raw byte string.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Bytea = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Bytea_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-binary.html\">https://www.postgresql.org/docs/current/static/datatype-binary.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Char.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Char%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L135\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Char\" data-uid=\"Venflow.VenflowDbType.Char\">Char</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;char(n)&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Char = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Char_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-character.html\">https://www.postgresql.org/docs/current/static/datatype-character.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Cid.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Cid%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L444\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Cid\" data-uid=\"Venflow.VenflowDbType.Cid\">Cid</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;cid&quot; type, an internal command identifier.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Cid = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Cid_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-oid.html\">https://www.postgresql.org/docs/current/static/datatype-oid.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Cidr.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Cidr%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L270\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Cidr\" data-uid=\"Venflow.VenflowDbType.Cidr\">Cidr</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;cidr&quot; type, a field storing an IPv4 or IPv6 network.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Cidr = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Cidr_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-net-types.html\">https://www.postgresql.org/docs/current/static/datatype-net-types.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Circle.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Circle%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L89\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Circle\" data-uid=\"Venflow.VenflowDbType.Circle\">Circle</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL geometric &quot;circle&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Circle = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Circle_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-geometric.html\">https://www.postgresql.org/docs/current/static/datatype-geometric.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Citext.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Citext%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L162\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Citext\" data-uid=\"Venflow.VenflowDbType.Citext\">Citext</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;citext&quot; type for the citext module.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Citext = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Citext_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/citext.html\">https://www.postgresql.org/docs/current/static/citext.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Date.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Date%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L195\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Date\" data-uid=\"Venflow.VenflowDbType.Date\">Date</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;date&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Date = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Date_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-datetime.html\">https://www.postgresql.org/docs/current/static/datatype-datetime.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Double.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Double%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L25\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Double\" data-uid=\"Venflow.VenflowDbType.Double\">Double</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL 8-byte floating-point &quot;double&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Double = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Double_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-numeric.html\">https://www.postgresql.org/docs/current/static/datatype-numeric.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Geography.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Geography%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L497\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Geography\" data-uid=\"Venflow.VenflowDbType.Geography\">Geography</h4>\n  <div class=\"markdown level1 summary\"><p>The geography (geodetic) type for PostgreSQL spatial extension PostGIS.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Geography = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Geometry.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Geometry%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L492\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Geometry\" data-uid=\"Venflow.VenflowDbType.Geometry\">Geometry</h4>\n  <div class=\"markdown level1 summary\"><p>The geometry type for PostgreSQL spatial extension PostGIS.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Geometry = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Hstore.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Hstore%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L393\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Hstore\" data-uid=\"Venflow.VenflowDbType.Hstore\">Hstore</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;hstore&quot; type, a dictionary of string key-value pairs.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Hstore = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Hstore_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/hstore.html\">https://www.postgresql.org/docs/current/static/hstore.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Inet.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Inet%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L263\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Inet\" data-uid=\"Venflow.VenflowDbType.Inet\">Inet</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;inet&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Inet = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Inet_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-net-types.html\">https://www.postgresql.org/docs/current/static/datatype-net-types.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Int2Vector.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Int2Vector%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L416\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Int2Vector\" data-uid=\"Venflow.VenflowDbType.Int2Vector\">Int2Vector</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL internal &quot;int2vector&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Int2Vector = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Integer.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Integer%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L32\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Integer\" data-uid=\"Venflow.VenflowDbType.Integer\">Integer</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL 4-byte &quot;integer&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Integer = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Integer_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-numeric.html\">https://www.postgresql.org/docs/current/static/datatype-numeric.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_InternalChar.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.InternalChar%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L173\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_InternalChar\" data-uid=\"Venflow.VenflowDbType.InternalChar\">InternalChar</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;char&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int InternalChar = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_InternalChar_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This is an internal field and should normally not be used for regular applications.</p>\n<p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-text.html\">https://www.postgresql.org/docs/current/static/datatype-text.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Interval.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Interval%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L230\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Interval\" data-uid=\"Venflow.VenflowDbType.Interval\">Interval</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;interval&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Interval = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Interval_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-datetime.html\">https://www.postgresql.org/docs/current/static/datatype-datetime.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Json.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Json%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L361\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Json\" data-uid=\"Venflow.VenflowDbType.Json\">Json</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;json&quot; type, a field storing JSON in text format.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Json = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Json_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-json.html\">https://www.postgresql.org/docs/current/static/datatype-json.html</a></p>\n</div>\n  <h5 id=\"Venflow_VenflowDbType_Json_seealso\">See Also</h5>\n  <div class=\"seealso\">\n      <div><a class=\"xref\" href=\"Venflow.VenflowDbType.html#Venflow_VenflowDbType_Jsonb\">Jsonb</a></div>\n  </div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Jsonb.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Jsonb%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L372\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Jsonb\" data-uid=\"Venflow.VenflowDbType.Jsonb\">Jsonb</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;jsonb&quot; type, a field storing JSON in an optimized binary.\nformat.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Jsonb = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Jsonb_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Supported since PostgreSQL 9.4.\nSee <a href=\"https://www.postgresql.org/docs/current/static/datatype-json.html\">https://www.postgresql.org/docs/current/static/datatype-json.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_JsonPath.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.JsonPath%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L383\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_JsonPath\" data-uid=\"Venflow.VenflowDbType.JsonPath\">JsonPath</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;jsonpath&quot; type, a field storing JSON path in text format.\nformat.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int JsonPath = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_JsonPath_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Supported since PostgreSQL 12.\nSee <a href=\"https://www.postgresql.org/docs/current/datatype-json.html#DATATYPE-JSONPATH\">https://www.postgresql.org/docs/current/datatype-json.html#DATATYPE-JSONPATH</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Line.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Line%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L96\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Line\" data-uid=\"Venflow.VenflowDbType.Line\">Line</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL geometric &quot;line&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Line = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Line_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-geometric.html\">https://www.postgresql.org/docs/current/static/datatype-geometric.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_LQuery.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.LQuery%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L513\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_LQuery\" data-uid=\"Venflow.VenflowDbType.LQuery\">LQuery</h4>\n  <div class=\"markdown level1 summary\"><p>The PostgreSQL lquery type for PostgreSQL extension ltree</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int LQuery = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_LQuery_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"http://www.postgresql.org/docs/current/static/ltree.html\">http://www.postgresql.org/docs/current/static/ltree.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_LSeg.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.LSeg%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L103\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_LSeg\" data-uid=\"Venflow.VenflowDbType.LSeg\">LSeg</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL geometric &quot;lseg&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int LSeg = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_LSeg_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-geometric.html\">https://www.postgresql.org/docs/current/static/datatype-geometric.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_LTree.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.LTree%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L507\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_LTree\" data-uid=\"Venflow.VenflowDbType.LTree\">LTree</h4>\n  <div class=\"markdown level1 summary\"><p>The PostgreSQL ltree type, each value is a label path &quot;a.label.tree.value&quot;, forming a tree in a set.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int LTree = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_LTree_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"http://www.postgresql.org/docs/current/static/ltree.html\">http://www.postgresql.org/docs/current/static/ltree.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_LTxtQuery.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.LTxtQuery%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L519\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_LTxtQuery\" data-uid=\"Venflow.VenflowDbType.LTxtQuery\">LTxtQuery</h4>\n  <div class=\"markdown level1 summary\"><p>The PostgreSQL ltxtquery type for PostgreSQL extension ltree</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int LTxtQuery = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_LTxtQuery_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"http://www.postgresql.org/docs/current/static/ltree.html\">http://www.postgresql.org/docs/current/static/ltree.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_MacAddr.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.MacAddr%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L277\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_MacAddr\" data-uid=\"Venflow.VenflowDbType.MacAddr\">MacAddr</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;macaddr&quot; type, a field storing a 6-byte physical address.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int MacAddr = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_MacAddr_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-net-types.html\">https://www.postgresql.org/docs/current/static/datatype-net-types.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_MacAddr8.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.MacAddr8%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L284\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_MacAddr8\" data-uid=\"Venflow.VenflowDbType.MacAddr8\">MacAddr8</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;macaddr8&quot; type, a field storing a 6-byte or 8-byte physical address.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int MacAddr8 = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_MacAddr8_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-net-types.html\">https://www.postgresql.org/docs/current/static/datatype-net-types.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Money.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Money%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L60\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Money\" data-uid=\"Venflow.VenflowDbType.Money\">Money</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;money&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Money = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Money_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-money.html\">https://www.postgresql.org/docs/current/static/datatype-money.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Multirange.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Multirange%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L553\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Multirange\" data-uid=\"Venflow.VenflowDbType.Multirange\">Multirange</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;multirange&quot; type, continuous range of values of specific type.\nThis value must be combined with another value from <see cref=\"!:NpgsqlDbType\"></see>\nvia a bit OR (e.g. NpgsqlDbType.Multirange | NpgsqlDbType.Integer)</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Multirange = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Multirange_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Supported since PostgreSQL 14.\nSee <a href=\"https://www.postgresql.org/docs/current/static/rangetypes.html\">https://www.postgresql.org/docs/current/static/rangetypes.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Name.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Name%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L156\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Name\" data-uid=\"Venflow.VenflowDbType.Name\">Name</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL internal &quot;name&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Name = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Name_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-character.html\">https://www.postgresql.org/docs/current/static/datatype-character.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Numeric.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Numeric%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L39\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Numeric\" data-uid=\"Venflow.VenflowDbType.Numeric\">Numeric</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL arbitrary-precision &quot;numeric&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Numeric = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Numeric_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-numeric.html\">https://www.postgresql.org/docs/current/static/datatype-numeric.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Oid.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Oid%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L423\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Oid\" data-uid=\"Venflow.VenflowDbType.Oid\">Oid</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;oid&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Oid = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Oid_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-oid.html\">https://www.postgresql.org/docs/current/static/datatype-oid.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Oidvector.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Oidvector%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L410\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Oidvector\" data-uid=\"Venflow.VenflowDbType.Oidvector\">Oidvector</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL internal &quot;oidvector&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Oidvector = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Oidvector_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-oid.html\">https://www.postgresql.org/docs/current/static/datatype-oid.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Path.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Path%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L110\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Path\" data-uid=\"Venflow.VenflowDbType.Path\">Path</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL geometric &quot;path&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Path = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Path_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-geometric.html\">https://www.postgresql.org/docs/current/static/datatype-geometric.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_PgLsn.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.PgLsn%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L467\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_PgLsn\" data-uid=\"Venflow.VenflowDbType.PgLsn\">PgLsn</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;pg_lsn&quot; type, which can be used to store LSN (Log Sequence Number) data which\nis a pointer to a location in the WAL.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int PgLsn = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_PgLsn_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See: <a href=\"https://www.postgresql.org/docs/current/datatype-pg-lsn.html\">https://www.postgresql.org/docs/current/datatype-pg-lsn.html</a> and\n<a href=\"https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=7d03a83f4d0736ba869fa6f93973f7623a27038a\">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=7d03a83f4d0736ba869fa6f93973f7623a27038a</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Point.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Point%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L117\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Point\" data-uid=\"Venflow.VenflowDbType.Point\">Point</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL geometric &quot;point&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Point = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Point_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-geometric.html\">https://www.postgresql.org/docs/current/static/datatype-geometric.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Polygon.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Polygon%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L124\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Polygon\" data-uid=\"Venflow.VenflowDbType.Polygon\">Polygon</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL geometric &quot;polygon&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Polygon = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Polygon_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-geometric.html\">https://www.postgresql.org/docs/current/static/datatype-geometric.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Range.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Range%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L542\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Range\" data-uid=\"Venflow.VenflowDbType.Range\">Range</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;range&quot; type, continuous range of values of specific type.\nThis value must be combined with another value from <see cref=\"!:NpgsqlDbType\"></see>\nvia a bit OR (e.g. NpgsqlDbType.Range | NpgsqlDbType.Integer)</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Range = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Range_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Supported since PostgreSQL 9.2.\nSee <a href=\"https://www.postgresql.org/docs/current/static/rangetypes.html\">https://www.postgresql.org/docs/current/static/rangetypes.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Real.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Real%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L46\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Real\" data-uid=\"Venflow.VenflowDbType.Real\">Real</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL floating-point &quot;real&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Real = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Real_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-numeric.html\">https://www.postgresql.org/docs/current/static/datatype-numeric.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Refcursor.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Refcursor%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L403\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Refcursor\" data-uid=\"Venflow.VenflowDbType.Refcursor\">Refcursor</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;refcursor&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Refcursor = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Regconfig.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Regconfig%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L327\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Regconfig\" data-uid=\"Venflow.VenflowDbType.Regconfig\">Regconfig</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;regconfig&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Regconfig = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Regconfig_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-textsearch.html\">https://www.postgresql.org/docs/current/static/datatype-textsearch.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Regtype.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Regtype%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L450\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Regtype\" data-uid=\"Venflow.VenflowDbType.Regtype\">Regtype</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;regtype&quot; type, a numeric (OID) ID of a type in the pg_type table.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Regtype = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Smallint.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Smallint%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L53\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Smallint\" data-uid=\"Venflow.VenflowDbType.Smallint\">Smallint</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL 2-byte &quot;smallint&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Smallint = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Smallint_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-numeric.html\">https://www.postgresql.org/docs/current/static/datatype-numeric.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Text.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Text%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L142\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Text\" data-uid=\"Venflow.VenflowDbType.Text\">Text</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;text&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Text = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Text_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-character.html\">https://www.postgresql.org/docs/current/static/datatype-character.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Tid.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Tid%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L456\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Tid\" data-uid=\"Venflow.VenflowDbType.Tid\">Tid</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;tid&quot; type, a tuple id identifying the physical location of a row within its table.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Tid = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Time.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Time%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L202\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Time\" data-uid=\"Venflow.VenflowDbType.Time\">Time</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;time&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Time = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Time_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-datetime.html\">https://www.postgresql.org/docs/current/static/datatype-datetime.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Timestamp.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Timestamp%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L209\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Timestamp\" data-uid=\"Venflow.VenflowDbType.Timestamp\">Timestamp</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;timestamp&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Timestamp = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Timestamp_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-datetime.html\">https://www.postgresql.org/docs/current/static/datatype-datetime.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_TimestampTz.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.TimestampTz%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L223\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_TimestampTz\" data-uid=\"Venflow.VenflowDbType.TimestampTz\">TimestampTz</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;timestamp with time zone&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int TimestampTz = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_TimestampTz_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-datetime.html\">https://www.postgresql.org/docs/current/static/datatype-datetime.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_TimestampTZ.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.TimestampTZ%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L216\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_TimestampTZ\" data-uid=\"Venflow.VenflowDbType.TimestampTZ\">TimestampTZ</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;timestamp with time zone&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int TimestampTZ = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_TimestampTZ_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-datetime.html\">https://www.postgresql.org/docs/current/static/datatype-datetime.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_TimeTz.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.TimeTz%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L244\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_TimeTz\" data-uid=\"Venflow.VenflowDbType.TimeTz\">TimeTz</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;time with time zone&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int TimeTz = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_TimeTz_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-datetime.html\">https://www.postgresql.org/docs/current/static/datatype-datetime.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_TimeTZ.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.TimeTZ%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L237\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_TimeTZ\" data-uid=\"Venflow.VenflowDbType.TimeTZ\">TimeTZ</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;time with time zone&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int TimeTZ = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_TimeTZ_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-datetime.html\">https://www.postgresql.org/docs/current/static/datatype-datetime.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_TsQuery.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.TsQuery%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L320\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_TsQuery\" data-uid=\"Venflow.VenflowDbType.TsQuery\">TsQuery</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;tsquery&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int TsQuery = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_TsQuery_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-textsearch.html\">https://www.postgresql.org/docs/current/static/datatype-textsearch.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_TsVector.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.TsVector%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L313\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_TsVector\" data-uid=\"Venflow.VenflowDbType.TsVector\">TsVector</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;tsvector&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int TsVector = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_TsVector_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-textsearch.html\">https://www.postgresql.org/docs/current/static/datatype-textsearch.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Unknown.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Unknown%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L483\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Unknown\" data-uid=\"Venflow.VenflowDbType.Unknown\">Unknown</h4>\n  <div class=\"markdown level1 summary\"><p>A special value that can be used to send parameter values to the database without\nspecifying their type, allowing the database to cast them to another value based on context.\nThe value will be converted to a string and send as text.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Unknown = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Unknown_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This value shouldn't ordinarily be used, and makes sense only when sending a data type\nunsupported by Npgsql.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Uuid.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Uuid%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L338\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Uuid\" data-uid=\"Venflow.VenflowDbType.Uuid\">Uuid</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;uuid&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Uuid = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Uuid_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-uuid.html\">https://www.postgresql.org/docs/current/static/datatype-uuid.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Varbit.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Varbit%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L302\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Varbit\" data-uid=\"Venflow.VenflowDbType.Varbit\">Varbit</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;varbit&quot; type, a field storing a variable-length string of bits.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Varbit = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Varbit_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-boolean.html\">https://www.postgresql.org/docs/current/static/datatype-boolean.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Varchar.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Varchar%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L149\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Varchar\" data-uid=\"Venflow.VenflowDbType.Varchar\">Varchar</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;varchar&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Varchar = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Varchar_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-character.html\">https://www.postgresql.org/docs/current/static/datatype-character.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Xid.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Xid%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L430\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Xid\" data-uid=\"Venflow.VenflowDbType.Xid\">Xid</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;xid&quot; type, an internal transaction identifier.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Xid = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Xid_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-oid.html\">https://www.postgresql.org/docs/current/static/datatype-oid.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Xid8.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Xid8%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L437\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Xid8\" data-uid=\"Venflow.VenflowDbType.Xid8\">Xid8</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;xid8&quot; type, an internal transaction identifier.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Xid8 = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Xid8_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-oid.html\">https://www.postgresql.org/docs/current/static/datatype-oid.html</a></p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType_Xml.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType.Xml%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L349\">View Source</a>\n  </span>\n  <h4 id=\"Venflow_VenflowDbType_Xml\" data-uid=\"Venflow.VenflowDbType.Xml\">Xml</h4>\n  <div class=\"markdown level1 summary\"><p>Corresponds to the PostgreSQL &quot;xml&quot; type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public const int Xml = null</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowDbType_Xml_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>See <a href=\"https://www.postgresql.org/docs/current/static/datatype-xml.html\">https://www.postgresql.org/docs/current/static/datatype-xml.html</a></p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowDbType.md&amp;value=---%0Auid%3A%20Venflow.VenflowDbType%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/VenflowDbType.cs/#L6\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/Venflow.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Namespace Venflow\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Namespace Venflow\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow\">\n  \n  <h1 id=\"Venflow\" data-uid=\"Venflow\" class=\"text-break\">Namespace Venflow\n  </h1>\n  <div class=\"markdown level0 summary\"></div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"markdown level0 remarks\"></div>\n    <h3 id=\"classes\">Classes\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.Database.html\">Database</a></h4>\n      <section><p>A <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance represents a session with the database and can be used to perform CRUD operations with your tables and entities.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.DatabaseConfigurationOptionsBuilder.html\">DatabaseConfigurationOptionsBuilder</a></h4>\n      <section><p>Provides an option builder to further <em>statically</em> configure a <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder&lt;TDatabase&gt;</a></h4>\n      <section><p>Provides an option builder to further <em>dynamically</em> configure a <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.FormattableSqlStringBuilder.html\">FormattableSqlStringBuilder</a></h4>\n      <section><p>Allows for a safe string interpolated SQL concatenation.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.InvalidEntityRelationException.html\">InvalidEntityRelationException</a></h4>\n      <section><p>Represents errors that occur during the relation entity generation.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.KeyConverter.html\">KeyConverter</a></h4>\n      <section><p>Provides a way of converting <a class=\"xref\" href=\"Venflow.Key-2.html\">Key&lt;TEntity, TKey&gt;</a> to strings and vice versa.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.NpgsqlCommandExtensions.html\">NpgsqlCommandExtensions</a></h4>\n      <section><p>Provides a set of useful extension methods for the <see cref=\"!:NpgsqlCommand\"></see> class.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.NpgsqlQuotedNameTranslator.html\">NpgsqlQuotedNameTranslator</a></h4>\n      <section><p>A name translator which preserves CLR names (e.g. SomeClass) when mapping names to the database.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.ParameterTypeHandler.html\">ParameterTypeHandler</a></h4>\n      <section><p>A class which contains methods to configure the used type handlers while parsing Interpolated arguments.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Table-1.html\">Table&lt;TEntity&gt;</a></h4>\n      <section><p>A <a class=\"xref\" href=\"Venflow.Table-1.html\">Table&lt;TEntity&gt;</a> is used to perform CRUD operations against the table represented by <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code>.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.TableBase-1.html\">TableBase&lt;TEntity&gt;</a></h4>\n      <section><p>A <a class=\"xref\" href=\"Venflow.TableBase-1.html\">TableBase&lt;TEntity&gt;</a> is used to perform query operations of all sorts.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.TypeArgumentException.html\">TypeArgumentException</a></h4>\n      <section><p>Represents an error which occur when an invalid type argument gets passed to a generic method.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.VenflowConfiguration.html\">VenflowConfiguration</a></h4>\n      <section><p>Contains methods to globally set the configuration of Venflow.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.VenflowDbType.html\">VenflowDbType</a></h4>\n      <section></section>\n    <h3 id=\"structs\">Structs\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.Key-2.html\">Key&lt;TEntity, TKey&gt;</a></h4>\n      <section><p>This is used to create strongly-typed ids.</p>\n</section>\n    <h3 id=\"interfaces\">Interfaces\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.IDatabaseTransaction.html\">IDatabaseTransaction</a></h4>\n      <section><p>Represents a transaction to be made with a database.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.IKey.html\">IKey</a></h4>\n      <section><p><strong>Do not use this interface, if you are not absolutely sure what it does.</strong></p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.IKey-2.html\">IKey&lt;TEntity, TKey&gt;</a></h4>\n      <section><p>This interface should be implemented by <em>structs</em>, to create strongly-typed ids.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.IParameterTypeHandler.html\">IParameterTypeHandler</a></h4>\n      <section><p>A parameter type handler which can be used with the <see cref=\"!:ParameterTypeHandler.AddTypeHandler(System.Type, IParameterTypeHandler)\"></see> method.</p>\n</section>\n    <h3 id=\"delegates\">Delegates\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.LoggerCallback.html\">LoggerCallback</a></h4>\n      <section><p>Represent a method that will handle all Logs produced by a <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</section>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/index.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>The API Docs of Venflow | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"The API Docs of Venflow | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"API.Docs\">\n<h1 id=\"welcome-to-the-api-documentation-of-venflow\">Welcome to the API Documentation of Venflow</h1>\n\n<p>Here you will be able to find all the public API's and there descriptions.</p>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/docs/docfx/api/index.md/#L1\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/api/toc.html",
    "content": "﻿\n<div id=\"sidetoggle\">\n  <div>\n    <div class=\"sidefilter\">\n      <form class=\"toc-filter\">\n        <span class=\"glyphicon glyphicon-filter filter-icon\"></span>\n        <span class=\"glyphicon glyphicon-remove clear-icon\" id=\"toc_filter_clear\"></span>\n        <input type=\"text\" id=\"toc_filter_input\" placeholder=\"Enter here to filter...\" onkeypress=\"if(event.keyCode==13) {return false;}\">\n      </form>\n    </div>\n    <div class=\"sidetoc\">\n      <div class=\"toc\" id=\"toc\">\n          \n          <ul class=\"nav level1\">\n                <li>\n                    <span class=\"expand-stub\"></span>\n                    <a href=\"System.Runtime.CompilerServices.html\" name=\"\" title=\"System.Runtime.CompilerServices\">System.Runtime.CompilerServices</a>\n                    \n                    <ul class=\"nav level2\">\n                          <li>\n                              <a href=\"System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.html\" name=\"\" title=\"IgnoresAccessChecksToAttribute\">IgnoresAccessChecksToAttribute</a>\n                          </li>\n                          <li>\n                              <a href=\"System.Runtime.CompilerServices.NullableAttribute.html\" name=\"\" title=\"NullableAttribute\">NullableAttribute</a>\n                          </li>\n                          <li>\n                              <a href=\"System.Runtime.CompilerServices.NullableContextAttribute.html\" name=\"\" title=\"NullableContextAttribute\">NullableContextAttribute</a>\n                          </li>\n                    </ul>\n                </li>\n                <li>\n                    <span class=\"expand-stub\"></span>\n                    <a href=\"Venflow.html\" name=\"\" title=\"Venflow\">Venflow</a>\n                    \n                    <ul class=\"nav level2\">\n                          <li>\n                              <a href=\"Venflow.Database.html\" name=\"\" title=\"Database\">Database</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.DatabaseConfigurationOptionsBuilder.html\" name=\"\" title=\"DatabaseConfigurationOptionsBuilder\">DatabaseConfigurationOptionsBuilder</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.DatabaseOptionsBuilder-1.html\" name=\"\" title=\"DatabaseOptionsBuilder&lt;TDatabase&gt;\">DatabaseOptionsBuilder&lt;TDatabase&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.FormattableSqlStringBuilder.html\" name=\"\" title=\"FormattableSqlStringBuilder\">FormattableSqlStringBuilder</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.IDatabaseTransaction.html\" name=\"\" title=\"IDatabaseTransaction\">IDatabaseTransaction</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.IKey.html\" name=\"\" title=\"IKey\">IKey</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.IKey-2.html\" name=\"\" title=\"IKey&lt;TEntity, TKey&gt;\">IKey&lt;TEntity, TKey&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.InvalidEntityRelationException.html\" name=\"\" title=\"InvalidEntityRelationException\">InvalidEntityRelationException</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.IParameterTypeHandler.html\" name=\"\" title=\"IParameterTypeHandler\">IParameterTypeHandler</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Key-2.html\" name=\"\" title=\"Key&lt;TEntity, TKey&gt;\">Key&lt;TEntity, TKey&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.KeyConverter.html\" name=\"\" title=\"KeyConverter\">KeyConverter</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.LoggerCallback.html\" name=\"\" title=\"LoggerCallback\">LoggerCallback</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.NpgsqlCommandExtensions.html\" name=\"\" title=\"NpgsqlCommandExtensions\">NpgsqlCommandExtensions</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.NpgsqlQuotedNameTranslator.html\" name=\"\" title=\"NpgsqlQuotedNameTranslator\">NpgsqlQuotedNameTranslator</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.ParameterTypeHandler.html\" name=\"\" title=\"ParameterTypeHandler\">ParameterTypeHandler</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Table-1.html\" name=\"\" title=\"Table&lt;TEntity&gt;\">Table&lt;TEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.TableBase-1.html\" name=\"\" title=\"TableBase&lt;TEntity&gt;\">TableBase&lt;TEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.TypeArgumentException.html\" name=\"\" title=\"TypeArgumentException\">TypeArgumentException</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.VenflowConfiguration.html\" name=\"\" title=\"VenflowConfiguration\">VenflowConfiguration</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.VenflowDbType.html\" name=\"\" title=\"VenflowDbType\">VenflowDbType</a>\n                          </li>\n                    </ul>\n                </li>\n                <li>\n                    <span class=\"expand-stub\"></span>\n                    <a href=\"Venflow.AspNetCore.html\" name=\"\" title=\"Venflow.AspNetCore\">Venflow.AspNetCore</a>\n                    \n                    <ul class=\"nav level2\">\n                          <li>\n                              <a href=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions.html\" name=\"\" title=\"VenflowServiceCollectionExtensions\">VenflowServiceCollectionExtensions</a>\n                          </li>\n                    </ul>\n                </li>\n                <li>\n                    <span class=\"expand-stub\"></span>\n                    <a href=\"Venflow.Commands.html\" name=\"\" title=\"Venflow.Commands\">Venflow.Commands</a>\n                    \n                    <ul class=\"nav level2\">\n                          <li>\n                              <a href=\"Venflow.Commands.IBaseInsertRelationBuilder-2.html\" name=\"\" title=\"IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;\">IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\" name=\"\" title=\"IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IDeleteCommand-1.html\" name=\"\" title=\"IDeleteCommand&lt;TEntity&gt;\">IDeleteCommand&lt;TEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IDeleteCommandBuilder-1.html\" name=\"\" title=\"IDeleteCommandBuilder&lt;TEntity&gt;\">IDeleteCommandBuilder&lt;TEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IInsertCommand-1.html\" name=\"\" title=\"IInsertCommand&lt;TEntity&gt;\">IInsertCommand&lt;TEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IInsertCommandBuilder-1.html\" name=\"\" title=\"IInsertCommandBuilder&lt;TEntity&gt;\">IInsertCommandBuilder&lt;TEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IInsertRelationBuilder-2.html\" name=\"\" title=\"IInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;\">IInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IPreCommandBuilder-2.html\" name=\"\" title=\"IPreCommandBuilder&lt;TEntity, TReturn&gt;\">IPreCommandBuilder&lt;TEntity, TReturn&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IQueryCommand-2.html\" name=\"\" title=\"IQueryCommand&lt;TEntity, TReturn&gt;\">IQueryCommand&lt;TEntity, TReturn&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IQueryCommandBuilder-2.html\" name=\"\" title=\"IQueryCommandBuilder&lt;TEntity, TReturn&gt;\">IQueryCommandBuilder&lt;TEntity, TReturn&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IQueryRelationBuilder-3.html\" name=\"\" title=\"IQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;\">IQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html\" name=\"\" title=\"ISpecficVenflowCommandBuilder&lt;TCommand, TLogResult&gt;\">ISpecficVenflowCommandBuilder&lt;TCommand, TLogResult&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IUpdateCommand-1.html\" name=\"\" title=\"IUpdateCommand&lt;TEntity&gt;\">IUpdateCommand&lt;TEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IUpdateCommandBuilder-1.html\" name=\"\" title=\"IUpdateCommandBuilder&lt;TEntity&gt;\">IUpdateCommandBuilder&lt;TEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IVenflowCommand-1.html\" name=\"\" title=\"IVenflowCommand&lt;TEntity&gt;\">IVenflowCommand&lt;TEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IVenflowCommandBuilder-1.html\" name=\"\" title=\"IVenflowCommandBuilder&lt;TEntity&gt;\">IVenflowCommandBuilder&lt;TEntity&gt;</a>\n                          </li>\n                    </ul>\n                </li>\n                <li>\n                    <span class=\"expand-stub\"></span>\n                    <a href=\"Venflow.Enums.html\" name=\"\" title=\"Venflow.Enums\">Venflow.Enums</a>\n                    \n                    <ul class=\"nav level2\">\n                          <li>\n                              <a href=\"Venflow.Enums.CommandType.html\" name=\"\" title=\"CommandType\">CommandType</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Enums.ForeignTruncateOptions.html\" name=\"\" title=\"ForeignTruncateOptions\">ForeignTruncateOptions</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Enums.IdentityTruncateOptions.html\" name=\"\" title=\"IdentityTruncateOptions\">IdentityTruncateOptions</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Enums.JoinBehaviour.html\" name=\"\" title=\"JoinBehaviour\">JoinBehaviour</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Enums.LoggingBehavior.html\" name=\"\" title=\"LoggingBehavior\">LoggingBehavior</a>\n                          </li>\n                    </ul>\n                </li>\n                <li>\n                    <span class=\"expand-stub\"></span>\n                    <a href=\"Venflow.Extensions.Logging.html\" name=\"\" title=\"Venflow.Extensions.Logging\">Venflow.Extensions.Logging</a>\n                    \n                    <ul class=\"nav level2\">\n                          <li>\n                              <a href=\"Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.html\" name=\"\" title=\"DatabaseOptionsBuilderExtensions\">DatabaseOptionsBuilderExtensions</a>\n                          </li>\n                    </ul>\n                </li>\n                <li>\n                    <span class=\"expand-stub\"></span>\n                    <a href=\"Venflow.Json.html\" name=\"\" title=\"Venflow.Json\">Venflow.Json</a>\n                    \n                    <ul class=\"nav level2\">\n                          <li>\n                              <a href=\"Venflow.Json.JsonKeyConverterFactory.html\" name=\"\" title=\"JsonKeyConverterFactory\">JsonKeyConverterFactory</a>\n                          </li>\n                    </ul>\n                </li>\n                <li>\n                    <span class=\"expand-stub\"></span>\n                    <a href=\"Venflow.Modeling.Definitions.html\" name=\"\" title=\"Venflow.Modeling.Definitions\">Venflow.Modeling.Definitions</a>\n                    \n                    <ul class=\"nav level2\">\n                          <li>\n                              <a href=\"Venflow.Modeling.Definitions.EntityConfiguration-1.html\" name=\"\" title=\"EntityConfiguration&lt;TEntity&gt;\">EntityConfiguration&lt;TEntity&gt;</a>\n                          </li>\n                    </ul>\n                </li>\n                <li>\n                    <span class=\"expand-stub\"></span>\n                    <a href=\"Venflow.Modeling.Definitions.Builder.html\" name=\"\" title=\"Venflow.Modeling.Definitions.Builder\">Venflow.Modeling.Definitions.Builder</a>\n                    \n                    <ul class=\"nav level2\">\n                          <li>\n                              <a href=\"Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html\" name=\"\" title=\"IEntityBuilder&lt;TEntity&gt;\">IEntityBuilder&lt;TEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html\" name=\"\" title=\"IForeignKeyRelationBuilder&lt;TEntity, TRelation&gt;\">IForeignKeyRelationBuilder&lt;TEntity, TRelation&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html\" name=\"\" title=\"ILeftRelationBuilder&lt;TEntity&gt;\">ILeftRelationBuilder&lt;TEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.html\" name=\"\" title=\"IMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\">IMultiRightRelationBuilder&lt;TEntity, TRelation&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder-2.html\" name=\"\" title=\"INotRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\">INotRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html\" name=\"\" title=\"INotRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;\">INotRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Modeling.Definitions.Builder.IPropertyBuilder.html\" name=\"\" title=\"IPropertyBuilder\">IPropertyBuilder</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder-2.html\" name=\"\" title=\"IRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\">IRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html\" name=\"\" title=\"IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;\">IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;</a>\n                          </li>\n                    </ul>\n                </li>\n                <li>\n                    <span class=\"expand-stub\"></span>\n                    <a href=\"Venflow.NewtonsoftJson.html\" name=\"\" title=\"Venflow.NewtonsoftJson\">Venflow.NewtonsoftJson</a>\n                    \n                    <ul class=\"nav level2\">\n                          <li>\n                              <a href=\"Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.html\" name=\"\" title=\"NewtonsoftJsonKeyConverter\">NewtonsoftJsonKeyConverter</a>\n                          </li>\n                    </ul>\n                </li>\n          </ul>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "docs/docfx/.gitignore",
    "content": "###############\n#    folder   #\n###############\n/**/DROP/\n/**/TEMP/\n/**/packages/\n/**/bin/\n/**/obj/\n_site\n"
  },
  {
    "path": "docs/docfx/api/.gitignore",
    "content": "###############\n#  temp file  #\n###############\n*.yml\n.manifest\n"
  },
  {
    "path": "docs/docfx/api/System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class IgnoresAccessChecksToAttribute\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class IgnoresAccessChecksToAttribute\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute\">\n  \n  \n  <h1 id=\"System_Runtime_CompilerServices_IgnoresAccessChecksToAttribute\" data-uid=\"System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute\" class=\"text-break\">Class IgnoresAccessChecksToAttribute\n  </h1>\n  <div class=\"markdown level0 summary\"><p><strong>Do not use this attribute, if you are not absolutely sure what it does.</strong></p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">IgnoresAccessChecksToAttribute</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"System.Runtime.CompilerServices.html\">System.Runtime.CompilerServices</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"System_Runtime_CompilerServices_IgnoresAccessChecksToAttribute_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public class IgnoresAccessChecksToAttribute : Attribute</code></pre>\n  </div>\n  <h3 id=\"constructors\">Constructors\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=System_Runtime_CompilerServices_IgnoresAccessChecksToAttribute__ctor_System_String_.md&amp;value=---%0Auid%3A%20System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.%23ctor(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Dynamic/IgnoresAccessChecksToAttribute.cs/#L12\">View Source</a>\n  </span>\n  <a id=\"System_Runtime_CompilerServices_IgnoresAccessChecksToAttribute__ctor_\" data-uid=\"System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.#ctor*\"></a>\n  <h4 id=\"System_Runtime_CompilerServices_IgnoresAccessChecksToAttribute__ctor_System_String_\" data-uid=\"System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.#ctor(System.String)\">IgnoresAccessChecksToAttribute(String)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IgnoresAccessChecksToAttribute(string assemblyName)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">assemblyName</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"properties\">Properties\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=System_Runtime_CompilerServices_IgnoresAccessChecksToAttribute_AssemblyName.md&amp;value=---%0Auid%3A%20System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.AssemblyName%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Dynamic/IgnoresAccessChecksToAttribute.cs/#L15\">View Source</a>\n  </span>\n  <a id=\"System_Runtime_CompilerServices_IgnoresAccessChecksToAttribute_AssemblyName_\" data-uid=\"System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.AssemblyName*\"></a>\n  <h4 id=\"System_Runtime_CompilerServices_IgnoresAccessChecksToAttribute_AssemblyName\" data-uid=\"System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.AssemblyName\">AssemblyName</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public string AssemblyName { get; }</code></pre>\n  </div>\n  <h5 class=\"propertyValue\">Property Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=System_Runtime_CompilerServices_IgnoresAccessChecksToAttribute.md&amp;value=---%0Auid%3A%20System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Dynamic/IgnoresAccessChecksToAttribute.cs/#L8\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/System.Runtime.CompilerServices.NullableAttribute.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class NullableAttribute\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class NullableAttribute\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"System.Runtime.CompilerServices.NullableAttribute\">\n  \n  \n  <h1 id=\"System_Runtime_CompilerServices_NullableAttribute\" data-uid=\"System.Runtime.CompilerServices.NullableAttribute\" class=\"text-break\">Class NullableAttribute\n  </h1>\n  <div class=\"markdown level0 summary\"><p><strong>Do not use this attribute, it is reserved for the compiler.</strong></p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">NullableAttribute</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"System.Runtime.CompilerServices.html\">System.Runtime.CompilerServices</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"System_Runtime_CompilerServices_NullableAttribute_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public sealed class NullableAttribute : Attribute</code></pre>\n  </div>\n  <h3 id=\"constructors\">Constructors\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=System_Runtime_CompilerServices_NullableAttribute__ctor_System_Byte_.md&amp;value=---%0Auid%3A%20System.Runtime.CompilerServices.NullableAttribute.%23ctor(System.Byte)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Dynamic/NullableAttribute.cs/#L14\">View Source</a>\n  </span>\n  <a id=\"System_Runtime_CompilerServices_NullableAttribute__ctor_\" data-uid=\"System.Runtime.CompilerServices.NullableAttribute.#ctor*\"></a>\n  <h4 id=\"System_Runtime_CompilerServices_NullableAttribute__ctor_System_Byte_\" data-uid=\"System.Runtime.CompilerServices.NullableAttribute.#ctor(System.Byte)\">NullableAttribute(Byte)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public NullableAttribute(byte flag)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.byte\">Byte</a></td>\n        <td><span class=\"parametername\">flag</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=System_Runtime_CompilerServices_NullableAttribute__ctor_System_Byte___.md&amp;value=---%0Auid%3A%20System.Runtime.CompilerServices.NullableAttribute.%23ctor(System.Byte%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Dynamic/NullableAttribute.cs/#L21\">View Source</a>\n  </span>\n  <a id=\"System_Runtime_CompilerServices_NullableAttribute__ctor_\" data-uid=\"System.Runtime.CompilerServices.NullableAttribute.#ctor*\"></a>\n  <h4 id=\"System_Runtime_CompilerServices_NullableAttribute__ctor_System_Byte___\" data-uid=\"System.Runtime.CompilerServices.NullableAttribute.#ctor(System.Byte[])\">NullableAttribute(Byte[])</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public NullableAttribute(byte[] flags)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.byte\">Byte</a>[]</td>\n        <td><span class=\"parametername\">flags</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"fields\">Fields\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=System_Runtime_CompilerServices_NullableAttribute_NullableFlags.md&amp;value=---%0Auid%3A%20System.Runtime.CompilerServices.NullableAttribute.NullableFlags%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Dynamic/NullableAttribute.cs/#L12\">View Source</a>\n  </span>\n  <h4 id=\"System_Runtime_CompilerServices_NullableAttribute_NullableFlags\" data-uid=\"System.Runtime.CompilerServices.NullableAttribute.NullableFlags\">NullableFlags</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public readonly byte[] NullableFlags</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.byte\">Byte</a>[]</td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=System_Runtime_CompilerServices_NullableAttribute.md&amp;value=---%0Auid%3A%20System.Runtime.CompilerServices.NullableAttribute%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Dynamic/NullableAttribute.cs/#L8\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/System.Runtime.CompilerServices.NullableContextAttribute.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class NullableContextAttribute\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class NullableContextAttribute\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"System.Runtime.CompilerServices.NullableContextAttribute\">\n  \n  \n  <h1 id=\"System_Runtime_CompilerServices_NullableContextAttribute\" data-uid=\"System.Runtime.CompilerServices.NullableContextAttribute\" class=\"text-break\">Class NullableContextAttribute\n  </h1>\n  <div class=\"markdown level0 summary\"><p><strong>Do not use this attribute, it is reserved for the compiler.</strong></p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">NullableContextAttribute</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"System.Runtime.CompilerServices.html\">System.Runtime.CompilerServices</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"System_Runtime_CompilerServices_NullableContextAttribute_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public sealed class NullableContextAttribute : Attribute</code></pre>\n  </div>\n  <h3 id=\"constructors\">Constructors\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=System_Runtime_CompilerServices_NullableContextAttribute__ctor_System_Byte_.md&amp;value=---%0Auid%3A%20System.Runtime.CompilerServices.NullableContextAttribute.%23ctor(System.Byte)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Dynamic/NullableContextAttribute.cs/#L14\">View Source</a>\n  </span>\n  <a id=\"System_Runtime_CompilerServices_NullableContextAttribute__ctor_\" data-uid=\"System.Runtime.CompilerServices.NullableContextAttribute.#ctor*\"></a>\n  <h4 id=\"System_Runtime_CompilerServices_NullableContextAttribute__ctor_System_Byte_\" data-uid=\"System.Runtime.CompilerServices.NullableContextAttribute.#ctor(System.Byte)\">NullableContextAttribute(Byte)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public NullableContextAttribute(byte flag)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.byte\">Byte</a></td>\n        <td><span class=\"parametername\">flag</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"fields\">Fields\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=System_Runtime_CompilerServices_NullableContextAttribute_Flag.md&amp;value=---%0Auid%3A%20System.Runtime.CompilerServices.NullableContextAttribute.Flag%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Dynamic/NullableContextAttribute.cs/#L12\">View Source</a>\n  </span>\n  <h4 id=\"System_Runtime_CompilerServices_NullableContextAttribute_Flag\" data-uid=\"System.Runtime.CompilerServices.NullableContextAttribute.Flag\">Flag</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public readonly byte Flag</code></pre>\n  </div>\n  <h5 class=\"fieldValue\">Field Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.byte\">Byte</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=System_Runtime_CompilerServices_NullableContextAttribute.md&amp;value=---%0Auid%3A%20System.Runtime.CompilerServices.NullableContextAttribute%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Dynamic/NullableContextAttribute.cs/#L8\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/System.Runtime.CompilerServices.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Namespace System.Runtime.CompilerServices\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Namespace System.Runtime.CompilerServices\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"System.Runtime.CompilerServices\">\n  \n  <h1 id=\"System_Runtime_CompilerServices\" data-uid=\"System.Runtime.CompilerServices\" class=\"text-break\">Namespace System.Runtime.CompilerServices\n  </h1>\n  <div class=\"markdown level0 summary\"></div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"markdown level0 remarks\"></div>\n    <h3 id=\"classes\">Classes\n  </h3>\n      <h4><a class=\"xref\" href=\"System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.html\">IgnoresAccessChecksToAttribute</a></h4>\n      <section><p><strong>Do not use this attribute, if you are not absolutely sure what it does.</strong></p>\n</section>\n      <h4><a class=\"xref\" href=\"System.Runtime.CompilerServices.NullableAttribute.html\">NullableAttribute</a></h4>\n      <section><p><strong>Do not use this attribute, it is reserved for the compiler.</strong></p>\n</section>\n      <h4><a class=\"xref\" href=\"System.Runtime.CompilerServices.NullableContextAttribute.html\">NullableContextAttribute</a></h4>\n      <section><p><strong>Do not use this attribute, it is reserved for the compiler.</strong></p>\n</section>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.AspNetCore.VenflowServiceCollectionExtensions.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class VenflowServiceCollectionExtensions\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class VenflowServiceCollectionExtensions\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions\">\n  \n  \n  <h1 id=\"Venflow_AspNetCore_VenflowServiceCollectionExtensions\" data-uid=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions\" class=\"text-break\">Class VenflowServiceCollectionExtensions\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Provides a set of useful extension methods for the <see cref=\"!:IServiceCollection\"></see> interface.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">VenflowServiceCollectionExtensions</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.AspNetCore.html\">Venflow.AspNetCore</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.AspNetCore.dll</h6>\n  <h5 id=\"Venflow_AspNetCore_VenflowServiceCollectionExtensions_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static class VenflowServiceCollectionExtensions : object</code></pre>\n  </div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddDatabase__1_IServiceCollection_System_Nullable_Action_IServiceProvider_Venflow_DatabaseOptionsBuilder___0____ServiceLifetime_.md&amp;value=---%0Auid%3A%20Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase%60%601(IServiceCollection%2CSystem.Nullable%7BAction%7BIServiceProvider%2CVenflow.DatabaseOptionsBuilder%7B%60%600%7D%7D%7D%2CServiceLifetime)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.AspNetCore/ServiceCollectionExtensions.cs/#L36\">View Source</a>\n  </span>\n  <a id=\"Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddDatabase_\" data-uid=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase*\"></a>\n  <h4 id=\"Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddDatabase__1_IServiceCollection_System_Nullable_Action_IServiceProvider_Venflow_DatabaseOptionsBuilder___0____ServiceLifetime_\" data-uid=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase``1(IServiceCollection,System.Nullable{Action{IServiceProvider,Venflow.DatabaseOptionsBuilder{``0}}},ServiceLifetime)\">AddDatabase&lt;TDatabase&gt;(IServiceCollection, Nullable&lt;Action&lt;IServiceProvider, DatabaseOptionsBuilder&lt;TDatabase&gt;&gt;&gt;, ServiceLifetime)</h4>\n  <div class=\"markdown level1 summary\"><p>Registers the <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TDatabase</code> as a service in the <code data-dev-comment-type=\"paramref\" class=\"paramref\">services</code>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static IServiceCollection AddDatabase&lt;TDatabase&gt;(this IServiceCollection services, Action&lt;IServiceProvider, DatabaseOptionsBuilder&lt;TDatabase&gt;&gt;? optionsAction = null, ServiceLifetime databaseLifetime = null)\n    where TDatabase : Database</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IServiceCollection</span></td>\n        <td><span class=\"parametername\">services</span></td>\n        <td><p>The <see cref=\"!:IServiceCollection\"></see> to which the database will be registered.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<span class=\"xref\">Action</span>&lt;<span class=\"xref\">IServiceProvider</span>, <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder</a>&lt;TDatabase&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">optionsAction</span></td>\n        <td><p>Allows to configure a <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder&lt;TDatabase&gt;</a> for the database. Note, that the specified <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TDatabase</code> needs to have a public constructor with a <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder&lt;TDatabase&gt;</a> parameter, which it passes to the base constructor.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">ServiceLifetime</span></td>\n        <td><span class=\"parametername\">databaseLifetime</span></td>\n        <td><p>The liftetime with which to register the <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TDatabase</code> service in the container.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IServiceCollection</span></td>\n        <td><p>The same service collection so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TDatabase</span></td>\n        <td><p>The type of the database to be registered.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddDatabase__1_IServiceCollection_System_Nullable_Action_IServiceProvider_Venflow_DatabaseOptionsBuilder___0____ServiceLifetime_ServiceLifetime_.md&amp;value=---%0Auid%3A%20Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase%60%601(IServiceCollection%2CSystem.Nullable%7BAction%7BIServiceProvider%2CVenflow.DatabaseOptionsBuilder%7B%60%600%7D%7D%7D%2CServiceLifetime%2CServiceLifetime)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.AspNetCore/ServiceCollectionExtensions.cs/#L51\">View Source</a>\n  </span>\n  <a id=\"Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddDatabase_\" data-uid=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase*\"></a>\n  <h4 id=\"Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddDatabase__1_IServiceCollection_System_Nullable_Action_IServiceProvider_Venflow_DatabaseOptionsBuilder___0____ServiceLifetime_ServiceLifetime_\" data-uid=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase``1(IServiceCollection,System.Nullable{Action{IServiceProvider,Venflow.DatabaseOptionsBuilder{``0}}},ServiceLifetime,ServiceLifetime)\">AddDatabase&lt;TDatabase&gt;(IServiceCollection, Nullable&lt;Action&lt;IServiceProvider, DatabaseOptionsBuilder&lt;TDatabase&gt;&gt;&gt;, ServiceLifetime, ServiceLifetime)</h4>\n  <div class=\"markdown level1 summary\"><p>Registers the <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TDatabase</code> as a service in the <code data-dev-comment-type=\"paramref\" class=\"paramref\">services</code>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static IServiceCollection AddDatabase&lt;TDatabase&gt;(this IServiceCollection services, Action&lt;IServiceProvider, DatabaseOptionsBuilder&lt;TDatabase&gt;&gt;? optionsAction = null, ServiceLifetime databaseLifetime = null, ServiceLifetime optionsLifetime = null)\n    where TDatabase : Database</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IServiceCollection</span></td>\n        <td><span class=\"parametername\">services</span></td>\n        <td><p>The <see cref=\"!:IServiceCollection\"></see> to which the database will be registered.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<span class=\"xref\">Action</span>&lt;<span class=\"xref\">IServiceProvider</span>, <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder</a>&lt;TDatabase&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">optionsAction</span></td>\n        <td><p>Allows to configure a <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder&lt;TDatabase&gt;</a> for the database. Note, that the specified <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TDatabase</code> needs to have a public constructor with a <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder&lt;TDatabase&gt;</a> parameter, which it passes to the base constructor.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">ServiceLifetime</span></td>\n        <td><span class=\"parametername\">databaseLifetime</span></td>\n        <td><p>The liftetime with which to register the <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TDatabase</code> service in the container.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">ServiceLifetime</span></td>\n        <td><span class=\"parametername\">optionsLifetime</span></td>\n        <td><p>The liftetime with which to register the <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder&lt;TDatabase&gt;</a> service in the container.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IServiceCollection</span></td>\n        <td><p>The same service collection so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TDatabase</span></td>\n        <td><p>The type of the database to be registered.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddDatabase__1_IServiceCollection_System_Nullable_Action_Venflow_DatabaseOptionsBuilder___0____ServiceLifetime_.md&amp;value=---%0Auid%3A%20Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase%60%601(IServiceCollection%2CSystem.Nullable%7BAction%7BVenflow.DatabaseOptionsBuilder%7B%60%600%7D%7D%7D%2CServiceLifetime)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.AspNetCore/ServiceCollectionExtensions.cs/#L22\">View Source</a>\n  </span>\n  <a id=\"Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddDatabase_\" data-uid=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase*\"></a>\n  <h4 id=\"Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddDatabase__1_IServiceCollection_System_Nullable_Action_Venflow_DatabaseOptionsBuilder___0____ServiceLifetime_\" data-uid=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase``1(IServiceCollection,System.Nullable{Action{Venflow.DatabaseOptionsBuilder{``0}}},ServiceLifetime)\">AddDatabase&lt;TDatabase&gt;(IServiceCollection, Nullable&lt;Action&lt;DatabaseOptionsBuilder&lt;TDatabase&gt;&gt;&gt;, ServiceLifetime)</h4>\n  <div class=\"markdown level1 summary\"><p>Registers the <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TDatabase</code> as a service in the <code data-dev-comment-type=\"paramref\" class=\"paramref\">services</code>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static IServiceCollection AddDatabase&lt;TDatabase&gt;(this IServiceCollection services, Action&lt;DatabaseOptionsBuilder&lt;TDatabase&gt;&gt;? optionsAction = null, ServiceLifetime databaseLifetime = null)\n    where TDatabase : Database</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IServiceCollection</span></td>\n        <td><span class=\"parametername\">services</span></td>\n        <td><p>The <see cref=\"!:IServiceCollection\"></see> to which the database will be registered.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<span class=\"xref\">Action</span>&lt;<a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder</a>&lt;TDatabase&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">optionsAction</span></td>\n        <td><p>Allows to configure a <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder&lt;TDatabase&gt;</a> for the database. Note, that the specified <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TDatabase</code> needs to have a public constructor with a <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder&lt;TDatabase&gt;</a> parameter, which it passes to the base constructor.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">ServiceLifetime</span></td>\n        <td><span class=\"parametername\">databaseLifetime</span></td>\n        <td><p>The liftetime with which to register the <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TDatabase</code> service in the container.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IServiceCollection</span></td>\n        <td><p>The same service collection so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TDatabase</span></td>\n        <td><p>The type of the database to be registered.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddVenflowJson_IServiceCollection_.md&amp;value=---%0Auid%3A%20Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddVenflowJson(IServiceCollection)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.AspNetCore/ServiceCollectionExtensions.cs/#L71\">View Source</a>\n  </span>\n  <a id=\"Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddVenflowJson_\" data-uid=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddVenflowJson*\"></a>\n  <h4 id=\"Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddVenflowJson_IServiceCollection_\" data-uid=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddVenflowJson(IServiceCollection)\">AddVenflowJson(IServiceCollection)</h4>\n  <div class=\"markdown level1 summary\"><p>Adds support for Venflows build in strongly-typed id to System.Text.Json.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static IServiceCollection AddVenflowJson(this IServiceCollection services)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IServiceCollection</span></td>\n        <td><span class=\"parametername\">services</span></td>\n        <td><p>The <see cref=\"!:IServiceCollection\"></see> to which the handler will be registered.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IServiceCollection</span></td>\n        <td><p>The same service collection so that multiple calls can be chained.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddVenflowJson_IServiceCollection__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>If you are using Newtonsoft.Json, please use Venflow.NewtonsoftJson</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_AspNetCore_VenflowServiceCollectionExtensions.md&amp;value=---%0Auid%3A%20Venflow.AspNetCore.VenflowServiceCollectionExtensions%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.AspNetCore/ServiceCollectionExtensions.cs/#L12\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.AspNetCore.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Namespace Venflow.AspNetCore\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Namespace Venflow.AspNetCore\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.AspNetCore\">\n  \n  <h1 id=\"Venflow_AspNetCore\" data-uid=\"Venflow.AspNetCore\" class=\"text-break\">Namespace Venflow.AspNetCore\n  </h1>\n  <div class=\"markdown level0 summary\"></div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"markdown level0 remarks\"></div>\n    <h3 id=\"classes\">Classes\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions.html\">VenflowServiceCollectionExtensions</a></h4>\n      <section><p>Provides a set of useful extension methods for the <see cref=\"!:IServiceCollection\"></see> interface.</p>\n</section>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Commands.IBaseInsertRelationBuilder-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IBaseInsertRelationBuilder`2\">\n  \n  \n  <h1 id=\"Venflow_Commands_IBaseInsertRelationBuilder_2\" data-uid=\"Venflow.Commands.IBaseInsertRelationBuilder`2\" class=\"text-break\">Interface IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a base insert relation builder to configure the insert.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IInsertCommandBuilder-1.html#Venflow_Commands_IInsertCommandBuilder_1_InsertAsync__0_CancellationToken_\">IInsertCommandBuilder&lt;TRootEntity&gt;.InsertAsync(TRootEntity, CancellationToken)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IInsertCommandBuilder-1.html#Venflow_Commands_IInsertCommandBuilder_1_InsertAsync_IList__0__CancellationToken_\">IInsertCommandBuilder&lt;TRootEntity&gt;.InsertAsync(IList&lt;TRootEntity&gt;, CancellationToken)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TRootEntity&gt;, IBaseInsertRelationBuilder&lt;TRootEntity, TRootEntity&gt;&gt;.Build()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean_\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TRootEntity&gt;, IBaseInsertRelationBuilder&lt;TRootEntity, TRootEntity&gt;&gt;.Log(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback_\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TRootEntity&gt;, IBaseInsertRelationBuilder&lt;TRootEntity, TRootEntity&gt;&gt;.LogTo(LoggerCallback)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback___\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TRootEntity&gt;, IBaseInsertRelationBuilder&lt;TRootEntity, TRootEntity&gt;&gt;.LogTo(LoggerCallback[])</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IBaseInsertRelationBuilder_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt; : IInsertCommandBuilder&lt;TRootEntity&gt;, ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TRootEntity&gt;, IBaseInsertRelationBuilder&lt;TRootEntity, TRootEntity&gt;&gt; where TRelationEntity : class, new()\n    where TRootEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TRelationEntity</span></td>\n        <td><p>The type of the entity which will be joined with.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TRootEntity</span></td>\n        <td><p>The root type of the entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_Expression_Func__1___0___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseInsertRelationBuilder%602.With%60%601(Expression%7BFunc%7B%601%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IBaseInsertRelationBuilder.cs/#L28\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseInsertRelationBuilder_2_With_\" data-uid=\"Venflow.Commands.IBaseInsertRelationBuilder`2.With*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_Expression_Func__1___0___\" data-uid=\"Venflow.Commands.IBaseInsertRelationBuilder`2.With``1(Expression{Func{`1,``0}})\">With&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure the inserted relations with the current insert.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IInsertRelationBuilder&lt;TToEntity, TRootEntity&gt; With&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, TToEntity&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IInsertRelationBuilder-2.html\">IInsertRelationBuilder</a>&lt;TToEntity, TRootEntity&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the inserted entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_Expression_Func__1_IList___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseInsertRelationBuilder%602.With%60%601(Expression%7BFunc%7B%601%2CIList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IBaseInsertRelationBuilder.cs/#L37\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseInsertRelationBuilder_2_With_\" data-uid=\"Venflow.Commands.IBaseInsertRelationBuilder`2.With*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_Expression_Func__1_IList___0____\" data-uid=\"Venflow.Commands.IBaseInsertRelationBuilder`2.With``1(Expression{Func{`1,IList{``0}}})\">With&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure the inserted relations with the current insert.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IInsertRelationBuilder&lt;TToEntity, TRootEntity&gt; With&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, <span class=\"xref\">IList</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IInsertRelationBuilder-2.html\">IInsertRelationBuilder</a>&lt;TToEntity, TRootEntity&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the inserted entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_Expression_Func__1_List___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseInsertRelationBuilder%602.With%60%601(Expression%7BFunc%7B%601%2CList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IBaseInsertRelationBuilder.cs/#L46\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseInsertRelationBuilder_2_With_\" data-uid=\"Venflow.Commands.IBaseInsertRelationBuilder`2.With*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_Expression_Func__1_List___0____\" data-uid=\"Venflow.Commands.IBaseInsertRelationBuilder`2.With``1(Expression{Func{`1,List{``0}}})\">With&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure the inserted relations with the current insert.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IInsertRelationBuilder&lt;TToEntity, TRootEntity&gt; With&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, <span class=\"xref\">List</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IInsertRelationBuilder-2.html\">IInsertRelationBuilder</a>&lt;TToEntity, TRootEntity&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the inserted entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseInsertRelationBuilder_2_WithAll.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseInsertRelationBuilder%602.WithAll%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IBaseInsertRelationBuilder.cs/#L20\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseInsertRelationBuilder_2_WithAll_\" data-uid=\"Venflow.Commands.IBaseInsertRelationBuilder`2.WithAll*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseInsertRelationBuilder_2_WithAll\" data-uid=\"Venflow.Commands.IBaseInsertRelationBuilder`2.WithAll\">WithAll()</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure the current insert, to insert all populated relations which can be reached.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseInsertRelationBuilder&lt;TRootEntity, TRootEntity&gt; WithAll()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseInsertRelationBuilder-2.html\">IBaseInsertRelationBuilder</a>&lt;TRootEntity, TRootEntity&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseInsertRelationBuilder_2.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseInsertRelationBuilder%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IBaseInsertRelationBuilder.cs/#L12\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Commands.IBaseQueryRelationBuilder-3.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3\">\n  \n  \n  <h1 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3\" class=\"text-break\">Interface IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a base query relation builder to configure the query.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IPreCommandBuilder-2.html#Venflow_Commands_IPreCommandBuilder_2_AddFormatter\">IPreCommandBuilder&lt;TRootEntity, TReturn&gt;.AddFormatter()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_TrackChanges_System_Boolean_\">IQueryCommandBuilder&lt;TRootEntity, TReturn&gt;.TrackChanges(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_QueryAsync_CancellationToken_\">IQueryCommandBuilder&lt;TRootEntity, TReturn&gt;.QueryAsync(CancellationToken)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TRootEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TRootEntity, TRootEntity, TReturn&gt;&gt;.Build()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean_\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TRootEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TRootEntity, TRootEntity, TReturn&gt;&gt;.Log(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback_\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TRootEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TRootEntity, TRootEntity, TReturn&gt;&gt;.LogTo(LoggerCallback)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback___\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TRootEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TRootEntity, TRootEntity, TReturn&gt;&gt;.LogTo(LoggerCallback[])</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt; : IPreCommandBuilder&lt;TRootEntity, TReturn&gt;, IQueryCommandBuilder&lt;TRootEntity, TReturn&gt;, ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TRootEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TRootEntity, TRootEntity, TReturn&gt;&gt; where TRelationEntity : class, new()\n    where TRootEntity : class, new()\n    where TReturn : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TRelationEntity</span></td>\n        <td><p>The type of the entity which will be joined with.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TRootEntity</span></td>\n        <td><p>The root type of the entity.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TReturn</span></td>\n        <td><p>The return type of the query.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1___0___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.FullJoinWith%60%601(Expression%7BFunc%7B%601%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L117\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1___0___\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith``1(Expression{Func{`1,``0}})\">FullJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized full joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; FullJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, TToEntity&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1___0____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1_IList___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.FullJoinWith%60%601(Expression%7BFunc%7B%601%2CIList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L127\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1_IList___0____\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith``1(Expression{Func{`1,IList{``0}}})\">FullJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized full joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; FullJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, <span class=\"xref\">IList</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1_IList___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1_List___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.FullJoinWith%60%601(Expression%7BFunc%7B%601%2CList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L137\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1_List___0____\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith``1(Expression{Func{`1,List{``0}}})\">FullJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized full joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; FullJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, <span class=\"xref\">List</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1_List___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_Expression_Func__1___0___Venflow_Enums_JoinBehaviour_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.JoinWith%60%601(Expression%7BFunc%7B%601%2C%60%600%7D%7D%2CVenflow.Enums.JoinBehaviour)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L26\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_Expression_Func__1___0___Venflow_Enums_JoinBehaviour_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith``1(Expression{Func{`1,``0}},Venflow.Enums.JoinBehaviour)\">JoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt;, JoinBehaviour)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; JoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt; propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, TToEntity&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Enums.JoinBehaviour.html\">JoinBehaviour</a></td>\n        <td><span class=\"parametername\">joinBehaviour</span></td>\n        <td><p>Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_Expression_Func__1_IList___0____Venflow_Enums_JoinBehaviour_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.JoinWith%60%601(Expression%7BFunc%7B%601%2CIList%7B%60%600%7D%7D%7D%2CVenflow.Enums.JoinBehaviour)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L36\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_Expression_Func__1_IList___0____Venflow_Enums_JoinBehaviour_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith``1(Expression{Func{`1,IList{``0}}},Venflow.Enums.JoinBehaviour)\">JoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt;, JoinBehaviour)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; JoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt; propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, <span class=\"xref\">IList</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Enums.JoinBehaviour.html\">JoinBehaviour</a></td>\n        <td><span class=\"parametername\">joinBehaviour</span></td>\n        <td><p>Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_Expression_Func__1_List___0____Venflow_Enums_JoinBehaviour_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.JoinWith%60%601(Expression%7BFunc%7B%601%2CList%7B%60%600%7D%7D%7D%2CVenflow.Enums.JoinBehaviour)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L46\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_Expression_Func__1_List___0____Venflow_Enums_JoinBehaviour_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith``1(Expression{Func{`1,List{``0}}},Venflow.Enums.JoinBehaviour)\">JoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt;, JoinBehaviour)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; JoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt; propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, <span class=\"xref\">List</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Enums.JoinBehaviour.html\">JoinBehaviour</a></td>\n        <td><span class=\"parametername\">joinBehaviour</span></td>\n        <td><p>Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1___0___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.LeftJoinWith%60%601(Expression%7BFunc%7B%601%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L56\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1___0___\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith``1(Expression{Func{`1,``0}})\">LeftJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized left joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; LeftJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, TToEntity&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1___0____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1_IList___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.LeftJoinWith%60%601(Expression%7BFunc%7B%601%2CIList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L66\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1_IList___0____\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith``1(Expression{Func{`1,IList{``0}}})\">LeftJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized left joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; LeftJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, <span class=\"xref\">IList</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1_IList___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1_List___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.LeftJoinWith%60%601(Expression%7BFunc%7B%601%2CList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L76\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1_List___0____\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith``1(Expression{Func{`1,List{``0}}})\">LeftJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized left joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; LeftJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, <span class=\"xref\">List</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1_List___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1___0___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.RightJoinWith%60%601(Expression%7BFunc%7B%601%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L86\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1___0___\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith``1(Expression{Func{`1,``0}})\">RightJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized right joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; RightJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, TToEntity&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1___0____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1_IList___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.RightJoinWith%60%601(Expression%7BFunc%7B%601%2CIList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L96\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1_IList___0____\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith``1(Expression{Func{`1,IList{``0}}})\">RightJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized right joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; RightJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, <span class=\"xref\">IList</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1_IList___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1_List___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603.RightJoinWith%60%601(Expression%7BFunc%7B%601%2CList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L106\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith_\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith*\"></a>\n  <h4 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1_List___0____\" data-uid=\"Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith``1(Expression{Func{`1,List{``0}}})\">RightJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized right joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; RightJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRootEntity, <span class=\"xref\">List</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1_List___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IBaseQueryRelationBuilder_3.md&amp;value=---%0Auid%3A%20Venflow.Commands.IBaseQueryRelationBuilder%603%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IBaseQueryRelationBuilder.cs/#L14\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Commands.IDeleteCommand-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IDeleteCommand&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IDeleteCommand&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IDeleteCommand`1\">\n  \n  \n  <h1 id=\"Venflow_Commands_IDeleteCommand_1\" data-uid=\"Venflow.Commands.IDeleteCommand`1\" class=\"text-break\">Interface IDeleteCommand&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a command which performs deletions of entities.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IDeleteCommand_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IDeleteCommand&lt;TEntity&gt; : IVenflowCommand&lt;TEntity&gt;, IAsyncDisposable where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The type of the entity which will be deleted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommand_1_DeleteAsync__0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommand%601.DeleteAsync(%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IDeleteCommand.cs/#L19\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IDeleteCommand_1_DeleteAsync_\" data-uid=\"Venflow.Commands.IDeleteCommand`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IDeleteCommand_1_DeleteAsync__0_CancellationToken_\" data-uid=\"Venflow.Commands.IDeleteCommand`1.DeleteAsync(`0,CancellationToken)\">DeleteAsync(TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes a single entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask&lt;int&gt; DeleteAsync(TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>The entity instance which should be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommand_1_DeleteAsync__0___CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommand%601.DeleteAsync(%600%5B%5D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IDeleteCommand.cs/#L47\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IDeleteCommand_1_DeleteAsync_\" data-uid=\"Venflow.Commands.IDeleteCommand`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IDeleteCommand_1_DeleteAsync__0___CancellationToken_\" data-uid=\"Venflow.Commands.IDeleteCommand`1.DeleteAsync(`0[],CancellationToken)\">DeleteAsync(TEntity[], CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes a set of entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask&lt;int&gt; DeleteAsync(TEntity[] entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td>TEntity[]</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The entity instances which should be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommand_1_DeleteAsync_IEnumerable__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommand%601.DeleteAsync(IEnumerable%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IDeleteCommand.cs/#L26\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IDeleteCommand_1_DeleteAsync_\" data-uid=\"Venflow.Commands.IDeleteCommand`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IDeleteCommand_1_DeleteAsync_IEnumerable__0__CancellationToken_\" data-uid=\"Venflow.Commands.IDeleteCommand`1.DeleteAsync(IEnumerable{`0},CancellationToken)\">DeleteAsync(IEnumerable&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes a set of entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask&lt;int&gt; DeleteAsync(IEnumerable&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IEnumerable</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The entity instances which should be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommand_1_DeleteAsync_IList__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommand%601.DeleteAsync(IList%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IDeleteCommand.cs/#L33\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IDeleteCommand_1_DeleteAsync_\" data-uid=\"Venflow.Commands.IDeleteCommand`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IDeleteCommand_1_DeleteAsync_IList__0__CancellationToken_\" data-uid=\"Venflow.Commands.IDeleteCommand`1.DeleteAsync(IList{`0},CancellationToken)\">DeleteAsync(IList&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes a set of entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask&lt;int&gt; DeleteAsync(IList&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The entity instances which should be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommand_1_DeleteAsync_List__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommand%601.DeleteAsync(List%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IDeleteCommand.cs/#L40\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IDeleteCommand_1_DeleteAsync_\" data-uid=\"Venflow.Commands.IDeleteCommand`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IDeleteCommand_1_DeleteAsync_List__0__CancellationToken_\" data-uid=\"Venflow.Commands.IDeleteCommand`1.DeleteAsync(List{`0},CancellationToken)\">DeleteAsync(List&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes a set of entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask&lt;int&gt; DeleteAsync(List&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">List</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The entity instances which should be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommand_1.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommand%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IDeleteCommand.cs/#L11\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Commands.IDeleteCommandBuilder-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IDeleteCommandBuilder&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IDeleteCommandBuilder&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1\">\n  \n  \n  <h1 id=\"Venflow_Commands_IDeleteCommandBuilder_1\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1\" class=\"text-break\">Interface IDeleteCommandBuilder&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a command builder to configure the deletion.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build\">ISpecficVenflowCommandBuilder&lt;IDeleteCommand&lt;TEntity&gt;, IDeleteCommandBuilder&lt;TEntity&gt;&gt;.Build()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean_\">ISpecficVenflowCommandBuilder&lt;IDeleteCommand&lt;TEntity&gt;, IDeleteCommandBuilder&lt;TEntity&gt;&gt;.Log(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback_\">ISpecficVenflowCommandBuilder&lt;IDeleteCommand&lt;TEntity&gt;, IDeleteCommandBuilder&lt;TEntity&gt;&gt;.LogTo(LoggerCallback)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback___\">ISpecficVenflowCommandBuilder&lt;IDeleteCommand&lt;TEntity&gt;, IDeleteCommandBuilder&lt;TEntity&gt;&gt;.LogTo(LoggerCallback[])</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IDeleteCommandBuilder_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IDeleteCommandBuilder&lt;TEntity&gt; : ISpecficVenflowCommandBuilder&lt;IDeleteCommand&lt;TEntity&gt;, IDeleteCommandBuilder&lt;TEntity&gt;&gt; where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The type of the entity which will be deleted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync__0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommandBuilder%601.DeleteAsync(%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IDeleteCommandBuilder.cs/#L19\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync__0_CancellationToken_\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(`0,CancellationToken)\">DeleteAsync(TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes a single entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask&lt;int&gt; DeleteAsync(TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>The entity instance which should be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync__0___CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommandBuilder%601.DeleteAsync(%600%5B%5D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IDeleteCommandBuilder.cs/#L47\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync__0___CancellationToken_\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(`0[],CancellationToken)\">DeleteAsync(TEntity[], CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes a set of entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask&lt;int&gt; DeleteAsync(TEntity[] entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td>TEntity[]</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The entity instances which should be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_IEnumerable__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommandBuilder%601.DeleteAsync(IEnumerable%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IDeleteCommandBuilder.cs/#L26\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_IEnumerable__0__CancellationToken_\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(IEnumerable{`0},CancellationToken)\">DeleteAsync(IEnumerable&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes a set of entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask&lt;int&gt; DeleteAsync(IEnumerable&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IEnumerable</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The entity instances which should be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_IList__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommandBuilder%601.DeleteAsync(IList%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IDeleteCommandBuilder.cs/#L33\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_IList__0__CancellationToken_\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(IList{`0},CancellationToken)\">DeleteAsync(IList&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes a set of entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask&lt;int&gt; DeleteAsync(IList&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The entity instances which should be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_List__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommandBuilder%601.DeleteAsync(List%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IDeleteCommandBuilder.cs/#L40\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_List__0__CancellationToken_\" data-uid=\"Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(List{`0},CancellationToken)\">DeleteAsync(List&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes a set of entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask&lt;int&gt; DeleteAsync(List&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">List</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The entity instances which should be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IDeleteCommandBuilder_1.md&amp;value=---%0Auid%3A%20Venflow.Commands.IDeleteCommandBuilder%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IDeleteCommandBuilder.cs/#L11\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Commands.IInsertCommand-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IInsertCommand&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IInsertCommand&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IInsertCommand`1\">\n  \n  \n  <h1 id=\"Venflow_Commands_IInsertCommand_1\" data-uid=\"Venflow.Commands.IInsertCommand`1\" class=\"text-break\">Interface IInsertCommand&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a command which performs insertions of entities.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IInsertCommand_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IInsertCommand&lt;TEntity&gt; : IVenflowCommand&lt;TEntity&gt;, IAsyncDisposable where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The type of the entity which will be inserted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IInsertCommand_1_InsertAsync__0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IInsertCommand%601.InsertAsync(%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IInsertCommand.cs/#L19\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IInsertCommand_1_InsertAsync_\" data-uid=\"Venflow.Commands.IInsertCommand`1.InsertAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IInsertCommand_1_InsertAsync__0_CancellationToken_\" data-uid=\"Venflow.Commands.IInsertCommand`1.InsertAsync(`0,CancellationToken)\">InsertAsync(TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously inserts a single entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task&lt;int&gt; InsertAsync(TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>The entity instance which should be inserted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IInsertCommand_1_InsertAsync_IList__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IInsertCommand%601.InsertAsync(IList%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IInsertCommand.cs/#L26\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IInsertCommand_1_InsertAsync_\" data-uid=\"Venflow.Commands.IInsertCommand`1.InsertAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IInsertCommand_1_InsertAsync_IList__0__CancellationToken_\" data-uid=\"Venflow.Commands.IInsertCommand`1.InsertAsync(IList{`0},CancellationToken)\">InsertAsync(IList&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously inserts a set of entities.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task&lt;int&gt; InsertAsync(IList&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The entity instances which should be inserted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IInsertCommand_1.md&amp;value=---%0Auid%3A%20Venflow.Commands.IInsertCommand%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IInsertCommand.cs/#L11\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Commands.IInsertCommandBuilder-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IInsertCommandBuilder&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IInsertCommandBuilder&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IInsertCommandBuilder`1\">\n  \n  \n  <h1 id=\"Venflow_Commands_IInsertCommandBuilder_1\" data-uid=\"Venflow.Commands.IInsertCommandBuilder`1\" class=\"text-break\">Interface IInsertCommandBuilder&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a command builder to configure the insertion.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TEntity&gt;, IBaseInsertRelationBuilder&lt;TEntity, TEntity&gt;&gt;.Build()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean_\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TEntity&gt;, IBaseInsertRelationBuilder&lt;TEntity, TEntity&gt;&gt;.Log(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback_\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TEntity&gt;, IBaseInsertRelationBuilder&lt;TEntity, TEntity&gt;&gt;.LogTo(LoggerCallback)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback___\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TEntity&gt;, IBaseInsertRelationBuilder&lt;TEntity, TEntity&gt;&gt;.LogTo(LoggerCallback[])</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IInsertCommandBuilder_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IInsertCommandBuilder&lt;TEntity&gt; : ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TEntity&gt;, IBaseInsertRelationBuilder&lt;TEntity, TEntity&gt;&gt; where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The type of the entity which will be inserted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IInsertCommandBuilder_1_InsertAsync__0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IInsertCommandBuilder%601.InsertAsync(%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IInsertCommandBuilder.cs/#L20\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IInsertCommandBuilder_1_InsertAsync_\" data-uid=\"Venflow.Commands.IInsertCommandBuilder`1.InsertAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IInsertCommandBuilder_1_InsertAsync__0_CancellationToken_\" data-uid=\"Venflow.Commands.IInsertCommandBuilder`1.InsertAsync(`0,CancellationToken)\">InsertAsync(TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously inserts a single entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task&lt;int&gt; InsertAsync(TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>The entity instance which should be inserted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IInsertCommandBuilder_1_InsertAsync_IList__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IInsertCommandBuilder%601.InsertAsync(IList%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IInsertCommandBuilder.cs/#L27\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IInsertCommandBuilder_1_InsertAsync_\" data-uid=\"Venflow.Commands.IInsertCommandBuilder`1.InsertAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IInsertCommandBuilder_1_InsertAsync_IList__0__CancellationToken_\" data-uid=\"Venflow.Commands.IInsertCommandBuilder`1.InsertAsync(IList{`0},CancellationToken)\">InsertAsync(IList&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously inserts a set of entities.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task&lt;int&gt; InsertAsync(IList&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The entity instances which should be inserted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IInsertCommandBuilder_1.md&amp;value=---%0Auid%3A%20Venflow.Commands.IInsertCommandBuilder%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IInsertCommandBuilder.cs/#L11\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Commands.IInsertRelationBuilder-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IInsertRelationBuilder`2\">\n  \n  \n  <h1 id=\"Venflow_Commands_IInsertRelationBuilder_2\" data-uid=\"Venflow.Commands.IInsertRelationBuilder`2\" class=\"text-break\">Interface IInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a insert relation builder to configure the insert.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseInsertRelationBuilder-2.html#Venflow_Commands_IBaseInsertRelationBuilder_2_WithAll\">IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;.WithAll()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseInsertRelationBuilder-2.html#Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_Expression_Func__1___0___\">IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;.With&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseInsertRelationBuilder-2.html#Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_Expression_Func__1_IList___0____\">IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;.With&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseInsertRelationBuilder-2.html#Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_Expression_Func__1_List___0____\">IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;.With&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IInsertCommandBuilder-1.html#Venflow_Commands_IInsertCommandBuilder_1_InsertAsync__0_CancellationToken_\">IInsertCommandBuilder&lt;TRootEntity&gt;.InsertAsync(TRootEntity, CancellationToken)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IInsertCommandBuilder-1.html#Venflow_Commands_IInsertCommandBuilder_1_InsertAsync_IList__0__CancellationToken_\">IInsertCommandBuilder&lt;TRootEntity&gt;.InsertAsync(IList&lt;TRootEntity&gt;, CancellationToken)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TRootEntity&gt;, IBaseInsertRelationBuilder&lt;TRootEntity, TRootEntity&gt;&gt;.Build()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean_\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TRootEntity&gt;, IBaseInsertRelationBuilder&lt;TRootEntity, TRootEntity&gt;&gt;.Log(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback_\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TRootEntity&gt;, IBaseInsertRelationBuilder&lt;TRootEntity, TRootEntity&gt;&gt;.LogTo(LoggerCallback)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback___\">ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TRootEntity&gt;, IBaseInsertRelationBuilder&lt;TRootEntity, TRootEntity&gt;&gt;.LogTo(LoggerCallback[])</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IInsertRelationBuilder_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt; : IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;, IInsertCommandBuilder&lt;TRootEntity&gt;, ISpecficVenflowCommandBuilder&lt;IInsertCommand&lt;TRootEntity&gt;, IBaseInsertRelationBuilder&lt;TRootEntity, TRootEntity&gt;&gt; where TRelationEntity : class, new()\n    where TRootEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TRelationEntity</span></td>\n        <td><p>The type of the entity which will be inserted with.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TRootEntity</span></td>\n        <td><p>The root type of the entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IInsertRelationBuilder_2_AndWith__1_Expression_Func__0___0___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IInsertRelationBuilder%602.AndWith%60%601(Expression%7BFunc%7B%600%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IInsertRelationBuilder.cs/#L22\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IInsertRelationBuilder_2_AndWith_\" data-uid=\"Venflow.Commands.IInsertRelationBuilder`2.AndWith*\"></a>\n  <h4 id=\"Venflow_Commands_IInsertRelationBuilder_2_AndWith__1_Expression_Func__0___0___\" data-uid=\"Venflow.Commands.IInsertRelationBuilder`2.AndWith``1(Expression{Func{`0,``0}})\">AndWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, TToEntity&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure the inserted relations with the current insert.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IInsertRelationBuilder&lt;TToEntity, TRootEntity&gt; AndWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, TToEntity&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, TToEntity&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IInsertRelationBuilder-2.html\">IInsertRelationBuilder</a>&lt;TToEntity, TRootEntity&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the inserted entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IInsertRelationBuilder_2_AndWith__1_Expression_Func__0_IList___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IInsertRelationBuilder%602.AndWith%60%601(Expression%7BFunc%7B%600%2CIList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IInsertRelationBuilder.cs/#L31\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IInsertRelationBuilder_2_AndWith_\" data-uid=\"Venflow.Commands.IInsertRelationBuilder`2.AndWith*\"></a>\n  <h4 id=\"Venflow_Commands_IInsertRelationBuilder_2_AndWith__1_Expression_Func__0_IList___0____\" data-uid=\"Venflow.Commands.IInsertRelationBuilder`2.AndWith``1(Expression{Func{`0,IList{``0}}})\">AndWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, IList&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure the inserted relations with the current insert.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IInsertRelationBuilder&lt;TToEntity, TRootEntity&gt; AndWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, IList&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, <span class=\"xref\">IList</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IInsertRelationBuilder-2.html\">IInsertRelationBuilder</a>&lt;TToEntity, TRootEntity&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the inserted entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IInsertRelationBuilder_2_AndWith__1_Expression_Func__0_List___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IInsertRelationBuilder%602.AndWith%60%601(Expression%7BFunc%7B%600%2CList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IInsertRelationBuilder.cs/#L40\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IInsertRelationBuilder_2_AndWith_\" data-uid=\"Venflow.Commands.IInsertRelationBuilder`2.AndWith*\"></a>\n  <h4 id=\"Venflow_Commands_IInsertRelationBuilder_2_AndWith__1_Expression_Func__0_List___0____\" data-uid=\"Venflow.Commands.IInsertRelationBuilder`2.AndWith``1(Expression{Func{`0,List{``0}}})\">AndWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, List&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure the inserted relations with the current insert.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IInsertRelationBuilder&lt;TToEntity, TRootEntity&gt; AndWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, List&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, <span class=\"xref\">List</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IInsertRelationBuilder-2.html\">IInsertRelationBuilder</a>&lt;TToEntity, TRootEntity&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the inserted entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IInsertRelationBuilder_2.md&amp;value=---%0Auid%3A%20Venflow.Commands.IInsertRelationBuilder%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IInsertRelationBuilder.cs/#L12\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Commands.IPreCommandBuilder-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IPreCommandBuilder&lt;TEntity, TReturn&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IPreCommandBuilder&lt;TEntity, TReturn&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IPreCommandBuilder`2\">\n  \n  \n  <h1 id=\"Venflow_Commands_IPreCommandBuilder_2\" data-uid=\"Venflow.Commands.IPreCommandBuilder`2\" class=\"text-break\">Interface IPreCommandBuilder&lt;TEntity, TReturn&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a pre-command builder to configure the query.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_TrackChanges_System_Boolean_\">IQueryCommandBuilder&lt;TEntity, TReturn&gt;.TrackChanges(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_QueryAsync_CancellationToken_\">IQueryCommandBuilder&lt;TEntity, TReturn&gt;.QueryAsync(CancellationToken)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt;&gt;.Build()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean_\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt;&gt;.Log(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback_\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt;&gt;.LogTo(LoggerCallback)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback___\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt;&gt;.LogTo(LoggerCallback[])</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IPreCommandBuilder_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IPreCommandBuilder&lt;TEntity, TReturn&gt; : IQueryCommandBuilder&lt;TEntity, TReturn&gt;, ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt;&gt; where TEntity : class, new()\n    where TReturn : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The type of the entity which will be queried.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TReturn</span></td>\n        <td><p>The return type of the query.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IPreCommandBuilder_2_AddFormatter.md&amp;value=---%0Auid%3A%20Venflow.Commands.IPreCommandBuilder%602.AddFormatter%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IPreCommandBuilder.cs/#L14\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IPreCommandBuilder_2_AddFormatter_\" data-uid=\"Venflow.Commands.IPreCommandBuilder`2.AddFormatter*\"></a>\n  <h4 id=\"Venflow_Commands_IPreCommandBuilder_2_AddFormatter\" data-uid=\"Venflow.Commands.IPreCommandBuilder`2.AddFormatter\">AddFormatter()</h4>\n  <div class=\"markdown level1 summary\"><p>Defines if <strong>&gt;&lt;</strong> should be replaced by automatically generated joins in your SQL.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt; AddFormatter()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IPreCommandBuilder_2.md&amp;value=---%0Auid%3A%20Venflow.Commands.IPreCommandBuilder%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IPreCommandBuilder.cs/#L8\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Commands.IQueryCommand-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IQueryCommand&lt;TEntity, TReturn&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IQueryCommand&lt;TEntity, TReturn&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IQueryCommand`2\">\n  \n  \n  <h1 id=\"Venflow_Commands_IQueryCommand_2\" data-uid=\"Venflow.Commands.IQueryCommand`2\" class=\"text-break\">Interface IQueryCommand&lt;TEntity, TReturn&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a command which performs queries and materialize the results to entities.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IQueryCommand_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IQueryCommand&lt;TEntity, TReturn&gt; : IVenflowCommand&lt;TEntity&gt;, IAsyncDisposable where TEntity : class, new()\n    where TReturn : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The type of the entity which represents the result of the query.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TReturn</span></td>\n        <td><p>The return type of the query.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryCommand_2_PrepareAsync_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryCommand%602.PrepareAsync(CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IQueryCommand.cs/#L17\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryCommand_2_PrepareAsync_\" data-uid=\"Venflow.Commands.IQueryCommand`2.PrepareAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryCommand_2_PrepareAsync_CancellationToken_\" data-uid=\"Venflow.Commands.IQueryCommand`2.PrepareAsync(CancellationToken)\">PrepareAsync(CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously prepares the current SQL command on the database.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task&lt;IQueryCommand&lt;TEntity, TReturn&gt;&gt; PrepareAsync(CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"Venflow.Commands.IQueryCommand-2.html\">IQueryCommand</a>&lt;TEntity, TReturn&gt;&gt;</td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryCommand_2_QueryAsync_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryCommand%602.QueryAsync(CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IQueryCommand.cs/#L29\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryCommand_2_QueryAsync_\" data-uid=\"Venflow.Commands.IQueryCommand`2.QueryAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryCommand_2_QueryAsync_CancellationToken_\" data-uid=\"Venflow.Commands.IQueryCommand`2.QueryAsync(CancellationToken)\">QueryAsync(CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously performs queries and materializes the result.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task&lt;TReturn&gt; QueryAsync(CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;TReturn&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the materialized result of the query; <span class=\"xref\">null</span> otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryCommand_2_UnprepareAsync_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryCommand%602.UnprepareAsync(CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IQueryCommand.cs/#L22\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryCommand_2_UnprepareAsync_\" data-uid=\"Venflow.Commands.IQueryCommand`2.UnprepareAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryCommand_2_UnprepareAsync_CancellationToken_\" data-uid=\"Venflow.Commands.IQueryCommand`2.UnprepareAsync(CancellationToken)\">UnprepareAsync(CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously un-prepares the current SQL command on the database.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task&lt;IQueryCommand&lt;TEntity, TReturn&gt;&gt; UnprepareAsync(CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"Venflow.Commands.IQueryCommand-2.html\">IQueryCommand</a>&lt;TEntity, TReturn&gt;&gt;</td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryCommand_2.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryCommand%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IQueryCommand.cs/#L11\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Commands.IQueryCommandBuilder-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IQueryCommandBuilder&lt;TEntity, TReturn&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IQueryCommandBuilder&lt;TEntity, TReturn&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IQueryCommandBuilder`2\">\n  \n  \n  <h1 id=\"Venflow_Commands_IQueryCommandBuilder_2\" data-uid=\"Venflow.Commands.IQueryCommandBuilder`2\" class=\"text-break\">Interface IQueryCommandBuilder&lt;TEntity, TReturn&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a command builder to configure the query.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt;&gt;.Build()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean_\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt;&gt;.Log(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback_\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt;&gt;.LogTo(LoggerCallback)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback___\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt;&gt;.LogTo(LoggerCallback[])</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IQueryCommandBuilder_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IQueryCommandBuilder&lt;TEntity, TReturn&gt; : ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt;&gt; where TEntity : class, new()\n    where TReturn : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The type of the entity which will be queried.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TReturn</span></td>\n        <td><p>The return type of the query.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryCommandBuilder_2_QueryAsync_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryCommandBuilder%602.QueryAsync(CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IQueryCommandBuilder.cs/#L27\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryCommandBuilder_2_QueryAsync_\" data-uid=\"Venflow.Commands.IQueryCommandBuilder`2.QueryAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryCommandBuilder_2_QueryAsync_CancellationToken_\" data-uid=\"Venflow.Commands.IQueryCommandBuilder`2.QueryAsync(CancellationToken)\">QueryAsync(CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously performs queries and materializes the result.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task&lt;TReturn&gt; QueryAsync(CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;TReturn&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the materialized result of the query; <span class=\"xref\">null</span> otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryCommandBuilder_2_TrackChanges_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryCommandBuilder%602.TrackChanges(System.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IQueryCommandBuilder.cs/#L20\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryCommandBuilder_2_TrackChanges_\" data-uid=\"Venflow.Commands.IQueryCommandBuilder`2.TrackChanges*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryCommandBuilder_2_TrackChanges_System_Boolean_\" data-uid=\"Venflow.Commands.IQueryCommandBuilder`2.TrackChanges(System.Boolean)\">TrackChanges(Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Determines whether or not to return change tracked entities from the query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TReturn&gt; TrackChanges(bool trackChanges = true)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">trackChanges</span></td>\n        <td><p>Determines if change tracking should be applied.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryCommandBuilder_2.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryCommandBuilder%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IQueryCommandBuilder.cs/#L11\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Commands.IQueryRelationBuilder-3.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3\">\n  \n  \n  <h1 id=\"Venflow_Commands_IQueryRelationBuilder_3\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3\" class=\"text-break\">Interface IQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a query relation builder to configure the query.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_Expression_Func__1___0___Venflow_Enums_JoinBehaviour_\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.JoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt;, JoinBehaviour)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_Expression_Func__1_IList___0____Venflow_Enums_JoinBehaviour_\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.JoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt;, JoinBehaviour)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_Expression_Func__1_List___0____Venflow_Enums_JoinBehaviour_\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.JoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt;, JoinBehaviour)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1___0___\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.LeftJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1_IList___0____\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.LeftJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1_List___0____\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.LeftJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1___0___\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.RightJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1_IList___0____\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.RightJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1_List___0____\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.RightJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1___0___\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.FullJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, TToEntity&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1_IList___0____\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.FullJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, IList&lt;TToEntity&gt;&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1_List___0____\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;.FullJoinWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRootEntity, List&lt;TToEntity&gt;&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IPreCommandBuilder-2.html#Venflow_Commands_IPreCommandBuilder_2_AddFormatter\">IPreCommandBuilder&lt;TRootEntity, TReturn&gt;.AddFormatter()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_TrackChanges_System_Boolean_\">IQueryCommandBuilder&lt;TRootEntity, TReturn&gt;.TrackChanges(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_QueryAsync_CancellationToken_\">IQueryCommandBuilder&lt;TRootEntity, TReturn&gt;.QueryAsync(CancellationToken)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TRootEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TRootEntity, TRootEntity, TReturn&gt;&gt;.Build()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean_\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TRootEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TRootEntity, TRootEntity, TReturn&gt;&gt;.Log(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback_\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TRootEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TRootEntity, TRootEntity, TReturn&gt;&gt;.LogTo(LoggerCallback)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback___\">ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TRootEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TRootEntity, TRootEntity, TReturn&gt;&gt;.LogTo(LoggerCallback[])</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IQueryRelationBuilder_3_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt; : IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;, IPreCommandBuilder&lt;TRootEntity, TReturn&gt;, IQueryCommandBuilder&lt;TRootEntity, TReturn&gt;, ISpecficVenflowCommandBuilder&lt;IQueryCommand&lt;TRootEntity, TReturn&gt;, IBaseQueryRelationBuilder&lt;TRootEntity, TRootEntity, TReturn&gt;&gt; where TRelationEntity : class, new()\n    where TRootEntity : class, new()\n    where TReturn : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TRelationEntity</span></td>\n        <td><p>The type of the entity which will be joined with.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TRootEntity</span></td>\n        <td><p>The root type of the entity.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TReturn</span></td>\n        <td><p>The return type of the query.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_Expression_Func__0___0___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenFullWith%60%601(Expression%7BFunc%7B%600%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IQueryRelationBuilder.cs/#L116\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_Expression_Func__0___0___\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith``1(Expression{Func{`0,``0}})\">ThenFullWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, TToEntity&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized full joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenFullWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, TToEntity&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, TToEntity&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_Expression_Func__0___0____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_Expression_Func__0_IList___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenFullWith%60%601(Expression%7BFunc%7B%600%2CIList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IQueryRelationBuilder.cs/#L126\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_Expression_Func__0_IList___0____\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith``1(Expression{Func{`0,IList{``0}}})\">ThenFullWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, IList&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized full joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenFullWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, IList&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, <span class=\"xref\">IList</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_Expression_Func__0_IList___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_Expression_Func__0_List___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenFullWith%60%601(Expression%7BFunc%7B%600%2CList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IQueryRelationBuilder.cs/#L136\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_Expression_Func__0_List___0____\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith``1(Expression{Func{`0,List{``0}}})\">ThenFullWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, List&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized full joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenFullWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, List&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, <span class=\"xref\">List</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_Expression_Func__0_List___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_Expression_Func__0___0___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenLeftWith%60%601(Expression%7BFunc%7B%600%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IQueryRelationBuilder.cs/#L56\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_Expression_Func__0___0___\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith``1(Expression{Func{`0,``0}})\">ThenLeftWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, TToEntity&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized left joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenLeftWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, TToEntity&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, TToEntity&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_Expression_Func__0___0____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_Expression_Func__0_IList___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenLeftWith%60%601(Expression%7BFunc%7B%600%2CIList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IQueryRelationBuilder.cs/#L66\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_Expression_Func__0_IList___0____\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith``1(Expression{Func{`0,IList{``0}}})\">ThenLeftWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, IList&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized left joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenLeftWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, IList&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, <span class=\"xref\">IList</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_Expression_Func__0_IList___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_Expression_Func__0_List___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenLeftWith%60%601(Expression%7BFunc%7B%600%2CList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IQueryRelationBuilder.cs/#L76\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_Expression_Func__0_List___0____\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith``1(Expression{Func{`0,List{``0}}})\">ThenLeftWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, List&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized left joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenLeftWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, List&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, <span class=\"xref\">List</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_Expression_Func__0_List___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_Expression_Func__0___0___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenRightWith%60%601(Expression%7BFunc%7B%600%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IQueryRelationBuilder.cs/#L86\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_Expression_Func__0___0___\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith``1(Expression{Func{`0,``0}})\">ThenRightWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, TToEntity&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized right joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenRightWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, TToEntity&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, TToEntity&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_Expression_Func__0___0____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_Expression_Func__0_IList___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenRightWith%60%601(Expression%7BFunc%7B%600%2CIList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IQueryRelationBuilder.cs/#L96\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_Expression_Func__0_IList___0____\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith``1(Expression{Func{`0,IList{``0}}})\">ThenRightWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, IList&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized right joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenRightWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, IList&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, <span class=\"xref\">IList</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_Expression_Func__0_IList___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_Expression_Func__0_List___0____.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenRightWith%60%601(Expression%7BFunc%7B%600%2CList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IQueryRelationBuilder.cs/#L106\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_Expression_Func__0_List___0____\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith``1(Expression{Func{`0,List{``0}}})\">ThenRightWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, List&lt;TToEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized right joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenRightWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, List&lt;TToEntity&gt;&gt;&gt; propertySelector)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, <span class=\"xref\">List</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_Expression_Func__0_List___0_____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenWith__1_Expression_Func__0___0___Venflow_Enums_JoinBehaviour_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenWith%60%601(Expression%7BFunc%7B%600%2C%60%600%7D%7D%2CVenflow.Enums.JoinBehaviour)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IQueryRelationBuilder.cs/#L26\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenWith__1_Expression_Func__0___0___Venflow_Enums_JoinBehaviour_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenWith``1(Expression{Func{`0,``0}},Venflow.Enums.JoinBehaviour)\">ThenWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, TToEntity&gt;&gt;, JoinBehaviour)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, TToEntity&gt;&gt; propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, TToEntity&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Enums.JoinBehaviour.html\">JoinBehaviour</a></td>\n        <td><span class=\"parametername\">joinBehaviour</span></td>\n        <td><p>Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenWith__1_Expression_Func__0_IList___0____Venflow_Enums_JoinBehaviour_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenWith%60%601(Expression%7BFunc%7B%600%2CIList%7B%60%600%7D%7D%7D%2CVenflow.Enums.JoinBehaviour)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IQueryRelationBuilder.cs/#L36\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenWith__1_Expression_Func__0_IList___0____Venflow_Enums_JoinBehaviour_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenWith``1(Expression{Func{`0,IList{``0}}},Venflow.Enums.JoinBehaviour)\">ThenWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, IList&lt;TToEntity&gt;&gt;&gt;, JoinBehaviour)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, IList&lt;TToEntity&gt;&gt;&gt; propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, <span class=\"xref\">IList</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Enums.JoinBehaviour.html\">JoinBehaviour</a></td>\n        <td><span class=\"parametername\">joinBehaviour</span></td>\n        <td><p>Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3_ThenWith__1_Expression_Func__0_List___0____Venflow_Enums_JoinBehaviour_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603.ThenWith%60%601(Expression%7BFunc%7B%600%2CList%7B%60%600%7D%7D%7D%2CVenflow.Enums.JoinBehaviour)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IQueryRelationBuilder.cs/#L46\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenWith_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenWith*\"></a>\n  <h4 id=\"Venflow_Commands_IQueryRelationBuilder_3_ThenWith__1_Expression_Func__0_List___0____Venflow_Enums_JoinBehaviour_\" data-uid=\"Venflow.Commands.IQueryRelationBuilder`3.ThenWith``1(Expression{Func{`0,List{``0}}},Venflow.Enums.JoinBehaviour)\">ThenWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, List&lt;TToEntity&gt;&gt;&gt;, JoinBehaviour)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows to configure materialized joins for the current query.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IQueryRelationBuilder&lt;TToEntity, TRootEntity, TReturn&gt; ThenWith&lt;TToEntity&gt;(Expression&lt;Func&lt;TRelationEntity, List&lt;TToEntity&gt;&gt;&gt; propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)\n    where TToEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelationEntity, <span class=\"xref\">List</span>&lt;TToEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">propertySelector</span></td>\n        <td><p>A lambda expression representing the navigation property which should get joined on doing materialization.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Enums.JoinBehaviour.html\">JoinBehaviour</a></td>\n        <td><span class=\"parametername\">joinBehaviour</span></td>\n        <td><p>Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder</a>&lt;TToEntity, TRootEntity, TReturn&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TToEntity</span></td>\n        <td><p>The type of the joined entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IQueryRelationBuilder_3.md&amp;value=---%0Auid%3A%20Venflow.Commands.IQueryRelationBuilder%603%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IQueryRelationBuilder.cs/#L14\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Commands.ISpecficVenflowCommandBuilder-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface ISpecficVenflowCommandBuilder&lt;TCommand, TLogResult&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface ISpecficVenflowCommandBuilder&lt;TCommand, TLogResult&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.ISpecficVenflowCommandBuilder`2\">\n  \n  \n  <h1 id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2\" data-uid=\"Venflow.Commands.ISpecficVenflowCommandBuilder`2\" class=\"text-break\">Interface ISpecficVenflowCommandBuilder&lt;TCommand, TLogResult&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a generic command builder for all CRUD operations to finalize the configuration.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface ISpecficVenflowCommandBuilder&lt;out TCommand, out TLogResult&gt;\n    where TCommand : class where TLogResult : class</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TCommand</span></td>\n        <td><p>The type of the command which is being configured.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TLogResult</span></td>\n        <td><p>The type of the command which is being configured after configuring the loggers.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build.md&amp;value=---%0Auid%3A%20Venflow.Commands.ISpecficVenflowCommandBuilder%602.Build%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/ISpecficVenflowCommandBuilder.cs/#L16\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build_\" data-uid=\"Venflow.Commands.ISpecficVenflowCommandBuilder`2.Build*\"></a>\n  <h4 id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build\" data-uid=\"Venflow.Commands.ISpecficVenflowCommandBuilder`2.Build\">Build()</h4>\n  <div class=\"markdown level1 summary\"><p>Finalizes the ongoing configuration process and builds the command.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">TCommand Build()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TCommand</span></td>\n        <td><p>The built command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.Commands.ISpecficVenflowCommandBuilder%602.Log(System.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/ISpecficVenflowCommandBuilder.cs/#L24\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_\" data-uid=\"Venflow.Commands.ISpecficVenflowCommandBuilder`2.Log*\"></a>\n  <h4 id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean_\" data-uid=\"Venflow.Commands.ISpecficVenflowCommandBuilder`2.Log(System.Boolean)\">Log(Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Determines whether or not to log the command to the provided loggers.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">TLogResult Log(bool shouldLog = true)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">shouldLog</span></td>\n        <td><p>Determines if this command should be logged. This is helpful, if you configured the default logging behavior to be <span class=\"xref\">true</span>.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TLogResult</span></td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>You can configure the loggers in the <a class=\"xref\" href=\"Venflow.Database.html#Venflow_Database_Configure_Venflow_DatabaseConfigurationOptionsBuilder_\">Configure(DatabaseConfigurationOptionsBuilder)</a> method with the <see cref=\"!:DatabaseOptionsBuilder.LogTo(LoggerCallback)\"></see> methods.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback_.md&amp;value=---%0Auid%3A%20Venflow.Commands.ISpecficVenflowCommandBuilder%602.LogTo(Venflow.LoggerCallback)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/ISpecficVenflowCommandBuilder.cs/#L32\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_\" data-uid=\"Venflow.Commands.ISpecficVenflowCommandBuilder`2.LogTo*\"></a>\n  <h4 id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback_\" data-uid=\"Venflow.Commands.ISpecficVenflowCommandBuilder`2.LogTo(Venflow.LoggerCallback)\">LogTo(LoggerCallback)</h4>\n  <div class=\"markdown level1 summary\"><p>Logs the command to the provided <code data-dev-comment-type=\"paramref\" class=\"paramref\">logger</code>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">TLogResult LogTo(LoggerCallback logger)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.LoggerCallback.html\">LoggerCallback</a></td>\n        <td><span class=\"parametername\">logger</span></td>\n        <td><p>The logger which is being used for this command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TLogResult</span></td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Be aware, that once you configure a logger on a command, the global configured loggers won't be executed for this command.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback___.md&amp;value=---%0Auid%3A%20Venflow.Commands.ISpecficVenflowCommandBuilder%602.LogTo(Venflow.LoggerCallback%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/ISpecficVenflowCommandBuilder.cs/#L40\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_\" data-uid=\"Venflow.Commands.ISpecficVenflowCommandBuilder`2.LogTo*\"></a>\n  <h4 id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback___\" data-uid=\"Venflow.Commands.ISpecficVenflowCommandBuilder`2.LogTo(Venflow.LoggerCallback[])\">LogTo(LoggerCallback[])</h4>\n  <div class=\"markdown level1 summary\"><p>Logs the command to the provided <code data-dev-comment-type=\"paramref\" class=\"paramref\">loggers</code>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">TLogResult LogTo(params LoggerCallback[] loggers)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.LoggerCallback.html\">LoggerCallback</a>[]</td>\n        <td><span class=\"parametername\">loggers</span></td>\n        <td><p>The loggers which are being used for this command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TLogResult</span></td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Be aware, that once you configure one or more loggers on a command, the global configured loggers won't be executed for this command.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_ISpecficVenflowCommandBuilder_2.md&amp;value=---%0Auid%3A%20Venflow.Commands.ISpecficVenflowCommandBuilder%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/ISpecficVenflowCommandBuilder.cs/#L8\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Commands.IUpdateCommand-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IUpdateCommand&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IUpdateCommand&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IUpdateCommand`1\">\n  \n  \n  <h1 id=\"Venflow_Commands_IUpdateCommand_1\" data-uid=\"Venflow.Commands.IUpdateCommand`1\" class=\"text-break\">Interface IUpdateCommand&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a command which performs updates of entities.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IUpdateCommand_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IUpdateCommand&lt;TEntity&gt; : IVenflowCommand&lt;TEntity&gt;, IAsyncDisposable where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The type of the entity which will be updated.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IUpdateCommand_1_UpdateAsync__0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IUpdateCommand%601.UpdateAsync(%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IUpdateCommand.cs/#L19\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IUpdateCommand_1_UpdateAsync_\" data-uid=\"Venflow.Commands.IUpdateCommand`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IUpdateCommand_1_UpdateAsync__0_CancellationToken_\" data-uid=\"Venflow.Commands.IUpdateCommand`1.UpdateAsync(`0,CancellationToken)\">UpdateAsync(TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates a single entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask UpdateAsync(TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>The change tracked entity instance which should be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IUpdateCommand_1_UpdateAsync_IEnumerable__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IUpdateCommand%601.UpdateAsync(IEnumerable%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IUpdateCommand.cs/#L26\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IUpdateCommand_1_UpdateAsync_\" data-uid=\"Venflow.Commands.IUpdateCommand`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IUpdateCommand_1_UpdateAsync_IEnumerable__0__CancellationToken_\" data-uid=\"Venflow.Commands.IUpdateCommand`1.UpdateAsync(IEnumerable{`0},CancellationToken)\">UpdateAsync(IEnumerable&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates a set of entities.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask UpdateAsync(IEnumerable&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IEnumerable</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The change tracked entity instances which should be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IUpdateCommand_1_UpdateAsync_IList__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IUpdateCommand%601.UpdateAsync(IList%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IUpdateCommand.cs/#L33\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IUpdateCommand_1_UpdateAsync_\" data-uid=\"Venflow.Commands.IUpdateCommand`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IUpdateCommand_1_UpdateAsync_IList__0__CancellationToken_\" data-uid=\"Venflow.Commands.IUpdateCommand`1.UpdateAsync(IList{`0},CancellationToken)\">UpdateAsync(IList&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates a set of entities.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask UpdateAsync(IList&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The change tracked entity instances which should be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IUpdateCommand_1.md&amp;value=---%0Auid%3A%20Venflow.Commands.IUpdateCommand%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IUpdateCommand.cs/#L11\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Commands.IUpdateCommandBuilder-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IUpdateCommandBuilder&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IUpdateCommandBuilder&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1\">\n  \n  \n  <h1 id=\"Venflow_Commands_IUpdateCommandBuilder_1\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1\" class=\"text-break\">Interface IUpdateCommandBuilder&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a command builder to configure the update.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build\">ISpecficVenflowCommandBuilder&lt;IUpdateCommand&lt;TEntity&gt;, IUpdateCommandBuilder&lt;TEntity&gt;&gt;.Build()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean_\">ISpecficVenflowCommandBuilder&lt;IUpdateCommand&lt;TEntity&gt;, IUpdateCommandBuilder&lt;TEntity&gt;&gt;.Log(Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback_\">ISpecficVenflowCommandBuilder&lt;IUpdateCommand&lt;TEntity&gt;, IUpdateCommandBuilder&lt;TEntity&gt;&gt;.LogTo(LoggerCallback)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback___\">ISpecficVenflowCommandBuilder&lt;IUpdateCommand&lt;TEntity&gt;, IUpdateCommandBuilder&lt;TEntity&gt;&gt;.LogTo(LoggerCallback[])</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IUpdateCommandBuilder_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IUpdateCommandBuilder&lt;TEntity&gt; : ISpecficVenflowCommandBuilder&lt;IUpdateCommand&lt;TEntity&gt;, IUpdateCommandBuilder&lt;TEntity&gt;&gt; where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The type of the entity which will be updated.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync__0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IUpdateCommandBuilder%601.UpdateAsync(%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IUpdateCommandBuilder.cs/#L20\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync__0_CancellationToken_\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(`0,CancellationToken)\">UpdateAsync(TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates a single entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask UpdateAsync(TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>The change tracked entity instance which should be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync__0___CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IUpdateCommandBuilder%601.UpdateAsync(%600%5B%5D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IUpdateCommandBuilder.cs/#L41\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync__0___CancellationToken_\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(`0[],CancellationToken)\">UpdateAsync(TEntity[], CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates a set of entities.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask UpdateAsync(TEntity[] entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td>TEntity[]</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The change tracked entity instances which should be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_IEnumerable__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IUpdateCommandBuilder%601.UpdateAsync(IEnumerable%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IUpdateCommandBuilder.cs/#L27\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_IEnumerable__0__CancellationToken_\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(IEnumerable{`0},CancellationToken)\">UpdateAsync(IEnumerable&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates a set of entities.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask UpdateAsync(IEnumerable&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IEnumerable</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The change tracked entity instances which should be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_IList__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IUpdateCommandBuilder%601.UpdateAsync(IList%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IUpdateCommandBuilder.cs/#L48\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_IList__0__CancellationToken_\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(IList{`0},CancellationToken)\">UpdateAsync(IList&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates a set of entities.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask UpdateAsync(IList&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The change tracked entity instances which should be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_List__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IUpdateCommandBuilder%601.UpdateAsync(List%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IUpdateCommandBuilder.cs/#L34\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_List__0__CancellationToken_\" data-uid=\"Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(List{`0},CancellationToken)\">UpdateAsync(List&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates a set of entities.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">ValueTask UpdateAsync(List&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">List</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>The change tracked entity instances which should be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IUpdateCommandBuilder_1.md&amp;value=---%0Auid%3A%20Venflow.Commands.IUpdateCommandBuilder%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IUpdateCommandBuilder.cs/#L11\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Commands.IVenflowCommand-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IVenflowCommand&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IVenflowCommand&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IVenflowCommand`1\">\n  \n  \n  <h1 id=\"Venflow_Commands_IVenflowCommand_1\" data-uid=\"Venflow.Commands.IVenflowCommand`1\" class=\"text-break\">Interface IVenflowCommand&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>The base command for all other CRUD commands.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IVenflowCommand_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IVenflowCommand&lt;TEntity&gt; : IAsyncDisposable where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The type of the entity which is being used in the current operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommand_1.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommand%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommand.cs/#L9\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Commands.IVenflowCommandBuilder-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IVenflowCommandBuilder&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IVenflowCommandBuilder&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1\">\n  \n  \n  <h1 id=\"Venflow_Commands_IVenflowCommandBuilder_1\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1\" class=\"text-break\">Interface IVenflowCommandBuilder&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a generic command builder to create any CRUD command.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Commands.html\">Venflow.Commands</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Commands_IVenflowCommandBuilder_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IVenflowCommandBuilder&lt;TEntity&gt;\n    where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The type of the entity which will be used for the command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_Delete.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.Delete%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L173\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_Delete_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.Delete*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_Delete\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.Delete\">Delete()</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new delete command builder.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IDeleteCommandBuilder&lt;TEntity&gt; Delete()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IDeleteCommandBuilder-1.html\">IDeleteCommandBuilder</a>&lt;TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a delete command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_Insert.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.Insert%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L168\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_Insert_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.Insert*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_Insert\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.Insert\">Insert()</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new insert command builder.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseInsertRelationBuilder&lt;TEntity, TEntity&gt; Insert()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseInsertRelationBuilder-2.html\">IBaseInsertRelationBuilder</a>&lt;TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a insert command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_Expression_Func__0_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryBatch(Expression%7BFunc%7B%600%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L100\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_Expression_Func__0_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch(Expression{Func{`0,FormattableString}})\">QueryBatch(Expression&lt;Func&lt;TEntity, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch(Expression&lt;Func&lt;TEntity, FormattableString&gt;&gt; sql)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_System_String_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryBatch(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L93\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_System_String_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch(System.String)\">QueryBatch(String)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command builder, which expects a set of primary rows to be returned. <strong>This API does not support string interpolation!</strong> If you need to pass parameters with the query, either use <a class=\"xref\" href=\"Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_System_String_NpgsqlParameter___\">QuerySingle(String, NpgsqlParameter[])</a> or <a class=\"xref\" href=\"Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedSingle_FormattableString_\">QueryInterpolatedSingle(FormattableString)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch(string sql)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_System_String_NpgsqlParameter___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryBatch(System.String%2CNpgsqlParameter%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L156\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_System_String_NpgsqlParameter___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch(System.String,NpgsqlParameter[])\">QueryBatch(String, NpgsqlParameter[])</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command builder, which expects a set of primary rows to be returned.<strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <a class=\"xref\" href=\"Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedSingle_FormattableString_\">QueryInterpolatedSingle(FormattableString)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch(string sql, params NpgsqlParameter[] parameters)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">NpgsqlParameter</span>[]</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>A set of <see cref=\"!:NpgsqlParameter\"></see> which contain parameters for the <code data-dev-comment-type=\"paramref\" class=\"paramref\">sql</code> command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__1_Expression_Func__0___0_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryBatch%60%601(Expression%7BFunc%7B%600%2C%60%600%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L106\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__1_Expression_Func__0___0_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``1(Expression{Func{`0,``0,FormattableString}})\">QueryBatch&lt;TOne&gt;(Expression&lt;Func&lt;TEntity, TOne, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne&gt;(Expression&lt;Func&lt;TEntity, TOne, FormattableString&gt;&gt; sql)\n    where TOne : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__2_Expression_Func__0___0___1_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryBatch%60%602(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L112\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__2_Expression_Func__0___0___1_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``2(Expression{Func{`0,``0,``1,FormattableString}})\">QueryBatch&lt;TOne, TTwo&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, TTwo&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__3_Expression_Func__0___0___1___2_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryBatch%60%603(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L118\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__3_Expression_Func__0___0___1___2_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``3(Expression{Func{`0,``0,``1,``2,FormattableString}})\">QueryBatch&lt;TOne, TTwo, TThree&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, TTwo, TThree&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__4_Expression_Func__0___0___1___2___3_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryBatch%60%604(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L124\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__4_Expression_Func__0___0___1___2___3_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``4(Expression{Func{`0,``0,``1,``2,``3,FormattableString}})\">QueryBatch&lt;TOne, TTwo, TThree, TFour&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, TTwo, TThree, TFour&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()\n    where TFour : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, TFour, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__5_Expression_Func__0___0___1___2___3___4_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryBatch%60%605(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L130\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__5_Expression_Func__0___0___1___2___3___4_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``5(Expression{Func{`0,``0,``1,``2,``3,``4,FormattableString}})\">QueryBatch&lt;TOne, TTwo, TThree, TFour, TFive&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, TTwo, TThree, TFour, TFive&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryBatch%60%606(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L136\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``6(Expression{Func{`0,``0,``1,``2,``3,``4,``5,FormattableString}})\">QueryBatch&lt;TOne, TTwo, TThree, TFour, TFive, TSix&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, TTwo, TThree, TFour, TFive, TSix&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryBatch%60%607(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2C%60%606%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L142\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``7(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,FormattableString}})\">QueryBatch&lt;TOne, TTwo, TThree, TFour, TFive, TSix, TSeven&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, TTwo, TThree, TFour, TFive, TSix, TSeven&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()\n    where TSeven : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSeven</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryBatch%60%608(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2C%60%606%2C%60%607%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L148\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``8(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,``7,FormattableString}})\">QueryBatch&lt;TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()\n    where TSeven : class, new()\n    where TEight : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSeven</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TEight</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedBatch_FormattableString_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryInterpolatedBatch(FormattableString)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L162\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedBatch_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedBatch*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedBatch_FormattableString_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedBatch(FormattableString)\">QueryInterpolatedBatch(FormattableString)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command builder, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryInterpolatedBatch(FormattableString sql)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">FormattableString</span></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedSingle_FormattableString_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QueryInterpolatedSingle(FormattableString)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L87\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedSingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedSingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedSingle_FormattableString_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedSingle(FormattableString)\">QueryInterpolatedSingle(FormattableString)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command builder, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QueryInterpolatedSingle(FormattableString sql)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">FormattableString</span></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_Expression_Func__0_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QuerySingle(Expression%7BFunc%7B%600%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L25\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_Expression_Func__0_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle(Expression{Func{`0,FormattableString}})\">QuerySingle(Expression&lt;Func&lt;TEntity, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle(Expression&lt;Func&lt;TEntity, FormattableString&gt;&gt; sql)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_System_String_.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QuerySingle(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L18\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_System_String_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle(System.String)\">QuerySingle(String)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a query command with a single result. <strong>This API does not support string interpolation!</strong> If you need to pass parameters with the query, either use <a class=\"xref\" href=\"Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_System_String_NpgsqlParameter___\">QuerySingle(String, NpgsqlParameter[])</a> or <a class=\"xref\" href=\"Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedSingle_FormattableString_\">QueryInterpolatedSingle(FormattableString)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle(string sql)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>An object that can be used to further configure the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_System_String_NpgsqlParameter___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QuerySingle(System.String%2CNpgsqlParameter%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L81\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_System_String_NpgsqlParameter___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle(System.String,NpgsqlParameter[])\">QuerySingle(String, NpgsqlParameter[])</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command builder, which expects a single returned primary row. <strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <a class=\"xref\" href=\"Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedSingle_FormattableString_\">QueryInterpolatedSingle(FormattableString)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle(string sql, params NpgsqlParameter[] parameters)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">NpgsqlParameter</span>[]</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>A set of <see cref=\"!:NpgsqlParameter\"></see> which contain parameters for the <code data-dev-comment-type=\"paramref\" class=\"paramref\">sql</code> command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__1_Expression_Func__0___0_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QuerySingle%60%601(Expression%7BFunc%7B%600%2C%60%600%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L31\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__1_Expression_Func__0___0_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``1(Expression{Func{`0,``0,FormattableString}})\">QuerySingle&lt;TOne&gt;(Expression&lt;Func&lt;TEntity, TOne, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne&gt;(Expression&lt;Func&lt;TEntity, TOne, FormattableString&gt;&gt; sql)\n    where TOne : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__2_Expression_Func__0___0___1_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QuerySingle%60%602(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L37\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__2_Expression_Func__0___0___1_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``2(Expression{Func{`0,``0,``1,FormattableString}})\">QuerySingle&lt;TOne, TTwo&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, TTwo&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__3_Expression_Func__0___0___1___2_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QuerySingle%60%603(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L43\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__3_Expression_Func__0___0___1___2_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``3(Expression{Func{`0,``0,``1,``2,FormattableString}})\">QuerySingle&lt;TOne, TTwo, TThree&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, TTwo, TThree&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__4_Expression_Func__0___0___1___2___3_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QuerySingle%60%604(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L49\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__4_Expression_Func__0___0___1___2___3_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``4(Expression{Func{`0,``0,``1,``2,``3,FormattableString}})\">QuerySingle&lt;TOne, TTwo, TThree, TFour&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, TTwo, TThree, TFour&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()\n    where TFour : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, TFour, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__5_Expression_Func__0___0___1___2___3___4_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QuerySingle%60%605(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L55\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__5_Expression_Func__0___0___1___2___3___4_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``5(Expression{Func{`0,``0,``1,``2,``3,``4,FormattableString}})\">QuerySingle&lt;TOne, TTwo, TThree, TFour, TFive&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, TTwo, TThree, TFour, TFive&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QuerySingle%60%606(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L61\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``6(Expression{Func{`0,``0,``1,``2,``3,``4,``5,FormattableString}})\">QuerySingle&lt;TOne, TTwo, TThree, TFour, TFive, TSix&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, TTwo, TThree, TFour, TFive, TSix&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QuerySingle%60%607(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2C%60%606%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L67\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``7(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,FormattableString}})\">QuerySingle&lt;TOne, TTwo, TThree, TFour, TFive, TSix, TSeven&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, TTwo, TThree, TFour, TFive, TSix, TSeven&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()\n    where TSeven : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSeven</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.QuerySingle%60%608(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2C%60%606%2C%60%607%2CFormattableString%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L73\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``8(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,``7,FormattableString}})\">QuerySingle&lt;TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight&gt;(Expression&lt;Func&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString&gt;&gt; sql)\n    where TOne : class, new()\n    where TTwo : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()\n    where TSeven : class, new()\n    where TEight : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TTwo</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSeven</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TEight</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1_Update.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601.Update%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L179\">View Source</a>\n  </span>\n  <a id=\"Venflow_Commands_IVenflowCommandBuilder_1_Update_\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.Update*\"></a>\n  <h4 id=\"Venflow_Commands_IVenflowCommandBuilder_1_Update\" data-uid=\"Venflow.Commands.IVenflowCommandBuilder`1.Update\">Update()</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new update command builder.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IUpdateCommandBuilder&lt;TEntity&gt; Update()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IUpdateCommandBuilder-1.html\">IUpdateCommandBuilder</a>&lt;TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a update command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Commands_IVenflowCommandBuilder_1.md&amp;value=---%0Auid%3A%20Venflow.Commands.IVenflowCommandBuilder%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Commands/IVenflowCommandBuilder.cs/#L12\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Commands.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Namespace Venflow.Commands\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Namespace Venflow.Commands\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Commands\">\n  \n  <h1 id=\"Venflow_Commands\" data-uid=\"Venflow.Commands\" class=\"text-break\">Namespace Venflow.Commands\n  </h1>\n  <div class=\"markdown level0 summary\"></div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"markdown level0 remarks\"></div>\n    <h3 id=\"interfaces\">Interfaces\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IBaseInsertRelationBuilder-2.html\">IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;</a></h4>\n      <section><p>Represents a base insert relation builder to configure the insert.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;</a></h4>\n      <section><p>Represents a base query relation builder to configure the query.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IDeleteCommand-1.html\">IDeleteCommand&lt;TEntity&gt;</a></h4>\n      <section><p>Represents a command which performs deletions of entities.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IDeleteCommandBuilder-1.html\">IDeleteCommandBuilder&lt;TEntity&gt;</a></h4>\n      <section><p>Represents a command builder to configure the deletion.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IInsertCommand-1.html\">IInsertCommand&lt;TEntity&gt;</a></h4>\n      <section><p>Represents a command which performs insertions of entities.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IInsertCommandBuilder-1.html\">IInsertCommandBuilder&lt;TEntity&gt;</a></h4>\n      <section><p>Represents a command builder to configure the insertion.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IInsertRelationBuilder-2.html\">IInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;</a></h4>\n      <section><p>Represents a insert relation builder to configure the insert.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IPreCommandBuilder-2.html\">IPreCommandBuilder&lt;TEntity, TReturn&gt;</a></h4>\n      <section><p>Represents a pre-command builder to configure the query.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IQueryCommand-2.html\">IQueryCommand&lt;TEntity, TReturn&gt;</a></h4>\n      <section><p>Represents a command which performs queries and materialize the results to entities.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IQueryCommandBuilder-2.html\">IQueryCommandBuilder&lt;TEntity, TReturn&gt;</a></h4>\n      <section><p>Represents a command builder to configure the query.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IQueryRelationBuilder-3.html\">IQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;</a></h4>\n      <section><p>Represents a query relation builder to configure the query.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html\">ISpecficVenflowCommandBuilder&lt;TCommand, TLogResult&gt;</a></h4>\n      <section><p>Represents a generic command builder for all CRUD operations to finalize the configuration.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IUpdateCommand-1.html\">IUpdateCommand&lt;TEntity&gt;</a></h4>\n      <section><p>Represents a command which performs updates of entities.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IUpdateCommandBuilder-1.html\">IUpdateCommandBuilder&lt;TEntity&gt;</a></h4>\n      <section><p>Represents a command builder to configure the update.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IVenflowCommand-1.html\">IVenflowCommand&lt;TEntity&gt;</a></h4>\n      <section><p>The base command for all other CRUD commands.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Commands.IVenflowCommandBuilder-1.html\">IVenflowCommandBuilder&lt;TEntity&gt;</a></h4>\n      <section><p>Represents a generic command builder to create any CRUD command.</p>\n</section>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Database.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class Database\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class Database\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Database\">\n  \n  \n  <h1 id=\"Venflow_Database\" data-uid=\"Venflow.Database\" class=\"text-break\">Class Database\n  </h1>\n  <div class=\"markdown level0 summary\"><p>A <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance represents a session with the database and can be used to perform CRUD operations with your tables and entities.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">Database</span></div>\n  </div>\n  <div classs=\"implements\">\n    <h5>Implements</h5>\n    <div><span class=\"xref\">IDisposable</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Database_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public abstract class Database : IAsyncDisposable, IDisposable</code></pre>\n  </div>\n  <h5 id=\"Venflow_Database_remarks\"><strong>Remarks</strong></h5>\n  <div class=\"markdown level0 remarks\"><p>Typically you create a class that derives from <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> and contains <a class=\"xref\" href=\"Venflow.Table-1.html\">Table&lt;TEntity&gt;</a> properties for each entity in the Database. All the <a class=\"xref\" href=\"Venflow.Table-1.html\">Table&lt;TEntity&gt;</a> properties must have a public setter, they are automatically initialized when the instance of the derived type is created.</p>\n</div>\n  <h3 id=\"constructors\">Constructors\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database__ctor_DatabaseOptionsBuilder_.md&amp;value=---%0Auid%3A%20Venflow.Database.%23ctor(DatabaseOptionsBuilder)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Database.cs/#L61\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database__ctor_\" data-uid=\"Venflow.Database.#ctor*\"></a>\n  <h4 id=\"Venflow_Database__ctor_DatabaseOptionsBuilder_\" data-uid=\"Venflow.Database.#ctor(DatabaseOptionsBuilder)\">Database(DatabaseOptionsBuilder)</h4>\n  <div class=\"markdown level1 summary\"><p>Initializes a new instance of the <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> class using the specified <code data-dev-comment-type=\"paramref\" class=\"paramref\">optionsBuilder</code>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">protected Database(DatabaseOptionsBuilder optionsBuilder)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">DatabaseOptionsBuilder</span></td>\n        <td><span class=\"parametername\">optionsBuilder</span></td>\n        <td><p>The options builder containing all the necessary information for the <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database__ctor_System_String_.md&amp;value=---%0Auid%3A%20Venflow.Database.%23ctor(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Database.cs/#L49\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database__ctor_\" data-uid=\"Venflow.Database.#ctor*\"></a>\n  <h4 id=\"Venflow_Database__ctor_System_String_\" data-uid=\"Venflow.Database.#ctor(System.String)\">Database(String)</h4>\n  <div class=\"markdown level1 summary\"><p>Initializes a new instance of the <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> class using the specified <code data-dev-comment-type=\"paramref\" class=\"paramref\">connectionString</code>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">protected Database(string connectionString)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">connectionString</span></td>\n        <td><p>The connection string to your PostgreSQL Database.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_BeginTransactionAsync_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Database.BeginTransactionAsync(CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Database.cs/#L76\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_BeginTransactionAsync_\" data-uid=\"Venflow.Database.BeginTransactionAsync*\"></a>\n  <h4 id=\"Venflow_Database_BeginTransactionAsync_CancellationToken_\" data-uid=\"Venflow.Database.BeginTransactionAsync(CancellationToken)\">BeginTransactionAsync(CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously begins a new transaction.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask&lt;IDatabaseTransaction&gt; BeginTransactionAsync(CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"Venflow.IDatabaseTransaction.html\">IDatabaseTransaction</a>&gt;</td>\n        <td><p>A task that represents the asynchronous operation. The task result contains the newly created transaction.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Database_BeginTransactionAsync_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Be aware, that this method will not create a new transaction on every call. It will only create a new one, if the old one is disposed or not available.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_BeginTransactionAsync_IsolationLevel_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Database.BeginTransactionAsync(IsolationLevel%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Database.cs/#L98\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_BeginTransactionAsync_\" data-uid=\"Venflow.Database.BeginTransactionAsync*\"></a>\n  <h4 id=\"Venflow_Database_BeginTransactionAsync_IsolationLevel_CancellationToken_\" data-uid=\"Venflow.Database.BeginTransactionAsync(IsolationLevel,CancellationToken)\">BeginTransactionAsync(IsolationLevel, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously begins a new transaction.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask&lt;IDatabaseTransaction&gt; BeginTransactionAsync(IsolationLevel isolationLevel, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IsolationLevel</span></td>\n        <td><span class=\"parametername\">isolationLevel</span></td>\n        <td><p>The isolation level under which the transaction should run.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"Venflow.IDatabaseTransaction.html\">IDatabaseTransaction</a>&gt;</td>\n        <td><p>A task that represents the asynchronous operation. The task result contains the newly created transaction.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Database_BeginTransactionAsync_IsolationLevel_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Be aware, that this method will not create a new transaction on every call. It will only create a new one, if the old one is disposed or not available.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_Configure_Venflow_DatabaseConfigurationOptionsBuilder_.md&amp;value=---%0Auid%3A%20Venflow.Database.Configure(Venflow.DatabaseConfigurationOptionsBuilder)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Database.cs/#L401\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_Configure_\" data-uid=\"Venflow.Database.Configure*\"></a>\n  <h4 id=\"Venflow_Database_Configure_Venflow_DatabaseConfigurationOptionsBuilder_\" data-uid=\"Venflow.Database.Configure(Venflow.DatabaseConfigurationOptionsBuilder)\">Configure(DatabaseConfigurationOptionsBuilder)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows for further configuration of the <a class=\"xref\" href=\"Venflow.Database.html\">Database</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">protected virtual void Configure(DatabaseConfigurationOptionsBuilder optionsBuilder)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.DatabaseConfigurationOptionsBuilder.html\">DatabaseConfigurationOptionsBuilder</a></td>\n        <td><span class=\"parametername\">optionsBuilder</span></td>\n        <td><p>A builder instance used to further configure the <a class=\"xref\" href=\"Venflow.Database.html\">Database</a>.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_Custom__1.md&amp;value=---%0Auid%3A%20Venflow.Database.Custom%60%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Database.cs/#L299\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_Custom_\" data-uid=\"Venflow.Database.Custom*\"></a>\n  <h4 id=\"Venflow_Database_Custom__1\" data-uid=\"Venflow.Database.Custom``1\">Custom&lt;TEntity&gt;()</h4>\n  <div class=\"markdown level1 summary\"><p>Allows for queries against an entity which isn't usually defined, this is usually an entity which hasn't got a table in your database.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public TableBase&lt;TEntity&gt; Custom&lt;TEntity&gt;()\n    where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.TableBase-1.html\">TableBase</a>&lt;TEntity&gt;</td>\n        <td><p>A <a class=\"xref\" href=\"Venflow.TableBase-1.html\">TableBase&lt;TEntity&gt;</a> instance from which queries can be executed.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Database_Custom__1_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>The <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> should always be used with this <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance, otherwise the model has to be generated multiple times.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_Dispose.md&amp;value=---%0Auid%3A%20Venflow.Database.Dispose%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Database.cs/#L424\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_Dispose_\" data-uid=\"Venflow.Database.Dispose*\"></a>\n  <h4 id=\"Venflow_Database_Dispose\" data-uid=\"Venflow.Database.Dispose\">Dispose()</h4>\n  <div class=\"markdown level1 summary\"><p>Releases the allocated resources for this context. Also closes the underlying connection, if open.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public void Dispose()</code></pre>\n  </div>\n  <h5 id=\"Venflow_Database_Dispose_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>If you are in an asynchronous context you should consider using <a class=\"xref\" href=\"Venflow.Database.html#Venflow_Database_DisposeAsync\">DisposeAsync()</a> instead.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_DisposeAsync.md&amp;value=---%0Auid%3A%20Venflow.Database.DisposeAsync%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Database.cs/#L407\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_DisposeAsync_\" data-uid=\"Venflow.Database.DisposeAsync*\"></a>\n  <h4 id=\"Venflow_Database_DisposeAsync\" data-uid=\"Venflow.Database.DisposeAsync\">DisposeAsync()</h4>\n  <div class=\"markdown level1 summary\"><p>Releases the allocated resources for this context. Also closes the underlying connection, if open.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask DisposeAsync()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A value task representing the asynchronous operation</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_ExecuteAsync_System_String_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Database.ExecuteAsync(System.String%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Database.cs/#L139\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_ExecuteAsync_\" data-uid=\"Venflow.Database.ExecuteAsync*\"></a>\n  <h4 id=\"Venflow_Database_ExecuteAsync_System_String_CancellationToken_\" data-uid=\"Venflow.Database.ExecuteAsync(System.String,CancellationToken)\">ExecuteAsync(String, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;int&gt; ExecuteAsync(string sql, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The SQL to execute.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Database_ExecuteAsync_System_String_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents a <see cref=\"!:NpgsqlCommand.ExecuteNonQueryAsync(CancellationToken)\"></see> call.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_ExecuteAsync_System_String_IList_NpgsqlParameter__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Database.ExecuteAsync(System.String%2CIList%7BNpgsqlParameter%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Database.cs/#L156\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_ExecuteAsync_\" data-uid=\"Venflow.Database.ExecuteAsync*\"></a>\n  <h4 id=\"Venflow_Database_ExecuteAsync_System_String_IList_NpgsqlParameter__CancellationToken_\" data-uid=\"Venflow.Database.ExecuteAsync(System.String,IList{NpgsqlParameter},CancellationToken)\">ExecuteAsync(String, IList&lt;NpgsqlParameter&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;int&gt; ExecuteAsync(string sql, IList&lt;NpgsqlParameter&gt; parameters, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The SQL to execute.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;<span class=\"xref\">NpgsqlParameter</span>&gt;</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>The SQL Parameters which are being used for the current command.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Database_ExecuteAsync_System_String_IList_NpgsqlParameter__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents a <see cref=\"!:NpgsqlCommand.ExecuteNonQueryAsync(CancellationToken)\"></see> call.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_ExecuteAsync_System_String_NpgsqlParameter___.md&amp;value=---%0Auid%3A%20Venflow.Database.ExecuteAsync(System.String%2CNpgsqlParameter%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Database.cs/#L177\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_ExecuteAsync_\" data-uid=\"Venflow.Database.ExecuteAsync*\"></a>\n  <h4 id=\"Venflow_Database_ExecuteAsync_System_String_NpgsqlParameter___\" data-uid=\"Venflow.Database.ExecuteAsync(System.String,NpgsqlParameter[])\">ExecuteAsync(String, NpgsqlParameter[])</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;int&gt; ExecuteAsync(string sql, params NpgsqlParameter[] parameters)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The SQL to execute.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">NpgsqlParameter</span>[]</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>The SQL Parameters which are being used for the current command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Database_ExecuteAsync_System_String_NpgsqlParameter____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents a <see cref=\"!:System.Data.Common.DbCommand.ExecuteNonQueryAsync()\"></see> call.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_ExecuteAsync__1_System_String_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Database.ExecuteAsync%60%601(System.String%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Database.cs/#L218\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_ExecuteAsync_\" data-uid=\"Venflow.Database.ExecuteAsync*\"></a>\n  <h4 id=\"Venflow_Database_ExecuteAsync__1_System_String_CancellationToken_\" data-uid=\"Venflow.Database.ExecuteAsync``1(System.String,CancellationToken)\">ExecuteAsync&lt;T&gt;(String, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;T&gt; ExecuteAsync&lt;T&gt;(string sql, CancellationToken cancellationToken = null)\n    where T : struct</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The SQL to execute.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;T&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the value of the scalar command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">T</span></td>\n        <td><p>The type of the scalar result.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Database_ExecuteAsync__1_System_String_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents a <see cref=\"!:NpgsqlCommand.ExecuteScalarAsync(CancellationToken)\"></see> call.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_ExecuteAsync__1_System_String_IList_NpgsqlParameter__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Database.ExecuteAsync%60%601(System.String%2CIList%7BNpgsqlParameter%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Database.cs/#L236\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_ExecuteAsync_\" data-uid=\"Venflow.Database.ExecuteAsync*\"></a>\n  <h4 id=\"Venflow_Database_ExecuteAsync__1_System_String_IList_NpgsqlParameter__CancellationToken_\" data-uid=\"Venflow.Database.ExecuteAsync``1(System.String,IList{NpgsqlParameter},CancellationToken)\">ExecuteAsync&lt;T&gt;(String, IList&lt;NpgsqlParameter&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;T&gt; ExecuteAsync&lt;T&gt;(string sql, IList&lt;NpgsqlParameter&gt; parameters, CancellationToken cancellationToken = null)\n    where T : struct</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The SQL to execute.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;<span class=\"xref\">NpgsqlParameter</span>&gt;</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>The SQL Parameters which are being used for the current command.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;T&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the value of the scalar command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">T</span></td>\n        <td><p>The type of the scalar result.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Database_ExecuteAsync__1_System_String_IList_NpgsqlParameter__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents a <see cref=\"!:NpgsqlCommand.ExecuteScalarAsync(CancellationToken)\"></see> call.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_ExecuteAsync__1_System_String_NpgsqlParameter___.md&amp;value=---%0Auid%3A%20Venflow.Database.ExecuteAsync%60%601(System.String%2CNpgsqlParameter%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Database.cs/#L258\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_ExecuteAsync_\" data-uid=\"Venflow.Database.ExecuteAsync*\"></a>\n  <h4 id=\"Venflow_Database_ExecuteAsync__1_System_String_NpgsqlParameter___\" data-uid=\"Venflow.Database.ExecuteAsync``1(System.String,NpgsqlParameter[])\">ExecuteAsync&lt;T&gt;(String, NpgsqlParameter[])</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;T&gt; ExecuteAsync&lt;T&gt;(string sql, params NpgsqlParameter[] parameters)\n    where T : struct</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The SQL to execute.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">NpgsqlParameter</span>[]</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>The SQL Parameters which are being used for the current command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;T&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the value of the scalar command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">T</span></td>\n        <td><p>The type of the scalar result.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Database_ExecuteAsync__1_System_String_NpgsqlParameter____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents a <see cref=\"!:System.Data.Common.DbCommand.ExecuteScalarAsync()\"></see> call.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_ExecuteInterpolatedAsync_FormattableString_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Database.ExecuteInterpolatedAsync(FormattableString%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Database.cs/#L198\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_ExecuteInterpolatedAsync_\" data-uid=\"Venflow.Database.ExecuteInterpolatedAsync*\"></a>\n  <h4 id=\"Venflow_Database_ExecuteInterpolatedAsync_FormattableString_CancellationToken_\" data-uid=\"Venflow.Database.ExecuteInterpolatedAsync(FormattableString,CancellationToken)\">ExecuteInterpolatedAsync(FormattableString, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously executes a command against the current Database. This method does automatically parameterize queries from an interpolated string.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;int&gt; ExecuteInterpolatedAsync(FormattableString sql, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">FormattableString</span></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The interpolated SQL to execute.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Database_ExecuteInterpolatedAsync_FormattableString_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents a <see cref=\"!:System.Data.Common.DbCommand.ExecuteNonQueryAsync()\"></see> call.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_ExecuteInterpolatedAsync__1_FormattableString_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Database.ExecuteInterpolatedAsync%60%601(FormattableString%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Database.cs/#L280\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_ExecuteInterpolatedAsync_\" data-uid=\"Venflow.Database.ExecuteInterpolatedAsync*\"></a>\n  <h4 id=\"Venflow_Database_ExecuteInterpolatedAsync__1_FormattableString_CancellationToken_\" data-uid=\"Venflow.Database.ExecuteInterpolatedAsync``1(FormattableString,CancellationToken)\">ExecuteInterpolatedAsync&lt;T&gt;(FormattableString, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously executes a command against the current Database. This method does automatically parameterize queries from an interpolated string.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;T&gt; ExecuteInterpolatedAsync&lt;T&gt;(FormattableString sql, CancellationToken cancellationToken = null)\n    where T : struct</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">FormattableString</span></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The interpolated SQL to execute.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;T&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the value of the scalar command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">T</span></td>\n        <td><p>The type of the scalar result.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Database_ExecuteInterpolatedAsync__1_FormattableString_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents a <see cref=\"!:System.Data.Common.DbCommand.ExecuteScalarAsync()\"></see> call.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database_GetConnection.md&amp;value=---%0Auid%3A%20Venflow.Database.GetConnection%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Database.cs/#L333\">View Source</a>\n  </span>\n  <a id=\"Venflow_Database_GetConnection_\" data-uid=\"Venflow.Database.GetConnection*\"></a>\n  <h4 id=\"Venflow_Database_GetConnection\" data-uid=\"Venflow.Database.GetConnection\">GetConnection()</h4>\n  <div class=\"markdown level1 summary\"><p>Gets or creates a new connections, if none got created yet.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public NpgsqlConnection GetConnection()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">NpgsqlConnection</span></td>\n        <td><p>the <see cref=\"!:NpgsqlConnection\"></see>.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"implements\">Implements</h3>\n  <div>\n      <span class=\"xref\">IDisposable</span>\n  </div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Database.md&amp;value=---%0Auid%3A%20Venflow.Database%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Database.cs/#L31\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.DatabaseConfigurationOptionsBuilder.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class DatabaseConfigurationOptionsBuilder\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class DatabaseConfigurationOptionsBuilder\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.DatabaseConfigurationOptionsBuilder\">\n  \n  \n  <h1 id=\"Venflow_DatabaseConfigurationOptionsBuilder\" data-uid=\"Venflow.DatabaseConfigurationOptionsBuilder\" class=\"text-break\">Class DatabaseConfigurationOptionsBuilder\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Provides an option builder to further <em>statically</em> configure a <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">DatabaseConfigurationOptionsBuilder</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_DatabaseConfigurationOptionsBuilder_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public class DatabaseConfigurationOptionsBuilder : object</code></pre>\n  </div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations_Assembly_.md&amp;value=---%0Auid%3A%20Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations(Assembly)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseConfigurationOptionsBuilder.cs/#L43\">View Source</a>\n  </span>\n  <a id=\"Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations_\" data-uid=\"Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations*\"></a>\n  <h4 id=\"Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations_Assembly_\" data-uid=\"Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations(Assembly)\">UseConfigurations(Assembly)</h4>\n  <div class=\"markdown level1 summary\"><p>Adds the assembly to the <a class=\"xref\" href=\"Venflow.Modeling.Definitions.EntityConfiguration-1.html\">EntityConfiguration&lt;TEntity&gt;</a> lookup list.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public DatabaseConfigurationOptionsBuilder UseConfigurations(Assembly assembly)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Assembly</span></td>\n        <td><span class=\"parametername\">assembly</span></td>\n        <td><p>The assembly which should be added to the lookup list.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.DatabaseConfigurationOptionsBuilder.html\">DatabaseConfigurationOptionsBuilder</a></td>\n        <td><p>An object that can be used to configure the current <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations_Assembly__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>If you add a custom configuration location, the assembly of the database type will not be automatically included.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations_Assembly___.md&amp;value=---%0Auid%3A%20Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations(Assembly%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseConfigurationOptionsBuilder.cs/#L56\">View Source</a>\n  </span>\n  <a id=\"Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations_\" data-uid=\"Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations*\"></a>\n  <h4 id=\"Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations_Assembly___\" data-uid=\"Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations(Assembly[])\">UseConfigurations(Assembly[])</h4>\n  <div class=\"markdown level1 summary\"><p>Adds the assemblies to the <a class=\"xref\" href=\"Venflow.Modeling.Definitions.EntityConfiguration-1.html\">EntityConfiguration&lt;TEntity&gt;</a> lookup list.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public DatabaseConfigurationOptionsBuilder UseConfigurations(params Assembly[] assemblies)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Assembly</span>[]</td>\n        <td><span class=\"parametername\">assemblies</span></td>\n        <td><p>The assemblies which should be added to the lookup list.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.DatabaseConfigurationOptionsBuilder.html\">DatabaseConfigurationOptionsBuilder</a></td>\n        <td><p>An object that can be used to configure the current <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations_Assembly____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>If you add a custom configuration location, the assembly of the database type will not be automatically included.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations__1.md&amp;value=---%0Auid%3A%20Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations%60%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseConfigurationOptionsBuilder.cs/#L30\">View Source</a>\n  </span>\n  <a id=\"Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations_\" data-uid=\"Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations*\"></a>\n  <h4 id=\"Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations__1\" data-uid=\"Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations``1\">UseConfigurations&lt;T&gt;()</h4>\n  <div class=\"markdown level1 summary\"><p>Adds the assembly of the type <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">T</code> to the <a class=\"xref\" href=\"Venflow.Modeling.Definitions.EntityConfiguration-1.html\">EntityConfiguration&lt;TEntity&gt;</a> lookup list.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public DatabaseConfigurationOptionsBuilder UseConfigurations&lt;T&gt;()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.DatabaseConfigurationOptionsBuilder.html\">DatabaseConfigurationOptionsBuilder</a></td>\n        <td><p>An object that can be used to configure the current <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">T</span></td>\n        <td><p>The type of which the assembly should be added to the lookup list.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations__1_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>If you add a custom configuration location, the assembly of the database type will not be automatically included.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_DatabaseConfigurationOptionsBuilder.md&amp;value=---%0Auid%3A%20Venflow.DatabaseConfigurationOptionsBuilder%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseConfigurationOptionsBuilder.cs/#L11\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.DatabaseOptionsBuilder-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class DatabaseOptionsBuilder&lt;TDatabase&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class DatabaseOptionsBuilder&lt;TDatabase&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.DatabaseOptionsBuilder`1\">\n  \n  \n  <h1 id=\"Venflow_DatabaseOptionsBuilder_1\" data-uid=\"Venflow.DatabaseOptionsBuilder`1\" class=\"text-break\">Class DatabaseOptionsBuilder&lt;TDatabase&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Provides an option builder to further <em>dynamically</em> configure a <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">DatabaseOptionsBuilder</span></div>\n    <div class=\"level2\"><span class=\"xref\">DatabaseOptionsBuilder&lt;TDatabase&gt;</span></div>\n  </div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <span class=\"xref\">DatabaseOptionsBuilder.DefaultLoggingBehavior</span>\n    </div>\n    <div>\n      <span class=\"xref\">DatabaseOptionsBuilder.ConnectionString</span>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_DatabaseOptionsBuilder_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public class DatabaseOptionsBuilder&lt;TDatabase&gt; : DatabaseOptionsBuilder where TDatabase : Database</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TDatabase</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_DatabaseOptionsBuilder_1_LogTo_Action_System_String__System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.DatabaseOptionsBuilder%601.LogTo(Action%7BSystem.String%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseOptionsBuilder.cs/#L48\">View Source</a>\n  </span>\n  <a id=\"Venflow_DatabaseOptionsBuilder_1_LogTo_\" data-uid=\"Venflow.DatabaseOptionsBuilder`1.LogTo*\"></a>\n  <h4 id=\"Venflow_DatabaseOptionsBuilder_1_LogTo_Action_System_String__System_Boolean_\" data-uid=\"Venflow.DatabaseOptionsBuilder`1.LogTo(Action{System.String},System.Boolean)\">LogTo(Action&lt;String&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Adds a logger, which allows for logging of executed commands.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public DatabaseOptionsBuilder&lt;TDatabase&gt; LogTo(Action&lt;string&gt; loggerCallback, bool logSensitveData = false)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Action</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a>&gt;</td>\n        <td><span class=\"parametername\">loggerCallback</span></td>\n        <td><p>A callback which is being used to log commands.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">logSensitveData</span></td>\n        <td><p>Determines whether or not to log parameterized commands.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder</a>&lt;TDatabase&gt;</td>\n        <td><p>An object that can be used to configure the current <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_DatabaseOptionsBuilder_1_LogTo_Action_System_String__System_Boolean__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Also consider configuring the <span class=\"xref\">DatabaseOptionsBuilder.DefaultLoggingBehavior</span> property.\nBe aware that this method should be used in cases which require quick logging. This API wraps the <code data-dev-comment-type=\"paramref\" class=\"paramref\">loggerCallback</code> again and calls <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html#Venflow_DatabaseOptionsBuilder_1_LogTo_Venflow_LoggerCallback_\">LogTo(LoggerCallback)</a>.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_DatabaseOptionsBuilder_1_LogTo_Venflow_LoggerCallback_.md&amp;value=---%0Auid%3A%20Venflow.DatabaseOptionsBuilder%601.LogTo(Venflow.LoggerCallback)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseOptionsBuilder.cs/#L31\">View Source</a>\n  </span>\n  <a id=\"Venflow_DatabaseOptionsBuilder_1_LogTo_\" data-uid=\"Venflow.DatabaseOptionsBuilder`1.LogTo*\"></a>\n  <h4 id=\"Venflow_DatabaseOptionsBuilder_1_LogTo_Venflow_LoggerCallback_\" data-uid=\"Venflow.DatabaseOptionsBuilder`1.LogTo(Venflow.LoggerCallback)\">LogTo(LoggerCallback)</h4>\n  <div class=\"markdown level1 summary\"><p>Adds a logger, which allows for logging of executed commands.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public DatabaseOptionsBuilder&lt;TDatabase&gt; LogTo(LoggerCallback loggerCallback)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.LoggerCallback.html\">LoggerCallback</a></td>\n        <td><span class=\"parametername\">loggerCallback</span></td>\n        <td><p>A callback which is being used to log commands.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder</a>&lt;TDatabase&gt;</td>\n        <td><p>An object that can be used to configure the current <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_DatabaseOptionsBuilder_1_LogTo_Venflow_LoggerCallback__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Also consider configuring the <span class=\"xref\">DatabaseOptionsBuilder.DefaultLoggingBehavior</span> property.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_DatabaseOptionsBuilder_1.md&amp;value=---%0Auid%3A%20Venflow.DatabaseOptionsBuilder%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseOptionsBuilder.cs/#L20\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.DatabaseOptionsBuilder.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class DatabaseOptionsBuilder\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class DatabaseOptionsBuilder\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.DatabaseOptionsBuilder\">\n  \n  \n  <h1 id=\"Venflow_DatabaseOptionsBuilder\" data-uid=\"Venflow.DatabaseOptionsBuilder\" class=\"text-break\">Class DatabaseOptionsBuilder\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Provides an option builder to further configure a <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">DatabaseOptionsBuilder</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_DatabaseOptionsBuilder_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public class DatabaseOptionsBuilder : object</code></pre>\n  </div>\n  <h3 id=\"properties\">Properties\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_DatabaseOptionsBuilder_DefaultLoggingBehavior.md&amp;value=---%0Auid%3A%20Venflow.DatabaseOptionsBuilder.DefaultLoggingBehavior%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseOptionsBuilder.cs/#L20\">View Source</a>\n  </span>\n  <a id=\"Venflow_DatabaseOptionsBuilder_DefaultLoggingBehavior_\" data-uid=\"Venflow.DatabaseOptionsBuilder.DefaultLoggingBehavior*\"></a>\n  <h4 id=\"Venflow_DatabaseOptionsBuilder_DefaultLoggingBehavior\" data-uid=\"Venflow.DatabaseOptionsBuilder.DefaultLoggingBehavior\">DefaultLoggingBehavior</h4>\n  <div class=\"markdown level1 summary\"><p>Gets or sets the default LoggingBehavior on commands for this <a class=\"xref\" href=\"Venflow.Database.html\">Database</a>. The default is <a class=\"xref\" href=\"Venflow.Enums.LoggingBehavior.html#Venflow_Enums_LoggingBehavior_Always\">Always</a>, if any loggers are defined.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public LoggingBehavior DefaultLoggingBehavior { get; set; }</code></pre>\n  </div>\n  <h5 class=\"propertyValue\">Property Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Enums.LoggingBehavior.html\">LoggingBehavior</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_DatabaseOptionsBuilder_LogTo_Venflow_LoggerCallback_.md&amp;value=---%0Auid%3A%20Venflow.DatabaseOptionsBuilder.LogTo(Venflow.LoggerCallback)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseOptionsBuilder.cs/#L84\">View Source</a>\n  </span>\n  <a id=\"Venflow_DatabaseOptionsBuilder_LogTo_\" data-uid=\"Venflow.DatabaseOptionsBuilder.LogTo*\"></a>\n  <h4 id=\"Venflow_DatabaseOptionsBuilder_LogTo_Venflow_LoggerCallback_\" data-uid=\"Venflow.DatabaseOptionsBuilder.LogTo(Venflow.LoggerCallback)\">LogTo(LoggerCallback)</h4>\n  <div class=\"markdown level1 summary\"><p>Adds a logger, which allows for logging of executed commands.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public DatabaseOptionsBuilder LogTo(LoggerCallback loggerCallback)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.LoggerCallback.html\">LoggerCallback</a></td>\n        <td><span class=\"parametername\">loggerCallback</span></td>\n        <td><p>A callback which is being used to log commands.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder.html\">DatabaseOptionsBuilder</a></td>\n        <td><p>An object that can be used to configure the current <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_DatabaseOptionsBuilder_LogTo_Venflow_LoggerCallback__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Also consider configuring the <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder.html#Venflow_DatabaseOptionsBuilder_DefaultLoggingBehavior\">DefaultLoggingBehavior</a> property.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_DatabaseOptionsBuilder_UseConfigurations_Assembly_.md&amp;value=---%0Auid%3A%20Venflow.DatabaseOptionsBuilder.UseConfigurations(Assembly)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseOptionsBuilder.cs/#L56\">View Source</a>\n  </span>\n  <a id=\"Venflow_DatabaseOptionsBuilder_UseConfigurations_\" data-uid=\"Venflow.DatabaseOptionsBuilder.UseConfigurations*\"></a>\n  <h4 id=\"Venflow_DatabaseOptionsBuilder_UseConfigurations_Assembly_\" data-uid=\"Venflow.DatabaseOptionsBuilder.UseConfigurations(Assembly)\">UseConfigurations(Assembly)</h4>\n  <div class=\"markdown level1 summary\"><p>Adds the assembly to the <a class=\"xref\" href=\"Venflow.Modeling.Definitions.EntityConfiguration-1.html\">EntityConfiguration&lt;TEntity&gt;</a> lookup list.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public DatabaseOptionsBuilder UseConfigurations(Assembly assembly)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Assembly</span></td>\n        <td><span class=\"parametername\">assembly</span></td>\n        <td><p>The assembly which should be added to the lookup list.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder.html\">DatabaseOptionsBuilder</a></td>\n        <td><p>An object that can be used to configure the current <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_DatabaseOptionsBuilder_UseConfigurations_Assembly__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>If you add a custom configuration location, the assembly of the database type will not be automatically included.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_DatabaseOptionsBuilder_UseConfigurations_Assembly___.md&amp;value=---%0Auid%3A%20Venflow.DatabaseOptionsBuilder.UseConfigurations(Assembly%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseOptionsBuilder.cs/#L69\">View Source</a>\n  </span>\n  <a id=\"Venflow_DatabaseOptionsBuilder_UseConfigurations_\" data-uid=\"Venflow.DatabaseOptionsBuilder.UseConfigurations*\"></a>\n  <h4 id=\"Venflow_DatabaseOptionsBuilder_UseConfigurations_Assembly___\" data-uid=\"Venflow.DatabaseOptionsBuilder.UseConfigurations(Assembly[])\">UseConfigurations(Assembly[])</h4>\n  <div class=\"markdown level1 summary\"><p>Adds the assemblies to the <a class=\"xref\" href=\"Venflow.Modeling.Definitions.EntityConfiguration-1.html\">EntityConfiguration&lt;TEntity&gt;</a> lookup list.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public DatabaseOptionsBuilder UseConfigurations(params Assembly[] assemblies)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Assembly</span>[]</td>\n        <td><span class=\"parametername\">assemblies</span></td>\n        <td><p>The assemblies which should be added to the lookup list.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder.html\">DatabaseOptionsBuilder</a></td>\n        <td><p>An object that can be used to configure the current <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_DatabaseOptionsBuilder_UseConfigurations_Assembly____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>If you add a custom configuration location, the assembly of the database type will not be automatically included.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_DatabaseOptionsBuilder_UseConfigurations__1.md&amp;value=---%0Auid%3A%20Venflow.DatabaseOptionsBuilder.UseConfigurations%60%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseOptionsBuilder.cs/#L43\">View Source</a>\n  </span>\n  <a id=\"Venflow_DatabaseOptionsBuilder_UseConfigurations_\" data-uid=\"Venflow.DatabaseOptionsBuilder.UseConfigurations*\"></a>\n  <h4 id=\"Venflow_DatabaseOptionsBuilder_UseConfigurations__1\" data-uid=\"Venflow.DatabaseOptionsBuilder.UseConfigurations``1\">UseConfigurations&lt;T&gt;()</h4>\n  <div class=\"markdown level1 summary\"><p>Adds the assembly of the type <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">T</code> to the <a class=\"xref\" href=\"Venflow.Modeling.Definitions.EntityConfiguration-1.html\">EntityConfiguration&lt;TEntity&gt;</a> lookup list.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public DatabaseOptionsBuilder UseConfigurations&lt;T&gt;()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder.html\">DatabaseOptionsBuilder</a></td>\n        <td><p>An object that can be used to configure the current <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">T</span></td>\n        <td><p>The type of which the assembly should be added to the lookup list.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_DatabaseOptionsBuilder_UseConfigurations__1_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>If you add a custom configuration location, the assembly of the database type will not be automatically included.</p>\n</div>\n  <h3 id=\"extensionmethods\">Extension Methods</h3>\n  <div>\n      <a class=\"xref\" href=\"Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.html#Venflow_Extensions_Logging_DatabaseOptionsBuilderExtensions_UseLoggerFactory_Venflow_DatabaseOptionsBuilder_ILoggerFactory_System_Boolean_\">DatabaseOptionsBuilderExtensions.UseLoggerFactory(DatabaseOptionsBuilder, ILoggerFactory, Boolean)</a>\n  </div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_DatabaseOptionsBuilder.md&amp;value=---%0Auid%3A%20Venflow.DatabaseOptionsBuilder%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseOptionsBuilder.cs/#L15\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Enums.CommandType.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Enum CommandType\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Enum CommandType\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Enums.CommandType\">\n  \n  \n  <h1 id=\"Venflow_Enums_CommandType\" data-uid=\"Venflow.Enums.CommandType\" class=\"text-break\">Enum CommandType\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Specifies the type of command that produced a log.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Enums.html\">Venflow.Enums</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Enums_CommandType_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public enum CommandType : short</code></pre>\n  </div>\n  <h3 id=\"fields\">Fields\n  </h3>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    <thead>\n    <tbody>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_Delete\">Delete</td>\n        <td><p>All delete commands.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_DeleteBatch\">DeleteBatch</td>\n        <td><p>A delete command deleting a batch of entities.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_DeleteSingle\">DeleteSingle</td>\n        <td><p>A delete command deleting a single entity.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_Insert\">Insert</td>\n        <td><p>All insert commands.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_InsertBatch\">InsertBatch</td>\n        <td><p>An insert command inserting a batch of entities.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_InsertSingle\">InsertSingle</td>\n        <td><p>An insert command inserting a single entity.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_Query\">Query</td>\n        <td><p>All query commands.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_QueryBatch\">QueryBatch</td>\n        <td><p>A query command returning a batch of entities.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_QuerySingle\">QuerySingle</td>\n        <td><p>A query command returning a single entity.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_Update\">Update</td>\n        <td><p>All update commands.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_UpdateBatch\">UpdateBatch</td>\n        <td><p>A update command updating a batch of entities.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_CommandType_UpdateSingle\">UpdateSingle</td>\n        <td><p>A update command updating a single entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </thead></thead></table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Enums_CommandType.md&amp;value=---%0Auid%3A%20Venflow.Enums.CommandType%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Enums/CommandType.cs/#L8\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Enums.ForeignTruncateOptions.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Enum ForeignTruncateOptions\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Enum ForeignTruncateOptions\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Enums.ForeignTruncateOptions\">\n  \n  \n  <h1 id=\"Venflow_Enums_ForeignTruncateOptions\" data-uid=\"Venflow.Enums.ForeignTruncateOptions\" class=\"text-break\">Enum ForeignTruncateOptions\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents the truncate option for foreign keys.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Enums.html\">Venflow.Enums</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Enums_ForeignTruncateOptions_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public enum ForeignTruncateOptions : byte</code></pre>\n  </div>\n  <h3 id=\"fields\">Fields\n  </h3>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    <thead>\n    <tbody>\n      <tr>\n        <td id=\"Venflow_Enums_ForeignTruncateOptions_Cascade\">Cascade</td>\n        <td><p>Automatically truncate all tables that have foreign-key references to any of the named tables, or to any tables added to the group due to CASCADE.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_ForeignTruncateOptions_None\">None</td>\n        <td><p>Does nothing.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_ForeignTruncateOptions_Restrict\">Restrict</td>\n        <td><p>Refuse to truncate if any of the tables have foreign-key references from tables that are not listed in the command. This is the default.</p>\n</td>\n      </tr>\n    </tbody>\n  </thead></thead></table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Enums_ForeignTruncateOptions.md&amp;value=---%0Auid%3A%20Venflow.Enums.ForeignTruncateOptions%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Enums/ForeignTruncateOptions.cs/#L6\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Enums.IdentityTruncateOptions.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Enum IdentityTruncateOptions\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Enum IdentityTruncateOptions\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Enums.IdentityTruncateOptions\">\n  \n  \n  <h1 id=\"Venflow_Enums_IdentityTruncateOptions\" data-uid=\"Venflow.Enums.IdentityTruncateOptions\" class=\"text-break\">Enum IdentityTruncateOptions\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents the identity truncate option for foreign keys.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Enums.html\">Venflow.Enums</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Enums_IdentityTruncateOptions_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public enum IdentityTruncateOptions : byte</code></pre>\n  </div>\n  <h3 id=\"fields\">Fields\n  </h3>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    <thead>\n    <tbody>\n      <tr>\n        <td id=\"Venflow_Enums_IdentityTruncateOptions_Continue\">Continue</td>\n        <td><p>Do not change the values of sequences. This is the default.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_IdentityTruncateOptions_None\">None</td>\n        <td><p>Does nothing.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_IdentityTruncateOptions_Restart\">Restart</td>\n        <td><p>Automatically restart sequences owned by columns of the truncated table(s).</p>\n</td>\n      </tr>\n    </tbody>\n  </thead></thead></table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Enums_IdentityTruncateOptions.md&amp;value=---%0Auid%3A%20Venflow.Enums.IdentityTruncateOptions%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Enums/IdentityTruncateOptions.cs/#L6\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Enums.JoinBehaviour.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Enum JoinBehaviour\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Enum JoinBehaviour\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Enums.JoinBehaviour\">\n  \n  \n  <h1 id=\"Venflow_Enums_JoinBehaviour\" data-uid=\"Venflow.Enums.JoinBehaviour\" class=\"text-break\">Enum JoinBehaviour\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Specifies the behavior for a specific join between two tables.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Enums.html\">Venflow.Enums</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Enums_JoinBehaviour_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public enum JoinBehaviour : byte</code></pre>\n  </div>\n  <h3 id=\"fields\">Fields\n  </h3>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    <thead>\n    <tbody>\n      <tr>\n        <td id=\"Venflow_Enums_JoinBehaviour_FullJoin\">FullJoin</td>\n        <td><p>Returns all records when there is a match in either left or right table</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_JoinBehaviour_InnerJoin\">InnerJoin</td>\n        <td><p>Returns records that have matching values in both tables</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_JoinBehaviour_LeftJoin\">LeftJoin</td>\n        <td><p>Returns all records from the left table, and the matched records from the right table</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_JoinBehaviour_RightJoin\">RightJoin</td>\n        <td><p>Returns all records from the right table, and the matched records from the left table</p>\n</td>\n      </tr>\n    </tbody>\n  </thead></thead></table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Enums_JoinBehaviour.md&amp;value=---%0Auid%3A%20Venflow.Enums.JoinBehaviour%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Enums/JoinBehaviour.cs/#L6\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Enums.LoggingBehavior.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Enum LoggingBehavior\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Enum LoggingBehavior\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Enums.LoggingBehavior\">\n  \n  \n  <h1 id=\"Venflow_Enums_LoggingBehavior\" data-uid=\"Venflow.Enums.LoggingBehavior\" class=\"text-break\">Enum LoggingBehavior\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Specifies the logging behavior for Venflow commands.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Enums.html\">Venflow.Enums</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Enums_LoggingBehavior_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public enum LoggingBehavior : byte</code></pre>\n  </div>\n  <h3 id=\"fields\">Fields\n  </h3>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    <thead>\n    <tbody>\n      <tr>\n        <td id=\"Venflow_Enums_LoggingBehavior_Always\">Always</td>\n        <td><p>Logs all commands.</p>\n</td>\n      </tr>\n      <tr>\n        <td id=\"Venflow_Enums_LoggingBehavior_Never\">Never</td>\n        <td><p>Never logs commands.</p>\n</td>\n      </tr>\n    </tbody>\n  </thead></thead></table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Enums_LoggingBehavior.md&amp;value=---%0Auid%3A%20Venflow.Enums.LoggingBehavior%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Enums/LoggingBehaviour.cs/#L6\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Enums.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Namespace Venflow.Enums\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Namespace Venflow.Enums\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Enums\">\n  \n  <h1 id=\"Venflow_Enums\" data-uid=\"Venflow.Enums\" class=\"text-break\">Namespace Venflow.Enums\n  </h1>\n  <div class=\"markdown level0 summary\"></div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"markdown level0 remarks\"></div>\n    <h3 id=\"enums\">Enums\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.Enums.CommandType.html\">CommandType</a></h4>\n      <section><p>Specifies the type of command that produced a log.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Enums.ForeignTruncateOptions.html\">ForeignTruncateOptions</a></h4>\n      <section><p>Represents the truncate option for foreign keys.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Enums.IdentityTruncateOptions.html\">IdentityTruncateOptions</a></h4>\n      <section><p>Represents the identity truncate option for foreign keys.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Enums.JoinBehaviour.html\">JoinBehaviour</a></h4>\n      <section><p>Specifies the behavior for a specific join between two tables.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Enums.LoggingBehavior.html\">LoggingBehavior</a></h4>\n      <section><p>Specifies the logging behavior for Venflow commands.</p>\n</section>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class DatabaseOptionsBuilderExtensions\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class DatabaseOptionsBuilderExtensions\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions\">\n  \n  \n  <h1 id=\"Venflow_Extensions_Logging_DatabaseOptionsBuilderExtensions\" data-uid=\"Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions\" class=\"text-break\">Class DatabaseOptionsBuilderExtensions\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Providing extensions method for the <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder&lt;TDatabase&gt;</a> class.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">DatabaseOptionsBuilderExtensions</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Extensions.Logging.html\">Venflow.Extensions.Logging</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.Extensions.Logging.dll</h6>\n  <h5 id=\"Venflow_Extensions_Logging_DatabaseOptionsBuilderExtensions_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static class DatabaseOptionsBuilderExtensions : object</code></pre>\n  </div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Extensions_Logging_DatabaseOptionsBuilderExtensions_UseLoggerFactory__1_Venflow_DatabaseOptionsBuilder___0__ILoggerFactory_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.UseLoggerFactory%60%601(Venflow.DatabaseOptionsBuilder%7B%60%600%7D%2CILoggerFactory%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Extensions.Logging/DatabaseOptionsBuilderExtensions.cs/#L18\">View Source</a>\n  </span>\n  <a id=\"Venflow_Extensions_Logging_DatabaseOptionsBuilderExtensions_UseLoggerFactory_\" data-uid=\"Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.UseLoggerFactory*\"></a>\n  <h4 id=\"Venflow_Extensions_Logging_DatabaseOptionsBuilderExtensions_UseLoggerFactory__1_Venflow_DatabaseOptionsBuilder___0__ILoggerFactory_System_Boolean_\" data-uid=\"Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.UseLoggerFactory``1(Venflow.DatabaseOptionsBuilder{``0},ILoggerFactory,System.Boolean)\">UseLoggerFactory&lt;TDatabase&gt;(DatabaseOptionsBuilder&lt;TDatabase&gt;, ILoggerFactory, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Adds a <see cref=\"!:ILoggerFactory\"></see>, which allows for logging of executed commands.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static DatabaseOptionsBuilder UseLoggerFactory&lt;TDatabase&gt;(this DatabaseOptionsBuilder&lt;TDatabase&gt; options, ILoggerFactory loggerFactory, bool formatSensitiveInformation = false)\n    where TDatabase : Database</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder</a>&lt;TDatabase&gt;</td>\n        <td><span class=\"parametername\">options</span></td>\n        <td><p>The options to which the <see cref=\"!:ILoggerFactory\"></see> should be registered.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">ILoggerFactory</span></td>\n        <td><span class=\"parametername\">loggerFactory</span></td>\n        <td><p>The <see cref=\"!:ILoggerFactory\"></see> which should be registered</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">formatSensitiveInformation</span></td>\n        <td><p>Determines whether or not the formatter should include the parameters values.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">DatabaseOptionsBuilder</span></td>\n        <td><p>An object that can be used to configure the current <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TDatabase</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Extensions_Logging_DatabaseOptionsBuilderExtensions_UseLoggerFactory__1_Venflow_DatabaseOptionsBuilder___0__ILoggerFactory_System_Boolean__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Also consider configuring the <span class=\"xref\">DatabaseOptionsBuilder.DefaultLoggingBehavior</span> property.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Extensions_Logging_DatabaseOptionsBuilderExtensions.md&amp;value=---%0Auid%3A%20Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Extensions.Logging/DatabaseOptionsBuilderExtensions.cs/#L8\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Extensions.Logging.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Namespace Venflow.Extensions.Logging\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Namespace Venflow.Extensions.Logging\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Extensions.Logging\">\n  \n  <h1 id=\"Venflow_Extensions_Logging\" data-uid=\"Venflow.Extensions.Logging\" class=\"text-break\">Namespace Venflow.Extensions.Logging\n  </h1>\n  <div class=\"markdown level0 summary\"></div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"markdown level0 remarks\"></div>\n    <h3 id=\"classes\">Classes\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.html\">DatabaseOptionsBuilderExtensions</a></h4>\n      <section><p>Providing extensions method for the <a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder&lt;TDatabase&gt;</a> class.</p>\n</section>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.FormattableSqlStringBuilder.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class FormattableSqlStringBuilder\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class FormattableSqlStringBuilder\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.FormattableSqlStringBuilder\">\n  \n  \n  <h1 id=\"Venflow_FormattableSqlStringBuilder\" data-uid=\"Venflow.FormattableSqlStringBuilder\" class=\"text-break\">Class FormattableSqlStringBuilder\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Allows for a safe string interpolated SQL concatenation.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">FormattableSqlStringBuilder</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_FormattableSqlStringBuilder_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public class FormattableSqlStringBuilder : object</code></pre>\n  </div>\n  <h3 id=\"constructors\">Constructors\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_FormattableSqlStringBuilder__ctor.md&amp;value=---%0Auid%3A%20Venflow.FormattableSqlStringBuilder.%23ctor%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/FormattableSqlStringBuilder.cs/#L23\">View Source</a>\n  </span>\n  <a id=\"Venflow_FormattableSqlStringBuilder__ctor_\" data-uid=\"Venflow.FormattableSqlStringBuilder.#ctor*\"></a>\n  <h4 id=\"Venflow_FormattableSqlStringBuilder__ctor\" data-uid=\"Venflow.FormattableSqlStringBuilder.#ctor\">FormattableSqlStringBuilder()</h4>\n  <div class=\"markdown level1 summary\"><p>Initializes a new instance of the <a class=\"xref\" href=\"Venflow.FormattableSqlStringBuilder.html\">FormattableSqlStringBuilder</a> class.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public FormattableSqlStringBuilder()</code></pre>\n  </div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_FormattableSqlStringBuilder_Append_System_String_.md&amp;value=---%0Auid%3A%20Venflow.FormattableSqlStringBuilder.Append(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/FormattableSqlStringBuilder.cs/#L57\">View Source</a>\n  </span>\n  <a id=\"Venflow_FormattableSqlStringBuilder_Append_\" data-uid=\"Venflow.FormattableSqlStringBuilder.Append*\"></a>\n  <h4 id=\"Venflow_FormattableSqlStringBuilder_Append_System_String_\" data-uid=\"Venflow.FormattableSqlStringBuilder.Append(System.String)\">Append(String)</h4>\n  <div class=\"markdown level1 summary\"><p>Appends a copy of the specified SQL to this instance.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public void Append(string sql)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The SQL to append.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_FormattableSqlStringBuilder_Append_System_String__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p><strong>This method IS NOT string interpolation safe</strong>, if you want to use string interpolated SQL use the <a class=\"xref\" href=\"Venflow.FormattableSqlStringBuilder.html#Venflow_FormattableSqlStringBuilder_AppendInterpolated_FormattableString_\">AppendInterpolated(FormattableString)</a> method.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_FormattableSqlStringBuilder_AppendInterpolated_FormattableString_.md&amp;value=---%0Auid%3A%20Venflow.FormattableSqlStringBuilder.AppendInterpolated(FormattableString)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/FormattableSqlStringBuilder.cs/#L86\">View Source</a>\n  </span>\n  <a id=\"Venflow_FormattableSqlStringBuilder_AppendInterpolated_\" data-uid=\"Venflow.FormattableSqlStringBuilder.AppendInterpolated*\"></a>\n  <h4 id=\"Venflow_FormattableSqlStringBuilder_AppendInterpolated_FormattableString_\" data-uid=\"Venflow.FormattableSqlStringBuilder.AppendInterpolated(FormattableString)\">AppendInterpolated(FormattableString)</h4>\n  <div class=\"markdown level1 summary\"><p>Appends a copy of the specified SQL to this instance.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public void AppendInterpolated(FormattableString sql)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">FormattableString</span></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The SQL to append.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_FormattableSqlStringBuilder_AppendInterpolated_FormattableString__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method is string interpolation safe.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_FormattableSqlStringBuilder_AppendInterpolatedLine_FormattableString_.md&amp;value=---%0Auid%3A%20Venflow.FormattableSqlStringBuilder.AppendInterpolatedLine(FormattableString)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/FormattableSqlStringBuilder.cs/#L72\">View Source</a>\n  </span>\n  <a id=\"Venflow_FormattableSqlStringBuilder_AppendInterpolatedLine_\" data-uid=\"Venflow.FormattableSqlStringBuilder.AppendInterpolatedLine*\"></a>\n  <h4 id=\"Venflow_FormattableSqlStringBuilder_AppendInterpolatedLine_FormattableString_\" data-uid=\"Venflow.FormattableSqlStringBuilder.AppendInterpolatedLine(FormattableString)\">AppendInterpolatedLine(FormattableString)</h4>\n  <div class=\"markdown level1 summary\"><p>Appends a copy of the specified SQL followed by the default line terminator to the end of the current <a class=\"xref\" href=\"Venflow.FormattableSqlStringBuilder.html\">FormattableSqlStringBuilder</a> object.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public void AppendInterpolatedLine(FormattableString sql)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">FormattableString</span></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The SQL to append.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_FormattableSqlStringBuilder_AppendInterpolatedLine_FormattableString__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method is string interpolation safe.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_FormattableSqlStringBuilder_AppendLine_System_String_.md&amp;value=---%0Auid%3A%20Venflow.FormattableSqlStringBuilder.AppendLine(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/FormattableSqlStringBuilder.cs/#L36\">View Source</a>\n  </span>\n  <a id=\"Venflow_FormattableSqlStringBuilder_AppendLine_\" data-uid=\"Venflow.FormattableSqlStringBuilder.AppendLine*\"></a>\n  <h4 id=\"Venflow_FormattableSqlStringBuilder_AppendLine_System_String_\" data-uid=\"Venflow.FormattableSqlStringBuilder.AppendLine(System.String)\">AppendLine(String)</h4>\n  <div class=\"markdown level1 summary\"><p>Appends a copy of the specified SQL followed by the default line terminator to the end of the current <a class=\"xref\" href=\"Venflow.FormattableSqlStringBuilder.html\">FormattableSqlStringBuilder</a> object.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public void AppendLine(string sql)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>The SQL to append.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_FormattableSqlStringBuilder_AppendLine_System_String__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p><strong>This method IS NOT string interpolation safe</strong>, if you want to use string interpolated SQL use the <a class=\"xref\" href=\"Venflow.FormattableSqlStringBuilder.html#Venflow_FormattableSqlStringBuilder_AppendInterpolatedLine_FormattableString_\">AppendInterpolatedLine(FormattableString)</a> method.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_FormattableSqlStringBuilder.md&amp;value=---%0Auid%3A%20Venflow.FormattableSqlStringBuilder%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/FormattableSqlStringBuilder.cs/#L13\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.IDatabaseTransaction.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IDatabaseTransaction\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IDatabaseTransaction\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.IDatabaseTransaction\">\n  \n  \n  <h1 id=\"Venflow_IDatabaseTransaction\" data-uid=\"Venflow.IDatabaseTransaction\" class=\"text-break\">Interface IDatabaseTransaction\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents a transaction to be made with a database.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_IDatabaseTransaction_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IDatabaseTransaction : IAsyncDisposable, IDisposable</code></pre>\n  </div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction_Commit.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction.Commit%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseTransaction.cs/#L75\">View Source</a>\n  </span>\n  <a id=\"Venflow_IDatabaseTransaction_Commit_\" data-uid=\"Venflow.IDatabaseTransaction.Commit*\"></a>\n  <h4 id=\"Venflow_IDatabaseTransaction_Commit\" data-uid=\"Venflow.IDatabaseTransaction.Commit\">Commit()</h4>\n  <div class=\"markdown level1 summary\"><p>Commits the database transaction.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">void Commit()</code></pre>\n  </div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction_CommitAsync_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction.CommitAsync(CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseTransaction.cs/#L81\">View Source</a>\n  </span>\n  <a id=\"Venflow_IDatabaseTransaction_CommitAsync_\" data-uid=\"Venflow.IDatabaseTransaction.CommitAsync*\"></a>\n  <h4 id=\"Venflow_IDatabaseTransaction_CommitAsync_CancellationToken_\" data-uid=\"Venflow.IDatabaseTransaction.CommitAsync(CancellationToken)\">CommitAsync(CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Commits the database transaction.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task CommitAsync(CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>An optional token to cancel the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction_GetNpgsqlTransaction.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction.GetNpgsqlTransaction%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseTransaction.cs/#L142\">View Source</a>\n  </span>\n  <a id=\"Venflow_IDatabaseTransaction_GetNpgsqlTransaction_\" data-uid=\"Venflow.IDatabaseTransaction.GetNpgsqlTransaction*\"></a>\n  <h4 id=\"Venflow_IDatabaseTransaction_GetNpgsqlTransaction\" data-uid=\"Venflow.IDatabaseTransaction.GetNpgsqlTransaction\">GetNpgsqlTransaction()</h4>\n  <div class=\"markdown level1 summary\"><p>Will return the underlying <see cref=\"!:NpgsqlTransaction\"></see>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">NpgsqlTransaction GetNpgsqlTransaction()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">NpgsqlTransaction</span></td>\n        <td><p>The underlying <see cref=\"!:NpgsqlTransaction\"></see></p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_IDatabaseTransaction_GetNpgsqlTransaction_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Please do note, that if you call any of the Dispose methods on the <see cref=\"!:NpgsqlTransaction\"></see> instead of the <a class=\"xref\" href=\"Venflow.IDatabaseTransaction.html\">IDatabaseTransaction</a> ones, Venflow will never know about it being disposed. Therefore, always call one of the Dispose methods on the <a class=\"xref\" href=\"Venflow.IDatabaseTransaction.html\">IDatabaseTransaction</a> itself.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction_Release_System_String_.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction.Release(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseTransaction.cs/#L126\">View Source</a>\n  </span>\n  <a id=\"Venflow_IDatabaseTransaction_Release_\" data-uid=\"Venflow.IDatabaseTransaction.Release*\"></a>\n  <h4 id=\"Venflow_IDatabaseTransaction_Release_System_String_\" data-uid=\"Venflow.IDatabaseTransaction.Release(System.String)\">Release(String)</h4>\n  <div class=\"markdown level1 summary\"><p>Releases a transaction from a pending savepoint state.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">void Release(string name)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">name</span></td>\n        <td><p>The name of the savepoint.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction_ReleaseAsync_System_String_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction.ReleaseAsync(System.String%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseTransaction.cs/#L133\">View Source</a>\n  </span>\n  <a id=\"Venflow_IDatabaseTransaction_ReleaseAsync_\" data-uid=\"Venflow.IDatabaseTransaction.ReleaseAsync*\"></a>\n  <h4 id=\"Venflow_IDatabaseTransaction_ReleaseAsync_System_String_CancellationToken_\" data-uid=\"Venflow.IDatabaseTransaction.ReleaseAsync(System.String,CancellationToken)\">ReleaseAsync(String, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Releases a transaction from a pending savepoint state.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task ReleaseAsync(string name, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">name</span></td>\n        <td><p>The name of the savepoint.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>An optional token to cancel the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction_Rollback.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction.Rollback%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseTransaction.cs/#L86\">View Source</a>\n  </span>\n  <a id=\"Venflow_IDatabaseTransaction_Rollback_\" data-uid=\"Venflow.IDatabaseTransaction.Rollback*\"></a>\n  <h4 id=\"Venflow_IDatabaseTransaction_Rollback\" data-uid=\"Venflow.IDatabaseTransaction.Rollback\">Rollback()</h4>\n  <div class=\"markdown level1 summary\"><p>Rolls back a transaction from a pending state.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">void Rollback()</code></pre>\n  </div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction_Rollback_System_String_.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction.Rollback(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseTransaction.cs/#L113\">View Source</a>\n  </span>\n  <a id=\"Venflow_IDatabaseTransaction_Rollback_\" data-uid=\"Venflow.IDatabaseTransaction.Rollback*\"></a>\n  <h4 id=\"Venflow_IDatabaseTransaction_Rollback_System_String_\" data-uid=\"Venflow.IDatabaseTransaction.Rollback(System.String)\">Rollback(String)</h4>\n  <div class=\"markdown level1 summary\"><p>Rolls back a transaction from a pending savepoint state.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">void Rollback(string name)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">name</span></td>\n        <td><p>The name of the savepoint.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction_RollbackAsync_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction.RollbackAsync(CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseTransaction.cs/#L92\">View Source</a>\n  </span>\n  <a id=\"Venflow_IDatabaseTransaction_RollbackAsync_\" data-uid=\"Venflow.IDatabaseTransaction.RollbackAsync*\"></a>\n  <h4 id=\"Venflow_IDatabaseTransaction_RollbackAsync_CancellationToken_\" data-uid=\"Venflow.IDatabaseTransaction.RollbackAsync(CancellationToken)\">RollbackAsync(CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Rolls back a transaction from a pending state.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task RollbackAsync(CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>An optional token to cancel the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction_RollbackAsync_System_String_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction.RollbackAsync(System.String%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseTransaction.cs/#L120\">View Source</a>\n  </span>\n  <a id=\"Venflow_IDatabaseTransaction_RollbackAsync_\" data-uid=\"Venflow.IDatabaseTransaction.RollbackAsync*\"></a>\n  <h4 id=\"Venflow_IDatabaseTransaction_RollbackAsync_System_String_CancellationToken_\" data-uid=\"Venflow.IDatabaseTransaction.RollbackAsync(System.String,CancellationToken)\">RollbackAsync(String, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Rolls back a transaction from a pending savepoint state.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task RollbackAsync(string name, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">name</span></td>\n        <td><p>The name of the savepoint.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>An optional token to cancel the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction_Save_System_String_.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction.Save(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseTransaction.cs/#L99\">View Source</a>\n  </span>\n  <a id=\"Venflow_IDatabaseTransaction_Save_\" data-uid=\"Venflow.IDatabaseTransaction.Save*\"></a>\n  <h4 id=\"Venflow_IDatabaseTransaction_Save_System_String_\" data-uid=\"Venflow.IDatabaseTransaction.Save(System.String)\">Save(String)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a transaction save point.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">void Save(string name)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">name</span></td>\n        <td><p>The name of the savepoint.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_IDatabaseTransaction_Save_System_String__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method does not cause a database roundtrip to be made. The savepoint creation statement will instead be sent along with the next command.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction_SaveAsync_System_String_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction.SaveAsync(System.String%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseTransaction.cs/#L107\">View Source</a>\n  </span>\n  <a id=\"Venflow_IDatabaseTransaction_SaveAsync_\" data-uid=\"Venflow.IDatabaseTransaction.SaveAsync*\"></a>\n  <h4 id=\"Venflow_IDatabaseTransaction_SaveAsync_System_String_CancellationToken_\" data-uid=\"Venflow.IDatabaseTransaction.SaveAsync(System.String,CancellationToken)\">SaveAsync(String, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a transaction save point.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">Task SaveAsync(string name, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">name</span></td>\n        <td><p>The name of the savepoint.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>An optional token to cancel the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_IDatabaseTransaction_SaveAsync_System_String_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method does not cause a database roundtrip to be made, and will therefore always complete synchronously. The savepoint creation statement will instead be sent along with the next command.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IDatabaseTransaction.md&amp;value=---%0Auid%3A%20Venflow.IDatabaseTransaction%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseTransaction.cs/#L70\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.IKey-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IKey&lt;TEntity, TKey&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IKey&lt;TEntity, TKey&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.IKey`2\">\n  \n  \n  <h1 id=\"Venflow_IKey_2\" data-uid=\"Venflow.IKey`2\" class=\"text-break\">Interface IKey&lt;TEntity, TKey&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>This interface should be implemented by <em>structs</em>, to create strongly-typed ids.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.Keys.dll</h6>\n  <h5 id=\"Venflow_IKey_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IKey&lt;TEntity, TKey&gt; : IKey</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>They type of entity the key sits in.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TKey</span></td>\n        <td><p>The type of the key.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_IKey_2_remarks\"><strong>Remarks</strong></h5>\n  <div class=\"markdown level0 remarks\"><p>See <a class=\"xref\" href=\"Venflow.Key-2.html\">Key&lt;TEntity, TKey&gt;</a>for a possible implementation.</p>\n</div>\n  <h3 id=\"properties\">Properties\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IKey_2_Value.md&amp;value=---%0Auid%3A%20Venflow.IKey%602.Value%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/Key.cs/#L97\">View Source</a>\n  </span>\n  <a id=\"Venflow_IKey_2_Value_\" data-uid=\"Venflow.IKey`2.Value*\"></a>\n  <h4 id=\"Venflow_IKey_2_Value\" data-uid=\"Venflow.IKey`2.Value\">Value</h4>\n  <div class=\"markdown level1 summary\"><p>The underlying value representing the <a class=\"xref\" href=\"Venflow.Key-2.html\">Key&lt;TEntity, TKey&gt;</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">TKey Value { get; }</code></pre>\n  </div>\n  <h5 class=\"propertyValue\">Property Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TKey</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IKey_2.md&amp;value=---%0Auid%3A%20Venflow.IKey%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/Key.cs/#L91\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.IKey.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IKey\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IKey\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.IKey\">\n  \n  \n  <h1 id=\"Venflow_IKey\" data-uid=\"Venflow.IKey\" class=\"text-break\">Interface IKey\n  </h1>\n  <div class=\"markdown level0 summary\"><p><strong>Do not use this interface, if you are not absolutely sure what it does.</strong></p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.Keys.dll</h6>\n  <h5 id=\"Venflow_IKey_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IKey</code></pre>\n  </div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IKey.md&amp;value=---%0Auid%3A%20Venflow.IKey%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/Key.cs/#L103\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.IParameterTypeHandler.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IParameterTypeHandler\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IParameterTypeHandler\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.IParameterTypeHandler\">\n  \n  \n  <h1 id=\"Venflow_IParameterTypeHandler\" data-uid=\"Venflow.IParameterTypeHandler\" class=\"text-break\">Interface IParameterTypeHandler\n  </h1>\n  <div class=\"markdown level0 summary\"><p>A parameter type handler which can be used with the <see cref=\"!:ParameterTypeHandler.AddTypeHandler(System.Type, IParameterTypeHandler)\"></see> method.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_IParameterTypeHandler_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IParameterTypeHandler</code></pre>\n  </div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IParameterTypeHandler_Handle_System_String_System_Object_.md&amp;value=---%0Auid%3A%20Venflow.IParameterTypeHandler.Handle(System.String%2CSystem.Object)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/IParameterTypeHandler.cs/#L16\">View Source</a>\n  </span>\n  <a id=\"Venflow_IParameterTypeHandler_Handle_\" data-uid=\"Venflow.IParameterTypeHandler.Handle*\"></a>\n  <h4 id=\"Venflow_IParameterTypeHandler_Handle_System_String_System_Object_\" data-uid=\"Venflow.IParameterTypeHandler.Handle(System.String,System.Object)\">Handle(String, Object)</h4>\n  <div class=\"markdown level1 summary\"><p>Is used to convert the given value and name to an <see cref=\"!:NpgsqlParameter\"></see>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">NpgsqlParameter Handle(string name, object val)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">name</span></td>\n        <td><p>The name of the parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></td>\n        <td><span class=\"parametername\">val</span></td>\n        <td><p>The value of the parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">NpgsqlParameter</span></td>\n        <td><p>The <see cref=\"!:NpgsqlParameter\"></see> containing the name and the value.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_IParameterTypeHandler.md&amp;value=---%0Auid%3A%20Venflow.IParameterTypeHandler%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/IParameterTypeHandler.cs/#L8\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.InvalidEntityRelationException.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class InvalidEntityRelationException\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class InvalidEntityRelationException\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.InvalidEntityRelationException\">\n  \n  \n  <h1 id=\"Venflow_InvalidEntityRelationException\" data-uid=\"Venflow.InvalidEntityRelationException\" class=\"text-break\">Class InvalidEntityRelationException\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents errors that occur during the relation entity generation.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">InvalidEntityRelationException</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_InvalidEntityRelationException_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public class InvalidEntityRelationException : Exception</code></pre>\n  </div>\n  <h3 id=\"constructors\">Constructors\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_InvalidEntityRelationException__ctor.md&amp;value=---%0Auid%3A%20Venflow.InvalidEntityRelationException.%23ctor%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/InvalidEntityRelationException.cs/#L14\">View Source</a>\n  </span>\n  <a id=\"Venflow_InvalidEntityRelationException__ctor_\" data-uid=\"Venflow.InvalidEntityRelationException.#ctor*\"></a>\n  <h4 id=\"Venflow_InvalidEntityRelationException__ctor\" data-uid=\"Venflow.InvalidEntityRelationException.#ctor\">InvalidEntityRelationException()</h4>\n  <div class=\"markdown level1 summary\"><p>Initializes a new instance of the <a class=\"xref\" href=\"Venflow.InvalidEntityRelationException.html\">InvalidEntityRelationException</a> class.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public InvalidEntityRelationException()</code></pre>\n  </div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_InvalidEntityRelationException__ctor_System_Runtime_Serialization_SerializationInfo_System_Runtime_Serialization_StreamingContext_.md&amp;value=---%0Auid%3A%20Venflow.InvalidEntityRelationException.%23ctor(System.Runtime.Serialization.SerializationInfo%2CSystem.Runtime.Serialization.StreamingContext)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/InvalidEntityRelationException.cs/#L36\">View Source</a>\n  </span>\n  <a id=\"Venflow_InvalidEntityRelationException__ctor_\" data-uid=\"Venflow.InvalidEntityRelationException.#ctor*\"></a>\n  <h4 id=\"Venflow_InvalidEntityRelationException__ctor_System_Runtime_Serialization_SerializationInfo_System_Runtime_Serialization_StreamingContext_\" data-uid=\"Venflow.InvalidEntityRelationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)\">InvalidEntityRelationException(Serialization.SerializationInfo, Serialization.StreamingContext)</h4>\n  <div class=\"markdown level1 summary\"><p>Initializes a new instance of the <a class=\"xref\" href=\"Venflow.InvalidEntityRelationException.html\">InvalidEntityRelationException</a> class.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">protected InvalidEntityRelationException(Serialization.SerializationInfo info, Serialization.StreamingContext context)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.runtime.serialization.serializationinfo\">Serialization.SerializationInfo</a></td>\n        <td><span class=\"parametername\">info</span></td>\n        <td><p>The <see cref=\"!:System.Runtime.Serialization.SerializationInfo\"></see> that holds the serialized object data about the exception being thrown.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.runtime.serialization.streamingcontext\">Serialization.StreamingContext</a></td>\n        <td><span class=\"parametername\">context</span></td>\n        <td><p>The <see cref=\"!:System.Runtime.Serialization.StreamingContext\"></see> that contains contextual information about the source or destination.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_InvalidEntityRelationException__ctor_System_String_.md&amp;value=---%0Auid%3A%20Venflow.InvalidEntityRelationException.%23ctor(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/InvalidEntityRelationException.cs/#L20\">View Source</a>\n  </span>\n  <a id=\"Venflow_InvalidEntityRelationException__ctor_\" data-uid=\"Venflow.InvalidEntityRelationException.#ctor*\"></a>\n  <h4 id=\"Venflow_InvalidEntityRelationException__ctor_System_String_\" data-uid=\"Venflow.InvalidEntityRelationException.#ctor(System.String)\">InvalidEntityRelationException(String)</h4>\n  <div class=\"markdown level1 summary\"><p>Initializes a new instance of the <a class=\"xref\" href=\"Venflow.InvalidEntityRelationException.html\">InvalidEntityRelationException</a> class.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public InvalidEntityRelationException(string message)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">message</span></td>\n        <td><p>The message that describes the error.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_InvalidEntityRelationException__ctor_System_String_Exception_.md&amp;value=---%0Auid%3A%20Venflow.InvalidEntityRelationException.%23ctor(System.String%2CException)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/InvalidEntityRelationException.cs/#L27\">View Source</a>\n  </span>\n  <a id=\"Venflow_InvalidEntityRelationException__ctor_\" data-uid=\"Venflow.InvalidEntityRelationException.#ctor*\"></a>\n  <h4 id=\"Venflow_InvalidEntityRelationException__ctor_System_String_Exception_\" data-uid=\"Venflow.InvalidEntityRelationException.#ctor(System.String,Exception)\">InvalidEntityRelationException(String, Exception)</h4>\n  <div class=\"markdown level1 summary\"><p>Initializes a new instance of the <a class=\"xref\" href=\"Venflow.InvalidEntityRelationException.html\">InvalidEntityRelationException</a> class.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public InvalidEntityRelationException(string message, Exception inner)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">message</span></td>\n        <td><p>The message that describes the error.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">Exception</span></td>\n        <td><span class=\"parametername\">inner</span></td>\n        <td><p>The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_InvalidEntityRelationException.md&amp;value=---%0Auid%3A%20Venflow.InvalidEntityRelationException%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/InvalidEntityRelationException.cs/#L8\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Json.JsonKeyConverterFacotry.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class JsonKeyConverterFacotry\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class JsonKeyConverterFacotry\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Json.JsonKeyConverterFacotry\">\n  \n  \n  <h1 id=\"Venflow_Json_JsonKeyConverterFacotry\" data-uid=\"Venflow.Json.JsonKeyConverterFacotry\" class=\"text-break\">Class JsonKeyConverterFacotry\n  </h1>\n  <div class=\"markdown level0 summary\"><p>A <see cref=\"!:JsonConverter\"></see> to parse <a class=\"xref\" href=\"Venflow.IKey-2.html\">IKey&lt;TEntity, TKey&gt;</a> instances.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">JsonKeyConverterFacotry</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Json.html\">Venflow.Json</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Json_JsonKeyConverterFacotry_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public class JsonKeyConverterFacotry : JsonConverterFactory</code></pre>\n  </div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Json_JsonKeyConverterFacotry_CanConvert_Type_.md&amp;value=---%0Auid%3A%20Venflow.Json.JsonKeyConverterFacotry.CanConvert(Type)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/JsonKeyConverter.cs/#L16\">View Source</a>\n  </span>\n  <a id=\"Venflow_Json_JsonKeyConverterFacotry_CanConvert_\" data-uid=\"Venflow.Json.JsonKeyConverterFacotry.CanConvert*\"></a>\n  <h4 id=\"Venflow_Json_JsonKeyConverterFacotry_CanConvert_Type_\" data-uid=\"Venflow.Json.JsonKeyConverterFacotry.CanConvert(Type)\">CanConvert(Type)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override bool CanConvert(Type typeToConvert)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Type</span></td>\n        <td><span class=\"parametername\">typeToConvert</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Json_JsonKeyConverterFacotry_CreateConverter_Type_JsonSerializerOptions_.md&amp;value=---%0Auid%3A%20Venflow.Json.JsonKeyConverterFacotry.CreateConverter(Type%2CJsonSerializerOptions)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/JsonKeyConverter.cs/#L20\">View Source</a>\n  </span>\n  <a id=\"Venflow_Json_JsonKeyConverterFacotry_CreateConverter_\" data-uid=\"Venflow.Json.JsonKeyConverterFacotry.CreateConverter*\"></a>\n  <h4 id=\"Venflow_Json_JsonKeyConverterFacotry_CreateConverter_Type_JsonSerializerOptions_\" data-uid=\"Venflow.Json.JsonKeyConverterFacotry.CreateConverter(Type,JsonSerializerOptions)\">CreateConverter(Type, JsonSerializerOptions)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override JsonConverter CreateConverter(Type typeToConvert, JsonSerializerOptions options)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Type</span></td>\n        <td><span class=\"parametername\">typeToConvert</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">JsonSerializerOptions</span></td>\n        <td><span class=\"parametername\">options</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">JsonConverter</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Json_JsonKeyConverterFacotry.md&amp;value=---%0Auid%3A%20Venflow.Json.JsonKeyConverterFacotry%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/JsonKeyConverter.cs/#L11\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Json.JsonKeyConverterFactory.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class JsonKeyConverterFactory\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class JsonKeyConverterFactory\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Json.JsonKeyConverterFactory\">\n  \n  \n  <h1 id=\"Venflow_Json_JsonKeyConverterFactory\" data-uid=\"Venflow.Json.JsonKeyConverterFactory\" class=\"text-break\">Class JsonKeyConverterFactory\n  </h1>\n  <div class=\"markdown level0 summary\"><p>A <see cref=\"!:JsonConverter\"></see> to parse <a class=\"xref\" href=\"Venflow.IKey-2.html\">IKey&lt;TEntity, TKey&gt;</a> instances.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">JsonKeyConverterFactory</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Json.html\">Venflow.Json</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.Keys.dll</h6>\n  <h5 id=\"Venflow_Json_JsonKeyConverterFactory_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public class JsonKeyConverterFactory : JsonConverterFactory</code></pre>\n  </div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Json_JsonKeyConverterFactory_CanConvert_Type_.md&amp;value=---%0Auid%3A%20Venflow.Json.JsonKeyConverterFactory.CanConvert(Type)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/JsonKeyConverter.cs/#L16\">View Source</a>\n  </span>\n  <a id=\"Venflow_Json_JsonKeyConverterFactory_CanConvert_\" data-uid=\"Venflow.Json.JsonKeyConverterFactory.CanConvert*\"></a>\n  <h4 id=\"Venflow_Json_JsonKeyConverterFactory_CanConvert_Type_\" data-uid=\"Venflow.Json.JsonKeyConverterFactory.CanConvert(Type)\">CanConvert(Type)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override bool CanConvert(Type typeToConvert)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Type</span></td>\n        <td><span class=\"parametername\">typeToConvert</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Json_JsonKeyConverterFactory_CreateConverter_Type_JsonSerializerOptions_.md&amp;value=---%0Auid%3A%20Venflow.Json.JsonKeyConverterFactory.CreateConverter(Type%2CJsonSerializerOptions)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/JsonKeyConverter.cs/#L20\">View Source</a>\n  </span>\n  <a id=\"Venflow_Json_JsonKeyConverterFactory_CreateConverter_\" data-uid=\"Venflow.Json.JsonKeyConverterFactory.CreateConverter*\"></a>\n  <h4 id=\"Venflow_Json_JsonKeyConverterFactory_CreateConverter_Type_JsonSerializerOptions_\" data-uid=\"Venflow.Json.JsonKeyConverterFactory.CreateConverter(Type,JsonSerializerOptions)\">CreateConverter(Type, JsonSerializerOptions)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override JsonConverter CreateConverter(Type typeToConvert, JsonSerializerOptions options)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Type</span></td>\n        <td><span class=\"parametername\">typeToConvert</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">JsonSerializerOptions</span></td>\n        <td><span class=\"parametername\">options</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">JsonConverter</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Json_JsonKeyConverterFactory.md&amp;value=---%0Auid%3A%20Venflow.Json.JsonKeyConverterFactory%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/JsonKeyConverter.cs/#L11\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Json.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Namespace Venflow.Json\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Namespace Venflow.Json\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Json\">\n  \n  <h1 id=\"Venflow_Json\" data-uid=\"Venflow.Json\" class=\"text-break\">Namespace Venflow.Json\n  </h1>\n  <div class=\"markdown level0 summary\"></div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"markdown level0 remarks\"></div>\n    <h3 id=\"classes\">Classes\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.Json.JsonKeyConverterFactory.html\">JsonKeyConverterFactory</a></h4>\n      <section><p>A <see cref=\"!:JsonConverter\"></see> to parse <a class=\"xref\" href=\"Venflow.IKey-2.html\">IKey&lt;TEntity, TKey&gt;</a> instances.</p>\n</section>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Key-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Struct Key&lt;TEntity, TKey&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Struct Key&lt;TEntity, TKey&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Key`2\">\n  \n  \n  <h1 id=\"Venflow_Key_2\" data-uid=\"Venflow.Key`2\" class=\"text-break\">Struct Key&lt;TEntity, TKey&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>This is used to create strongly-typed ids.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div classs=\"implements\">\n    <h5>Implements</h5>\n    <div><a class=\"xref\" href=\"Venflow.IKey-2.html\">IKey</a>&lt;TEntity, TKey&gt;</div>\n    <div><a class=\"xref\" href=\"Venflow.IKey.html\">IKey</a></div>\n    <div><span class=\"xref\">IEquatable</span>&lt;<a class=\"xref\" href=\"Venflow.Key-2.html\">Key</a>&lt;TEntity, TKey&gt;&gt;</div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.Keys.dll</h6>\n  <h5 id=\"Venflow_Key_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public struct Key&lt;TEntity, TKey&gt; : IKey&lt;TEntity, TKey&gt;, IKey, IEquatable&lt;Key&lt;TEntity, TKey&gt;&gt; where TKey : struct, IEquatable&lt;TKey&gt;</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>They type of entity the key sits in.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TKey</span></td>\n        <td><p>The type of the key.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Key_2_remarks\"><strong>Remarks</strong></h5>\n  <div class=\"markdown level0 remarks\"><p>You can also create more specific implementations of this type, by creating a <em>struct</em> implementing <a class=\"xref\" href=\"Venflow.IKey-2.html\">IKey&lt;TEntity, TKey&gt;</a>.</p>\n</div>\n  <h3 id=\"constructors\">Constructors\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Key_2__ctor__1_.md&amp;value=---%0Auid%3A%20Venflow.Key%602.%23ctor(%601)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/Key.cs/#L26\">View Source</a>\n  </span>\n  <a id=\"Venflow_Key_2__ctor_\" data-uid=\"Venflow.Key`2.#ctor*\"></a>\n  <h4 id=\"Venflow_Key_2__ctor__1_\" data-uid=\"Venflow.Key`2.#ctor(`1)\">Key(TKey)</h4>\n  <div class=\"markdown level1 summary\"><p>Instantiates a new <a class=\"xref\" href=\"Venflow.Key-2.html\">Key&lt;TEntity, TKey&gt;</a> instance withe the provided value.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Key(TKey value)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TKey</span></td>\n        <td><span class=\"parametername\">value</span></td>\n        <td><p>The value which should represent the new <a class=\"xref\" href=\"Venflow.Key-2.html\">Key&lt;TEntity, TKey&gt;</a> instance.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Key_2_Equals_System_Nullable_System_Object__.md&amp;value=---%0Auid%3A%20Venflow.Key%602.Equals(System.Nullable%7BSystem.Object%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/Key.cs/#L62\">View Source</a>\n  </span>\n  <a id=\"Venflow_Key_2_Equals_\" data-uid=\"Venflow.Key`2.Equals*\"></a>\n  <h4 id=\"Venflow_Key_2_Equals_System_Nullable_System_Object__\" data-uid=\"Venflow.Key`2.Equals(System.Nullable{System.Object})\">Equals(Nullable&lt;Object&gt;)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override bool Equals(object? obj)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a>&gt;</td>\n        <td><span class=\"parametername\">obj</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Key_2_Equals_Venflow_Key__0__1__.md&amp;value=---%0Auid%3A%20Venflow.Key%602.Equals(Venflow.Key%7B%600%2C%601%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/Key.cs/#L56\">View Source</a>\n  </span>\n  <a id=\"Venflow_Key_2_Equals_\" data-uid=\"Venflow.Key`2.Equals*\"></a>\n  <h4 id=\"Venflow_Key_2_Equals_Venflow_Key__0__1__\" data-uid=\"Venflow.Key`2.Equals(Venflow.Key{`0,`1})\">Equals(Key&lt;TEntity, TKey&gt;)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public bool Equals(Key&lt;TEntity, TKey&gt; other)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Key-2.html\">Key</a>&lt;TEntity, TKey&gt;</td>\n        <td><span class=\"parametername\">other</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Key_2_GetHashCode.md&amp;value=---%0Auid%3A%20Venflow.Key%602.GetHashCode%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/Key.cs/#L73\">View Source</a>\n  </span>\n  <a id=\"Venflow_Key_2_GetHashCode_\" data-uid=\"Venflow.Key`2.GetHashCode*\"></a>\n  <h4 id=\"Venflow_Key_2_GetHashCode\" data-uid=\"Venflow.Key`2.GetHashCode\">GetHashCode()</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override int GetHashCode()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Key_2_ToString.md&amp;value=---%0Auid%3A%20Venflow.Key%602.ToString%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/Key.cs/#L79\">View Source</a>\n  </span>\n  <a id=\"Venflow_Key_2_ToString_\" data-uid=\"Venflow.Key`2.ToString*\"></a>\n  <h4 id=\"Venflow_Key_2_ToString\" data-uid=\"Venflow.Key`2.ToString\">ToString()</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override string? ToString()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a>&gt;</td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"operators\">Operators\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Key_2_op_Equality_Venflow_Key__0__1___Venflow_Key__0__1___.md&amp;value=---%0Auid%3A%20Venflow.Key%602.op_Equality(Venflow.Key%7B%600%2C%601%7D%40%2CVenflow.Key%7B%600%2C%601%7D%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/Key.cs/#L44\">View Source</a>\n  </span>\n  <a id=\"Venflow_Key_2_op_Equality_\" data-uid=\"Venflow.Key`2.op_Equality*\"></a>\n  <h4 id=\"Venflow_Key_2_op_Equality_Venflow_Key__0__1___Venflow_Key__0__1___\" data-uid=\"Venflow.Key`2.op_Equality(Venflow.Key{`0,`1}@,Venflow.Key{`0,`1}@)\">Equality(Key&lt;TEntity, TKey&gt;, Key&lt;TEntity, TKey&gt;)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static bool operator ==(in Key&lt;TEntity, TKey&gt; a, in Key&lt;TEntity, TKey&gt; b)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Key-2.html\">Key</a>&lt;TEntity, TKey&gt;</td>\n        <td><span class=\"parametername\">a</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Key-2.html\">Key</a>&lt;TEntity, TKey&gt;</td>\n        <td><span class=\"parametername\">b</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Key_2_op_Implicit__1___Venflow_Key__0__1_.md&amp;value=---%0Auid%3A%20Venflow.Key%602.op_Implicit(%601%40)~Venflow.Key%7B%600%2C%601%7D%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/Key.cs/#L38\">View Source</a>\n  </span>\n  <a id=\"Venflow_Key_2_op_Implicit_\" data-uid=\"Venflow.Key`2.op_Implicit*\"></a>\n  <h4 id=\"Venflow_Key_2_op_Implicit__1___Venflow_Key__0__1_\" data-uid=\"Venflow.Key`2.op_Implicit(`1@)~Venflow.Key{`0,`1}\">Implicit(TKey to Key&lt;TEntity, TKey&gt;)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static implicit operator Key&lt;TEntity, TKey&gt;(in TKey value)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TKey</span></td>\n        <td><span class=\"parametername\">value</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Key-2.html\">Key</a>&lt;TEntity, TKey&gt;</td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Key_2_op_Implicit_Venflow_Key__0__1_____1.md&amp;value=---%0Auid%3A%20Venflow.Key%602.op_Implicit(Venflow.Key%7B%600%2C%601%7D%40)~%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/Key.cs/#L32\">View Source</a>\n  </span>\n  <a id=\"Venflow_Key_2_op_Implicit_\" data-uid=\"Venflow.Key`2.op_Implicit*\"></a>\n  <h4 id=\"Venflow_Key_2_op_Implicit_Venflow_Key__0__1_____1\" data-uid=\"Venflow.Key`2.op_Implicit(Venflow.Key{`0,`1}@)~`1\">Implicit(Key&lt;TEntity, TKey&gt; to TKey)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static implicit operator TKey(in Key&lt;TEntity, TKey&gt; key)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Key-2.html\">Key</a>&lt;TEntity, TKey&gt;</td>\n        <td><span class=\"parametername\">key</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TKey</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Key_2_op_Inequality_Venflow_Key__0__1___Venflow_Key__0__1___.md&amp;value=---%0Auid%3A%20Venflow.Key%602.op_Inequality(Venflow.Key%7B%600%2C%601%7D%40%2CVenflow.Key%7B%600%2C%601%7D%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/Key.cs/#L50\">View Source</a>\n  </span>\n  <a id=\"Venflow_Key_2_op_Inequality_\" data-uid=\"Venflow.Key`2.op_Inequality*\"></a>\n  <h4 id=\"Venflow_Key_2_op_Inequality_Venflow_Key__0__1___Venflow_Key__0__1___\" data-uid=\"Venflow.Key`2.op_Inequality(Venflow.Key{`0,`1}@,Venflow.Key{`0,`1}@)\">Inequality(Key&lt;TEntity, TKey&gt;, Key&lt;TEntity, TKey&gt;)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static bool operator !=(in Key&lt;TEntity, TKey&gt; a, in Key&lt;TEntity, TKey&gt; b)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Key-2.html\">Key</a>&lt;TEntity, TKey&gt;</td>\n        <td><span class=\"parametername\">a</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Key-2.html\">Key</a>&lt;TEntity, TKey&gt;</td>\n        <td><span class=\"parametername\">b</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"eii\">Explicit Interface Implementations\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Key_2_Venflow_IKey_TEntity_TKey__Value.md&amp;value=---%0Auid%3A%20Venflow.Key%602.Venflow%23IKey%7BTEntity%2CTKey%7D%23Value%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/Key.cs/#L20\">View Source</a>\n  </span>\n  <a id=\"Venflow_Key_2_Venflow_IKey_TEntity_TKey__Value_\" data-uid=\"Venflow.Key`2.Venflow#IKey{TEntity,TKey}#Value*\"></a>\n  <h4 id=\"Venflow_Key_2_Venflow_IKey_TEntity_TKey__Value\" data-uid=\"Venflow.Key`2.Venflow#IKey{TEntity,TKey}#Value\">IKey&lt;TEntity, TKey&gt;.Value</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">TKey IKey&lt;TEntity, TKey&gt;.Value { get; }</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TKey</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"implements\">Implements</h3>\n  <div>\n      <a class=\"xref\" href=\"Venflow.IKey-2.html\">IKey&lt;TEntity, TKey&gt;</a>\n  </div>\n  <div>\n      <a class=\"xref\" href=\"Venflow.IKey.html\">IKey</a>\n  </div>\n  <div>\n      <span class=\"xref\">IEquatable&lt;&gt;</span>\n  </div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Key_2.md&amp;value=---%0Auid%3A%20Venflow.Key%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/Key.cs/#L14\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.KeyConverter.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class KeyConverter\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class KeyConverter\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.KeyConverter\">\n  \n  \n  <h1 id=\"Venflow_KeyConverter\" data-uid=\"Venflow.KeyConverter\" class=\"text-break\">Class KeyConverter\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Provides a way of converting <a class=\"xref\" href=\"Venflow.Key-2.html\">Key&lt;TEntity, TKey&gt;</a> to strings and vice versa.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">KeyConverter</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.Keys.dll</h6>\n  <h5 id=\"Venflow_KeyConverter_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public class KeyConverter : TypeConverter</code></pre>\n  </div>\n  <h3 id=\"constructors\">Constructors\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_KeyConverter__ctor_Type_.md&amp;value=---%0Auid%3A%20Venflow.KeyConverter.%23ctor(Type)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/KeyConverter.cs/#L29\">View Source</a>\n  </span>\n  <a id=\"Venflow_KeyConverter__ctor_\" data-uid=\"Venflow.KeyConverter.#ctor*\"></a>\n  <h4 id=\"Venflow_KeyConverter__ctor_Type_\" data-uid=\"Venflow.KeyConverter.#ctor(Type)\">KeyConverter(Type)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new instance of a <a class=\"xref\" href=\"Venflow.KeyConverter.html\">KeyConverter</a> with the given key type.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public KeyConverter(Type keyType)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Type</span></td>\n        <td><span class=\"parametername\">keyType</span></td>\n        <td><p>The type of the key to which the <a class=\"xref\" href=\"Venflow.KeyConverter.html\">KeyConverter</a> should bind to.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_KeyConverter_CanConvertFrom_ITypeDescriptorContext_Type_.md&amp;value=---%0Auid%3A%20Venflow.KeyConverter.CanConvertFrom(ITypeDescriptorContext%2CType)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/KeyConverter.cs/#L35\">View Source</a>\n  </span>\n  <a id=\"Venflow_KeyConverter_CanConvertFrom_\" data-uid=\"Venflow.KeyConverter.CanConvertFrom*\"></a>\n  <h4 id=\"Venflow_KeyConverter_CanConvertFrom_ITypeDescriptorContext_Type_\" data-uid=\"Venflow.KeyConverter.CanConvertFrom(ITypeDescriptorContext,Type)\">CanConvertFrom(ITypeDescriptorContext, Type)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ITypeDescriptorContext</span></td>\n        <td><span class=\"parametername\">context</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">Type</span></td>\n        <td><span class=\"parametername\">sourceType</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_KeyConverter_CanConvertTo_ITypeDescriptorContext_Type_.md&amp;value=---%0Auid%3A%20Venflow.KeyConverter.CanConvertTo(ITypeDescriptorContext%2CType)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/KeyConverter.cs/#L39\">View Source</a>\n  </span>\n  <a id=\"Venflow_KeyConverter_CanConvertTo_\" data-uid=\"Venflow.KeyConverter.CanConvertTo*\"></a>\n  <h4 id=\"Venflow_KeyConverter_CanConvertTo_ITypeDescriptorContext_Type_\" data-uid=\"Venflow.KeyConverter.CanConvertTo(ITypeDescriptorContext,Type)\">CanConvertTo(ITypeDescriptorContext, Type)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ITypeDescriptorContext</span></td>\n        <td><span class=\"parametername\">context</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">Type</span></td>\n        <td><span class=\"parametername\">destinationType</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_KeyConverter_ConvertFrom_ITypeDescriptorContext_CultureInfo_System_Object_.md&amp;value=---%0Auid%3A%20Venflow.KeyConverter.ConvertFrom(ITypeDescriptorContext%2CCultureInfo%2CSystem.Object)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/KeyConverter.cs/#L43\">View Source</a>\n  </span>\n  <a id=\"Venflow_KeyConverter_ConvertFrom_\" data-uid=\"Venflow.KeyConverter.ConvertFrom*\"></a>\n  <h4 id=\"Venflow_KeyConverter_ConvertFrom_ITypeDescriptorContext_CultureInfo_System_Object_\" data-uid=\"Venflow.KeyConverter.ConvertFrom(ITypeDescriptorContext,CultureInfo,System.Object)\">ConvertFrom(ITypeDescriptorContext, CultureInfo, Object)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ITypeDescriptorContext</span></td>\n        <td><span class=\"parametername\">context</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CultureInfo</span></td>\n        <td><span class=\"parametername\">culture</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></td>\n        <td><span class=\"parametername\">value</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_KeyConverter_ConvertTo_ITypeDescriptorContext_CultureInfo_System_Object_Type_.md&amp;value=---%0Auid%3A%20Venflow.KeyConverter.ConvertTo(ITypeDescriptorContext%2CCultureInfo%2CSystem.Object%2CType)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/KeyConverter.cs/#L47\">View Source</a>\n  </span>\n  <a id=\"Venflow_KeyConverter_ConvertTo_\" data-uid=\"Venflow.KeyConverter.ConvertTo*\"></a>\n  <h4 id=\"Venflow_KeyConverter_ConvertTo_ITypeDescriptorContext_CultureInfo_System_Object_Type_\" data-uid=\"Venflow.KeyConverter.ConvertTo(ITypeDescriptorContext,CultureInfo,System.Object,Type)\">ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ITypeDescriptorContext</span></td>\n        <td><span class=\"parametername\">context</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CultureInfo</span></td>\n        <td><span class=\"parametername\">culture</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></td>\n        <td><span class=\"parametername\">value</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">Type</span></td>\n        <td><span class=\"parametername\">destinationType</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_KeyConverter_GetOrCreateKeyFactory__1_Type_.md&amp;value=---%0Auid%3A%20Venflow.KeyConverter.GetOrCreateKeyFactory%60%601(Type)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/KeyConverter.cs/#L50\">View Source</a>\n  </span>\n  <a id=\"Venflow_KeyConverter_GetOrCreateKeyFactory_\" data-uid=\"Venflow.KeyConverter.GetOrCreateKeyFactory*\"></a>\n  <h4 id=\"Venflow_KeyConverter_GetOrCreateKeyFactory__1_Type_\" data-uid=\"Venflow.KeyConverter.GetOrCreateKeyFactory``1(Type)\">GetOrCreateKeyFactory&lt;TValue&gt;(Type)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static Func&lt;TValue, object&gt; GetOrCreateKeyFactory&lt;TValue&gt;(Type keyType)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Type</span></td>\n        <td><span class=\"parametername\">keyType</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Func</span>&lt;TValue, <a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a>&gt;</td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TValue</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_KeyConverter_GetOrCreateKeyFactory__2_Type_.md&amp;value=---%0Auid%3A%20Venflow.KeyConverter.GetOrCreateKeyFactory%60%602(Type)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/KeyConverter.cs/#L54\">View Source</a>\n  </span>\n  <a id=\"Venflow_KeyConverter_GetOrCreateKeyFactory_\" data-uid=\"Venflow.KeyConverter.GetOrCreateKeyFactory*\"></a>\n  <h4 id=\"Venflow_KeyConverter_GetOrCreateKeyFactory__2_Type_\" data-uid=\"Venflow.KeyConverter.GetOrCreateKeyFactory``2(Type)\">GetOrCreateKeyFactory&lt;TKeyType, TValue&gt;(Type)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static Func&lt;TValue, TKeyType&gt; GetOrCreateKeyFactory&lt;TKeyType, TValue&gt;(Type keyType)\n    where TKeyType : struct, IKey</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Type</span></td>\n        <td><span class=\"parametername\">keyType</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Func</span>&lt;TValue, TKeyType&gt;</td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TKeyType</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TValue</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_KeyConverter.md&amp;value=---%0Auid%3A%20Venflow.KeyConverter%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Keys/KeyConverter.cs/#L14\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.LoggerCallback.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Delegate LoggerCallback\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Delegate LoggerCallback\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.LoggerCallback\">\n  \n  \n  <h1 id=\"Venflow_LoggerCallback\" data-uid=\"Venflow.LoggerCallback\" class=\"text-break\">Delegate LoggerCallback\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represent a method that will handle all Logs produced by a <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_LoggerCallback_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public delegate void LoggerCallback(NpgsqlCommand command, CommandType commandType, Exception? exception);</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">NpgsqlCommand</span></td>\n        <td><span class=\"parametername\">command</span></td>\n        <td><p>The command which produced the log.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Enums.CommandType.html\">CommandType</a></td>\n        <td><span class=\"parametername\">commandType</span></td>\n        <td><p>The command type which produced the log.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<span class=\"xref\">Exception</span>&gt;</td>\n        <td><span class=\"parametername\">exception</span></td>\n        <td><p>The exception occurred while trying to execute the command, if any occurred.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_LoggerCallback.md&amp;value=---%0Auid%3A%20Venflow.LoggerCallback%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/DatabaseOptionsBuilder.cs/#L15\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IForeignKeyRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IForeignKeyRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2\">\n  \n  \n  <h1 id=\"Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2\" data-uid=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2\" class=\"text-break\">Interface IForeignKeyRelationBuilder&lt;TEntity, TRelation&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>This interface hosts relation methods for the foreign key configurations.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.html\">Venflow.Modeling.Definitions.Builder</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IForeignKeyRelationBuilder&lt;TEntity, TRelation&gt;\n    where TEntity : class, new()\n    where TRelation : class</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TRelation</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2_UsingForeignKey__1_Expression_Func__0___0___.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder%602.UsingForeignKey%60%601(Expression%7BFunc%7B%600%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Modeling/Definitions/Builder/IForeignKeyRelationBuilder.cs/#L16\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2_UsingForeignKey_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2.UsingForeignKey*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2_UsingForeignKey__1_Expression_Func__0___0___\" data-uid=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2.UsingForeignKey``1(Expression{Func{`0,``0}})\">UsingForeignKey&lt;TKey&gt;(Expression&lt;Func&lt;TEntity, TKey&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Configures the property to be used as the foreign key for this relationship.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">void UsingForeignKey&lt;TKey&gt;(Expression&lt;Func&lt;TEntity, TKey&gt;&gt; navigationProperty)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TKey&gt;&gt;</td>\n        <td><span class=\"parametername\">navigationProperty</span></td>\n        <td><p>A lambda expression representing the foreign key property (post =&gt; post.BlogId).</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TKey</span></td>\n        <td><p>The type of the foreign key.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2_UsingForeignKey__1_Expression_Func__1___0___.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder%602.UsingForeignKey%60%601(Expression%7BFunc%7B%601%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Modeling/Definitions/Builder/IForeignKeyRelationBuilder.cs/#L23\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2_UsingForeignKey_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2.UsingForeignKey*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2_UsingForeignKey__1_Expression_Func__1___0___\" data-uid=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2.UsingForeignKey``1(Expression{Func{`1,``0}})\">UsingForeignKey&lt;TKey&gt;(Expression&lt;Func&lt;TRelation, TKey&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Configures the property to be used as the foreign key for this relationship.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">void UsingForeignKey&lt;TKey&gt;(Expression&lt;Func&lt;TRelation, TKey&gt;&gt; navigationProperty)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelation, TKey&gt;&gt;</td>\n        <td><span class=\"parametername\">navigationProperty</span></td>\n        <td><p>A lambda expression representing the foreign key property (post =&gt; post.BlogId).</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TKey</span></td>\n        <td><p>The type of the foreign key.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Modeling/Definitions/Builder/IForeignKeyRelationBuilder.cs/#L9\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface ILeftRelationBuilder&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface ILeftRelationBuilder&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1\">\n  \n  \n  <h1 id=\"Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1\" data-uid=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1\" class=\"text-break\">Interface ILeftRelationBuilder&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>This interface hosts relation methods for the left side of a relation.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.html\">Venflow.Modeling.Definitions.Builder</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface ILeftRelationBuilder&lt;TEntity&gt;\n    where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The entity type being configured.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasMany__1.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder%601.HasMany%60%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Modeling/Definitions/Builder/ILeftRelationBuilder.cs/#L72\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasMany_\" data-uid=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasMany*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasMany__1\" data-uid=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasMany``1\">HasMany&lt;TRelation&gt;()</h4>\n  <div class=\"markdown level1 summary\"><p>\n    Configures a relationship where this entity type has a collection that contains instances of the other type in the relationship.\n</p>\n<p>\n    Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n</p>\n<p>\n    After calling this method, you should chain a call to <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2_WithOne_Expression_Func__1__0___\">WithOne(Expression&lt;Func&lt;TRelation, TEntity&gt;&gt;)</a> to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship.\n</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt; HasMany&lt;TRelation&gt;()\n    where TRelation : class</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html\">IRequiredSingleRightRelationBuilder</a>&lt;TEntity, TRelation&gt;</td>\n        <td><p>An object that can be used to configure the relationship.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TRelation</span></td>\n        <td><p>The entity type that this relationship targets.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasMany__1_Expression_Func__0_IList___0____.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder%601.HasMany%60%601(Expression%7BFunc%7B%600%2CIList%7B%60%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Modeling/Definitions/Builder/ILeftRelationBuilder.cs/#L57\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasMany_\" data-uid=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasMany*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasMany__1_Expression_Func__0_IList___0____\" data-uid=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasMany``1(Expression{Func{`0,IList{``0}}})\">HasMany&lt;TRelation&gt;(Expression&lt;Func&lt;TEntity, IList&lt;TRelation&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>\n    Configures a relationship where this entity type has a collection that contains instances of the other type in the relationship.\n</p>\n<p>\n    Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n</p>\n<p>\n    After calling this method, you should chain a call to <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_INotRequiredSingleRightRelationBuilder_2_WithOne\">WithOne()</a> to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship.\n</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">INotRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt; HasMany&lt;TRelation&gt;(Expression&lt;Func&lt;TEntity, IList&lt;TRelation&gt;&gt;&gt; navigationProperty)\n    where TRelation : class</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, <span class=\"xref\">IList</span>&lt;TRelation&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">navigationProperty</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html\">INotRequiredSingleRightRelationBuilder</a>&lt;TEntity, TRelation&gt;</td>\n        <td><p>An object that can be used to configure the relationship.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TRelation</span></td>\n        <td><p>The entity type that this relationship targets.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasOne__1.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder%601.HasOne%60%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Modeling/Definitions/Builder/ILeftRelationBuilder.cs/#L42\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasOne_\" data-uid=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasOne*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasOne__1\" data-uid=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasOne``1\">HasOne&lt;TRelation&gt;()</h4>\n  <div class=\"markdown level1 summary\"><p>\n    Configures a relationship where this entity type has a reference that points to a single instance of the other type in the relationship.\n</p>\n<p>\n    Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n</p>\n<p>\n    After calling this method, you should chain a call to <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IMultiRightRelationBuilder_2_WithMany_Expression_Func__1_IList__0____\">WithMany(Expression&lt;Func&lt;TRelation, IList&lt;TEntity&gt;&gt;&gt;)</a> or <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2_WithOne_Expression_Func__1__0___\">WithOne(Expression&lt;Func&lt;TRelation, TEntity&gt;&gt;)</a> to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship.\n</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt; HasOne&lt;TRelation&gt;()\n    where TRelation : class</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder-2.html\">IRequiredMultiRightRelationBuilder</a>&lt;TEntity, TRelation&gt;</td>\n        <td><p>An object that can be used to configure the relationship.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TRelation</span></td>\n        <td><p>The entity type that this relationship targets.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasOne__1_Expression_Func__0___0___.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder%601.HasOne%60%601(Expression%7BFunc%7B%600%2C%60%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Modeling/Definitions/Builder/ILeftRelationBuilder.cs/#L27\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasOne_\" data-uid=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasOne*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasOne__1_Expression_Func__0___0___\" data-uid=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasOne``1(Expression{Func{`0,``0}})\">HasOne&lt;TRelation&gt;(Expression&lt;Func&lt;TEntity, TRelation&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>\n    Configures a relationship where this entity type has a reference that points to a single instance of the other type in the relationship.\n</p>\n<p>\n    Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n</p>\n<p>\n    After calling this method, you should chain a call to <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_INotRequiredMultiRightRelationBuilder_2_WithMany\">WithMany()</a> or <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_INotRequiredSingleRightRelationBuilder_2_WithOne\">WithOne()</a> to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship.\n</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">INotRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt; HasOne&lt;TRelation&gt;(Expression&lt;Func&lt;TEntity, TRelation&gt;&gt; navigationProperty)\n    where TRelation : class</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TRelation&gt;&gt;</td>\n        <td><span class=\"parametername\">navigationProperty</span></td>\n        <td><p>A lambda expression representing the reference navigation property on this entity type that represents the relationship (post =&gt; post.Blog). If no property is specified, the relationship will be configured without a navigation property on this end.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder-2.html\">INotRequiredMultiRightRelationBuilder</a>&lt;TEntity, TRelation&gt;</td>\n        <td><p>An object that can be used to configure the relationship.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TRelation</span></td>\n        <td><p>The entity type that this relationship targets.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Modeling/Definitions/Builder/ILeftRelationBuilder.cs/#L11\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder`2\">\n  \n  \n  <h1 id=\"Venflow_Modeling_Definitions_Builder_IMultiRightRelationBuilder_2\" data-uid=\"Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder`2\" class=\"text-break\">Interface IMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Instances of this class are returned from methods inside the <a class=\"xref\" href=\"Venflow.Table-1.html\">Table&lt;TEntity&gt;</a> class when using the Fluid API and it is not designed to be directly constructed in your application code.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.html\">Venflow.Modeling.Definitions.Builder</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Modeling_Definitions_Builder_IMultiRightRelationBuilder_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\n    where TEntity : class, new()\n    where TRelation : class</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TRelation</span></td>\n        <td><p>The entity type that this relationship targets.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IMultiRightRelationBuilder_2_WithMany_Expression_Func__1_IList__0____.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder%602.WithMany(Expression%7BFunc%7B%601%2CIList%7B%600%7D%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Modeling/Definitions/Builder/IMultiRightRelationBuilder.cs/#L24\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_IMultiRightRelationBuilder_2_WithMany_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder`2.WithMany*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_IMultiRightRelationBuilder_2_WithMany_Expression_Func__1_IList__0____\" data-uid=\"Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder`2.WithMany(Expression{Func{`1,IList{`0}}})\">WithMany(Expression&lt;Func&lt;TRelation, IList&lt;TEntity&gt;&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>\n    Configures this as a one-to-many relationship.\n</p>\n<p>\n    Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IForeignKeyRelationBuilder&lt;TEntity, TRelation&gt; WithMany(Expression&lt;Func&lt;TRelation, IList&lt;TEntity&gt;&gt;&gt; navigationProperty)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelation, <span class=\"xref\">IList</span>&lt;TEntity&gt;&gt;&gt;</td>\n        <td><span class=\"parametername\">navigationProperty</span></td>\n        <td><p>A lambda expression representing the collection navigation property on the other end of this relationship (blog =&gt; blog.Posts). If no property is specified, the relationship will be configured without a navigation property on the other end of the relationship.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html\">IForeignKeyRelationBuilder</a>&lt;TEntity, TRelation&gt;</td>\n        <td><p>An object that can be used to configure the relationship.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IMultiRightRelationBuilder_2.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Modeling/Definitions/Builder/IMultiRightRelationBuilder.cs/#L12\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface INotRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface INotRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder`2\">\n  \n  \n  <h1 id=\"Venflow_Modeling_Definitions_Builder_INotRequiredMultiRightRelationBuilder_2\" data-uid=\"Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder`2\" class=\"text-break\">Interface INotRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>This interface hosts relation methods for the right side of a relation.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IMultiRightRelationBuilder_2_WithMany_Expression_Func__1_IList__0____\">IMultiRightRelationBuilder&lt;TEntity, TRelation&gt;.WithMany(Expression&lt;Func&lt;TRelation, IList&lt;TEntity&gt;&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_INotRequiredSingleRightRelationBuilder_2_WithOne\">INotRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;.WithOne()</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2_WithOne_Expression_Func__1__0___\">IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;.WithOne(Expression&lt;Func&lt;TRelation, TEntity&gt;&gt;)</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.html\">Venflow.Modeling.Definitions.Builder</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Modeling_Definitions_Builder_INotRequiredMultiRightRelationBuilder_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface INotRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt; : IMultiRightRelationBuilder&lt;TEntity, TRelation&gt;, INotRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;, IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt; where TEntity : class, new()\n    where TRelation : class</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TRelation</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_INotRequiredMultiRightRelationBuilder_2_WithMany.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder%602.WithMany%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Modeling/Definitions/Builder/INotRequiredMultiRightRelationBuilder.cs/#L17\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_INotRequiredMultiRightRelationBuilder_2_WithMany_\" data-uid=\"Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder`2.WithMany*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_INotRequiredMultiRightRelationBuilder_2_WithMany\" data-uid=\"Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder`2.WithMany\">WithMany()</h4>\n  <div class=\"markdown level1 summary\"><p>\n    Configures this as a one-to-many relationship.\n</p>\n<p>\n    Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IForeignKeyRelationBuilder&lt;TEntity, TRelation&gt; WithMany()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html\">IForeignKeyRelationBuilder</a>&lt;TEntity, TRelation&gt;</td>\n        <td><p>An object that can be used to configure the relationship.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_INotRequiredMultiRightRelationBuilder_2.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Modeling/Definitions/Builder/INotRequiredMultiRightRelationBuilder.cs/#L6\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface INotRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface INotRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2\">\n  \n  \n  <h1 id=\"Venflow_Modeling_Definitions_Builder_INotRequiredSingleRightRelationBuilder_2\" data-uid=\"Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2\" class=\"text-break\">Interface INotRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>This interface hosts relation methods for the right side of a relation.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2_WithOne_Expression_Func__1__0___\">IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;.WithOne(Expression&lt;Func&lt;TRelation, TEntity&gt;&gt;)</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.html\">Venflow.Modeling.Definitions.Builder</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Modeling_Definitions_Builder_INotRequiredSingleRightRelationBuilder_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface INotRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt; : IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt; where TEntity : class, new()\n    where TRelation : class</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TRelation</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_INotRequiredSingleRightRelationBuilder_2_WithOne.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder%602.WithOne%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Modeling/Definitions/Builder/INotRequiredSingleRightRelationBuilder.cs/#L17\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_INotRequiredSingleRightRelationBuilder_2_WithOne_\" data-uid=\"Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2.WithOne*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_INotRequiredSingleRightRelationBuilder_2_WithOne\" data-uid=\"Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2.WithOne\">WithOne()</h4>\n  <div class=\"markdown level1 summary\"><p>\n    Configures this as a one-to-one relationship.\n</p>\n<p>\n    Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IForeignKeyRelationBuilder&lt;TEntity, TRelation&gt; WithOne()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html\">IForeignKeyRelationBuilder</a>&lt;TEntity, TRelation&gt;</td>\n        <td><p>An object that can be used to configure the relationship.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_INotRequiredSingleRightRelationBuilder_2.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Modeling/Definitions/Builder/INotRequiredSingleRightRelationBuilder.cs/#L6\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder`2\">\n  \n  \n  <h1 id=\"Venflow_Modeling_Definitions_Builder_IRequiredMultiRightRelationBuilder_2\" data-uid=\"Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder`2\" class=\"text-break\">Interface IRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>This interface hosts relation methods for the right side of a relation.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IMultiRightRelationBuilder_2_WithMany_Expression_Func__1_IList__0____\">IMultiRightRelationBuilder&lt;TEntity, TRelation&gt;.WithMany(Expression&lt;Func&lt;TRelation, IList&lt;TEntity&gt;&gt;&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2_WithOne_Expression_Func__1__0___\">IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;.WithOne(Expression&lt;Func&lt;TRelation, TEntity&gt;&gt;)</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.html\">Venflow.Modeling.Definitions.Builder</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Modeling_Definitions_Builder_IRequiredMultiRightRelationBuilder_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt; : IMultiRightRelationBuilder&lt;TEntity, TRelation&gt;, IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt; where TEntity : class, new()\n    where TRelation : class</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TRelation</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IRequiredMultiRightRelationBuilder_2.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Modeling/Definitions/Builder/IRequiredMultiRightRelationBuilder.cs/#L6\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interface IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interface IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2\">\n  \n  \n  <h1 id=\"Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2\" data-uid=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2\" class=\"text-break\">Interface IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>This interface hosts relation methods for the right side of a relation.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.html\">Venflow.Modeling.Definitions.Builder</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public interface IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;\n    where TEntity : class, new()\n    where TRelation : class</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TRelation</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2_WithOne_Expression_Func__1__0___.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder%602.WithOne(Expression%7BFunc%7B%601%2C%600%7D%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Modeling/Definitions/Builder/IRequiredSingleRightRelationBuilder.cs/#L21\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2_WithOne_\" data-uid=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2.WithOne*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2_WithOne_Expression_Func__1__0___\" data-uid=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2.WithOne(Expression{Func{`1,`0}})\">WithOne(Expression&lt;Func&lt;TRelation, TEntity&gt;&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>\n    Configures this as a one-to-one relationship.\n</p>\n<p>\n    Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">IForeignKeyRelationBuilder&lt;TEntity, TRelation&gt; WithOne(Expression&lt;Func&lt;TRelation, TEntity&gt;&gt; navigationProperty)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TRelation, TEntity&gt;&gt;</td>\n        <td><span class=\"parametername\">navigationProperty</span></td>\n        <td><p>A lambda expression representing the reference navigation property on the other end of this relationship (blog =&gt; blog.BlogInfo). If no property is specified, the relationship will be configured without a navigation property on the other end of the relationship.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html\">IForeignKeyRelationBuilder</a>&lt;TEntity, TRelation&gt;</td>\n        <td><p>An object that can be used to configure the relationship.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder%602%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Modeling/Definitions/Builder/IRequiredSingleRightRelationBuilder.cs/#L9\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Modeling.Definitions.Builder.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Namespace Venflow.Modeling.Definitions.Builder\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Namespace Venflow.Modeling.Definitions.Builder\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Modeling.Definitions.Builder\">\n  \n  <h1 id=\"Venflow_Modeling_Definitions_Builder\" data-uid=\"Venflow.Modeling.Definitions.Builder\" class=\"text-break\">Namespace Venflow.Modeling.Definitions.Builder\n  </h1>\n  <div class=\"markdown level0 summary\"></div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"markdown level0 remarks\"></div>\n    <h3 id=\"interfaces\">Interfaces\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html\">IForeignKeyRelationBuilder&lt;TEntity, TRelation&gt;</a></h4>\n      <section><p>This interface hosts relation methods for the foreign key configurations.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html\">ILeftRelationBuilder&lt;TEntity&gt;</a></h4>\n      <section><p>This interface hosts relation methods for the left side of a relation.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.html\">IMultiRightRelationBuilder&lt;TEntity, TRelation&gt;</a></h4>\n      <section><p>Instances of this class are returned from methods inside the <a class=\"xref\" href=\"Venflow.Table-1.html\">Table&lt;TEntity&gt;</a> class when using the Fluid API and it is not designed to be directly constructed in your application code.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder-2.html\">INotRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;</a></h4>\n      <section><p>This interface hosts relation methods for the right side of a relation.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html\">INotRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;</a></h4>\n      <section><p>This interface hosts relation methods for the right side of a relation.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder-2.html\">IRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;</a></h4>\n      <section><p>This interface hosts relation methods for the right side of a relation.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html\">IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;</a></h4>\n      <section><p>This interface hosts relation methods for the right side of a relation.</p>\n</section>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Modeling.Definitions.EntityConfiguration-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class EntityConfiguration&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class EntityConfiguration&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Modeling.Definitions.EntityConfiguration`1\">\n  \n  \n  <h1 id=\"Venflow_Modeling_Definitions_EntityConfiguration_1\" data-uid=\"Venflow.Modeling.Definitions.EntityConfiguration`1\" class=\"text-break\">Class EntityConfiguration&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Allows configuration for an entity type. Inherit from this class and override the <a class=\"xref\" href=\"Venflow.Modeling.Definitions.EntityConfiguration-1.html#Venflow_Modeling_Definitions_EntityConfiguration_1_Configure_IEntityBuilder__0__\">Configure(IEntityBuilder&lt;TEntity&gt;)</a> method to configure the entity <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code>.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">EntityConfiguration&lt;TEntity&gt;</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Modeling.Definitions.html\">Venflow.Modeling.Definitions</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Modeling_Definitions_EntityConfiguration_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public abstract class EntityConfiguration&lt;TEntity&gt; : object, IEntityConfiguration where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The entity to be configured.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Modeling_Definitions_EntityConfiguration_1_remarks\"><strong>Remarks</strong></h5>\n  <div class=\"markdown level0 remarks\"><p>Classes which inherit from this one, have to be in the same assembly as the <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> in order to be discoverable.</p>\n</div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_EntityConfiguration_1_Configure_IEntityBuilder__0__.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.EntityConfiguration%601.Configure(IEntityBuilder%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Modeling/Definitions/EntityConfiguration.cs/#L17\">View Source</a>\n  </span>\n  <a id=\"Venflow_Modeling_Definitions_EntityConfiguration_1_Configure_\" data-uid=\"Venflow.Modeling.Definitions.EntityConfiguration`1.Configure*\"></a>\n  <h4 id=\"Venflow_Modeling_Definitions_EntityConfiguration_1_Configure_IEntityBuilder__0__\" data-uid=\"Venflow.Modeling.Definitions.EntityConfiguration`1.Configure(IEntityBuilder{`0})\">Configure(IEntityBuilder&lt;TEntity&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Allows for configuration of the entity <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">protected abstract void Configure(IEntityBuilder&lt;TEntity&gt; entityBuilder)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IEntityBuilder</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entityBuilder</span></td>\n        <td><p>The builder used to configure the entity.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Modeling_Definitions_EntityConfiguration_1.md&amp;value=---%0Auid%3A%20Venflow.Modeling.Definitions.EntityConfiguration%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Modeling/Definitions/EntityConfiguration.cs/#L10\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Modeling.Definitions.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Namespace Venflow.Modeling.Definitions\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Namespace Venflow.Modeling.Definitions\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Modeling.Definitions\">\n  \n  <h1 id=\"Venflow_Modeling_Definitions\" data-uid=\"Venflow.Modeling.Definitions\" class=\"text-break\">Namespace Venflow.Modeling.Definitions\n  </h1>\n  <div class=\"markdown level0 summary\"></div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"markdown level0 remarks\"></div>\n    <h3 id=\"classes\">Classes\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.Modeling.Definitions.EntityConfiguration-1.html\">EntityConfiguration&lt;TEntity&gt;</a></h4>\n      <section><p>Allows configuration for an entity type. Inherit from this class and override the <a class=\"xref\" href=\"Venflow.Modeling.Definitions.EntityConfiguration-1.html#Venflow_Modeling_Definitions_EntityConfiguration_1_Configure_IEntityBuilder__0__\">Configure(IEntityBuilder&lt;TEntity&gt;)</a> method to configure the entity <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code>.</p>\n</section>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class NewtonsoftJsonKeyConverter\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class NewtonsoftJsonKeyConverter\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter\">\n  \n  \n  <h1 id=\"Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter\" data-uid=\"Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter\" class=\"text-break\">Class NewtonsoftJsonKeyConverter\n  </h1>\n  <div class=\"markdown level0 summary\"><p>A <see cref=\"!:JsonConverter\"></see> to parse <a class=\"xref\" href=\"Venflow.IKey-2.html\">IKey&lt;TEntity, TKey&gt;</a> instances.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">NewtonsoftJsonKeyConverter</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.NewtonsoftJson.html\">Venflow.NewtonsoftJson</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.NewtonsoftJson.dll</h6>\n  <h5 id=\"Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public class NewtonsoftJsonKeyConverter : JsonConverter</code></pre>\n  </div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_CanConvert_Type_.md&amp;value=---%0Auid%3A%20Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.CanConvert(Type)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.NewtonsoftJson/NewtonsoftJsonKeyConverter.cs/#L15\">View Source</a>\n  </span>\n  <a id=\"Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_CanConvert_\" data-uid=\"Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.CanConvert*\"></a>\n  <h4 id=\"Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_CanConvert_Type_\" data-uid=\"Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.CanConvert(Type)\">CanConvert(Type)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override bool CanConvert(Type objectType)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Type</span></td>\n        <td><span class=\"parametername\">objectType</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_ReadJson_JsonReader_Type_System_Nullable_System_Object__JsonSerializer_.md&amp;value=---%0Auid%3A%20Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.ReadJson(JsonReader%2CType%2CSystem.Nullable%7BSystem.Object%7D%2CJsonSerializer)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.NewtonsoftJson/NewtonsoftJsonKeyConverter.cs/#L21\">View Source</a>\n  </span>\n  <a id=\"Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_ReadJson_\" data-uid=\"Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.ReadJson*\"></a>\n  <h4 id=\"Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_ReadJson_JsonReader_Type_System_Nullable_System_Object__JsonSerializer_\" data-uid=\"Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.ReadJson(JsonReader,Type,System.Nullable{System.Object},JsonSerializer)\">ReadJson(JsonReader, Type, Nullable&lt;Object&gt;, JsonSerializer)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override object? ReadJson(JsonReader reader, Type objectType, object? existingValue, JsonSerializer serializer)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">JsonReader</span></td>\n        <td><span class=\"parametername\">reader</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">Type</span></td>\n        <td><span class=\"parametername\">objectType</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a>&gt;</td>\n        <td><span class=\"parametername\">existingValue</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">JsonSerializer</span></td>\n        <td><span class=\"parametername\">serializer</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a>&gt;</td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_WriteJson_JsonWriter_System_Nullable_System_Object__JsonSerializer_.md&amp;value=---%0Auid%3A%20Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.WriteJson(JsonWriter%2CSystem.Nullable%7BSystem.Object%7D%2CJsonSerializer)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.NewtonsoftJson/NewtonsoftJsonKeyConverter.cs/#L29\">View Source</a>\n  </span>\n  <a id=\"Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_WriteJson_\" data-uid=\"Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.WriteJson*\"></a>\n  <h4 id=\"Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_WriteJson_JsonWriter_System_Nullable_System_Object__JsonSerializer_\" data-uid=\"Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.WriteJson(JsonWriter,System.Nullable{System.Object},JsonSerializer)\">WriteJson(JsonWriter, Nullable&lt;Object&gt;, JsonSerializer)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">JsonWriter</span></td>\n        <td><span class=\"parametername\">writer</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.nullable-1\">Nullable</a>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a>&gt;</td>\n        <td><span class=\"parametername\">value</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">JsonSerializer</span></td>\n        <td><span class=\"parametername\">serializer</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter.md&amp;value=---%0Auid%3A%20Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.NewtonsoftJson/NewtonsoftJsonKeyConverter.cs/#L10\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.NewtonsoftJson.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Namespace Venflow.NewtonsoftJson\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Namespace Venflow.NewtonsoftJson\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.NewtonsoftJson\">\n  \n  <h1 id=\"Venflow_NewtonsoftJson\" data-uid=\"Venflow.NewtonsoftJson\" class=\"text-break\">Namespace Venflow.NewtonsoftJson\n  </h1>\n  <div class=\"markdown level0 summary\"></div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"markdown level0 remarks\"></div>\n    <h3 id=\"classes\">Classes\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.html\">NewtonsoftJsonKeyConverter</a></h4>\n      <section><p>A <see cref=\"!:JsonConverter\"></see> to parse <a class=\"xref\" href=\"Venflow.IKey-2.html\">IKey&lt;TEntity, TKey&gt;</a> instances.</p>\n</section>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.NpgsqlCommandExtensions.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class NpgsqlCommandExtensions\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class NpgsqlCommandExtensions\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.NpgsqlCommandExtensions\">\n  \n  \n  <h1 id=\"Venflow_NpgsqlCommandExtensions\" data-uid=\"Venflow.NpgsqlCommandExtensions\" class=\"text-break\">Class NpgsqlCommandExtensions\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Provides a set of useful extension methods for the <see cref=\"!:NpgsqlCommand\"></see> class.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">NpgsqlCommandExtensions</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_NpgsqlCommandExtensions_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static class NpgsqlCommandExtensions : object</code></pre>\n  </div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_NpgsqlCommandExtensions_AddParamter__1_NpgsqlCommand_System_String___0_.md&amp;value=---%0Auid%3A%20Venflow.NpgsqlCommandExtensions.AddParamter%60%601(NpgsqlCommand%2CSystem.String%2C%60%600)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/NpgsqlCommandExtensions.cs/#L21\">View Source</a>\n  </span>\n  <a id=\"Venflow_NpgsqlCommandExtensions_AddParamter_\" data-uid=\"Venflow.NpgsqlCommandExtensions.AddParamter*\"></a>\n  <h4 id=\"Venflow_NpgsqlCommandExtensions_AddParamter__1_NpgsqlCommand_System_String___0_\" data-uid=\"Venflow.NpgsqlCommandExtensions.AddParamter``1(NpgsqlCommand,System.String,``0)\">AddParamter&lt;TType&gt;(NpgsqlCommand, String, TType)</h4>\n  <div class=\"markdown level1 summary\"><p>Adds a new Parameter to the <see cref=\"!:NpgsqlCommand.Parameters\"></see> collection.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static NpgsqlParameter&lt;TType&gt; AddParamter&lt;TType&gt;(this NpgsqlCommand command, string parameterName, TType value)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">NpgsqlCommand</span></td>\n        <td><span class=\"parametername\">command</span></td>\n        <td><p>The command to which the Parameter should be added.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">parameterName</span></td>\n        <td><p>The name of the Parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">TType</span></td>\n        <td><span class=\"parametername\">value</span></td>\n        <td><p>The value of the Parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">NpgsqlParameter</span>&lt;TType&gt;</td>\n        <td><p>the just created <see cref=\"!:NpgsqlParameter&lt;TType>\"></see>.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TType</span></td>\n        <td><p>The value type of the Parameter.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_NpgsqlCommandExtensions_SetInterpolatedCommandText_NpgsqlCommand_FormattableString_.md&amp;value=---%0Auid%3A%20Venflow.NpgsqlCommandExtensions.SetInterpolatedCommandText(NpgsqlCommand%2CFormattableString)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/NpgsqlCommandExtensions.cs/#L35\">View Source</a>\n  </span>\n  <a id=\"Venflow_NpgsqlCommandExtensions_SetInterpolatedCommandText_\" data-uid=\"Venflow.NpgsqlCommandExtensions.SetInterpolatedCommandText*\"></a>\n  <h4 id=\"Venflow_NpgsqlCommandExtensions_SetInterpolatedCommandText_NpgsqlCommand_FormattableString_\" data-uid=\"Venflow.NpgsqlCommandExtensions.SetInterpolatedCommandText(NpgsqlCommand,FormattableString)\">SetInterpolatedCommandText(NpgsqlCommand, FormattableString)</h4>\n  <div class=\"markdown level1 summary\"><p>Sets the command text of the used <see cref=\"!:NpgsqlCommand\"></see>. <strong>This API does support string interpolation!</strong></p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static void SetInterpolatedCommandText(this NpgsqlCommand command, FormattableString sql)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">NpgsqlCommand</span></td>\n        <td><span class=\"parametername\">command</span></td>\n        <td><p>The command of which the command text should be set. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">FormattableString</span></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_NpgsqlCommandExtensions.md&amp;value=---%0Auid%3A%20Venflow.NpgsqlCommandExtensions%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/NpgsqlCommandExtensions.cs/#L11\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.ParameterTypeHandler.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class ParameterTypeHandler\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class ParameterTypeHandler\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.ParameterTypeHandler\">\n  \n  \n  <h1 id=\"Venflow_ParameterTypeHandler\" data-uid=\"Venflow.ParameterTypeHandler\" class=\"text-break\">Class ParameterTypeHandler\n  </h1>\n  <div class=\"markdown level0 summary\"><p>A class which contains methods to configure the used type handlers while parsing Interpolated arguments.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">ParameterTypeHandler</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_ParameterTypeHandler_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static class ParameterTypeHandler : object</code></pre>\n  </div>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_ParameterTypeHandler_AddTypeHandler_Type_Venflow_IParameterTypeHandler_.md&amp;value=---%0Auid%3A%20Venflow.ParameterTypeHandler.AddTypeHandler(Type%2CVenflow.IParameterTypeHandler)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/ParameterTypeHandler.cs/#L26\">View Source</a>\n  </span>\n  <a id=\"Venflow_ParameterTypeHandler_AddTypeHandler_\" data-uid=\"Venflow.ParameterTypeHandler.AddTypeHandler*\"></a>\n  <h4 id=\"Venflow_ParameterTypeHandler_AddTypeHandler_Type_Venflow_IParameterTypeHandler_\" data-uid=\"Venflow.ParameterTypeHandler.AddTypeHandler(Type,Venflow.IParameterTypeHandler)\">AddTypeHandler(Type, IParameterTypeHandler)</h4>\n  <div class=\"markdown level1 summary\"><p>Adds a type handler.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static void AddTypeHandler(Type type, IParameterTypeHandler typeHandler)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Type</span></td>\n        <td><span class=\"parametername\">type</span></td>\n        <td><p>The type to which the type handler should be mapped.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.IParameterTypeHandler.html\">IParameterTypeHandler</a></td>\n        <td><span class=\"parametername\">typeHandler</span></td>\n        <td><p>The type handler.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_ParameterTypeHandler.md&amp;value=---%0Auid%3A%20Venflow.ParameterTypeHandler%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/ParameterTypeHandler.cs/#L10\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Table-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class Table&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class Table&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Table`1\">\n  \n  \n  <h1 id=\"Venflow_Table_1\" data-uid=\"Venflow.Table`1\" class=\"text-break\">Class Table&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>A <a class=\"xref\" href=\"Venflow.Table-1.html\">Table&lt;TEntity&gt;</a> is used to perform CRUD operations against the table represented by <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code>.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><a class=\"xref\" href=\"Venflow.TableBase-1.html\">TableBase</a>&lt;TEntity&gt;</div>\n    <div class=\"level2\"><span class=\"xref\">Table&lt;TEntity&gt;</span></div>\n  </div>\n  <div class=\"inheritedMembers\">\n    <h5>Inherited Members</h5>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryAsync__1_Venflow_Commands_IQueryCommand__0___0__CancellationToken_\">TableBase&lt;TEntity&gt;.QueryAsync&lt;TReturn&gt;(IQueryCommand&lt;TEntity, TReturn&gt;, CancellationToken)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_System_String_System_Boolean_\">TableBase&lt;TEntity&gt;.QuerySingle(String, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_Expression_Func__0_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QuerySingle(Expression&lt;Func&lt;TEntity, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__1_Expression_Func__0___0_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QuerySingle&lt;TOne&gt;(Expression&lt;Func&lt;TEntity, TOne, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__2_Expression_Func__0___0___1_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QuerySingle&lt;TOne, Two&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__3_Expression_Func__0___0___1___2_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QuerySingle&lt;TOne, Two, TThree&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__4_Expression_Func__0___0___1___2___3_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QuerySingle&lt;TOne, Two, TThree, TFour&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__5_Expression_Func__0___0___1___2___3___4_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QuerySingle&lt;TOne, Two, TThree, TFour, TFive&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QuerySingle&lt;TOne, Two, TThree, TFour, TFive, TSix&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QuerySingle&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QuerySingle&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_System_String_NpgsqlParameter___\">TableBase&lt;TEntity&gt;.QuerySingle(String, NpgsqlParameter[])</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_System_String_IList_NpgsqlParameter__\">TableBase&lt;TEntity&gt;.QuerySingle(String, IList&lt;NpgsqlParameter&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_System_String_System_Boolean_NpgsqlParameter___\">TableBase&lt;TEntity&gt;.QuerySingle(String, Boolean, NpgsqlParameter[])</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_FormattableString_System_Boolean_\">TableBase&lt;TEntity&gt;.QueryInterpolatedSingle(FormattableString, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_Venflow_FormattableSqlStringBuilder_System_Boolean_\">TableBase&lt;TEntity&gt;.QueryInterpolatedSingle(FormattableSqlStringBuilder, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch_System_String_System_Boolean_\">TableBase&lt;TEntity&gt;.QueryBatch(String, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch_Expression_Func__0_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QueryBatch(Expression&lt;Func&lt;TEntity, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__1_Expression_Func__0___0_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QueryBatch&lt;TOne&gt;(Expression&lt;Func&lt;TEntity, TOne, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__2_Expression_Func__0___0___1_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QueryBatch&lt;TOne, Two&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__3_Expression_Func__0___0___1___2_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QueryBatch&lt;TOne, Two, TThree&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__4_Expression_Func__0___0___1___2___3_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QueryBatch&lt;TOne, Two, TThree, TFour&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__5_Expression_Func__0___0___1___2___3___4_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QueryBatch&lt;TOne, Two, TThree, TFour, TFive&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QueryBatch&lt;TOne, Two, TThree, TFour, TFive, TSix&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QueryBatch&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___System_Boolean_\">TableBase&lt;TEntity&gt;.QueryBatch&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString&gt;&gt;, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch_System_String_NpgsqlParameter___\">TableBase&lt;TEntity&gt;.QueryBatch(String, NpgsqlParameter[])</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch_System_String_IList_NpgsqlParameter__\">TableBase&lt;TEntity&gt;.QueryBatch(String, IList&lt;NpgsqlParameter&gt;)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch_System_String_System_Boolean_NpgsqlParameter___\">TableBase&lt;TEntity&gt;.QueryBatch(String, Boolean, NpgsqlParameter[])</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedBatch_FormattableString_System_Boolean_\">TableBase&lt;TEntity&gt;.QueryInterpolatedBatch(FormattableString, Boolean)</a>\n    </div>\n    <div>\n      <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedBatch_Venflow_FormattableSqlStringBuilder_System_Boolean_\">TableBase&lt;TEntity&gt;.QueryInterpolatedBatch(FormattableSqlStringBuilder, Boolean)</a>\n    </div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_Table_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public sealed class Table&lt;TEntity&gt; : TableBase&lt;TEntity&gt;, ITable where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The entity which represents a table in the Database.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_CountAsync_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.CountAsync(CancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L91\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_CountAsync_\" data-uid=\"Venflow.Table`1.CountAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_CountAsync_CancellationToken_\" data-uid=\"Venflow.Table`1.CountAsync(CancellationToken)\">CountAsync(CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously counts the total rows the current table.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;long&gt; CountAsync(CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int64\">Int64</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_CountAsync_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;SELECT COUNT(*) FROM table&quot;.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_Delete.md&amp;value=---%0Auid%3A%20Venflow.Table%601.Delete%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L376\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_Delete_\" data-uid=\"Venflow.Table`1.Delete*\"></a>\n  <h4 id=\"Venflow_Table_1_Delete\" data-uid=\"Venflow.Table`1.Delete\">Delete()</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new delete command.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IDeleteCommandBuilder&lt;TEntity&gt; Delete()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IDeleteCommandBuilder-1.html\">IDeleteCommandBuilder</a>&lt;TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a delete command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_Delete_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>The command will be automatically disposed the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_Delete_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.Delete(System.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L384\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_Delete_\" data-uid=\"Venflow.Table`1.Delete*\"></a>\n  <h4 id=\"Venflow_Table_1_Delete_System_Boolean_\" data-uid=\"Venflow.Table`1.Delete(System.Boolean)\">Delete(Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new delete command.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IDeleteCommandBuilder&lt;TEntity&gt; Delete(bool disposeCommand)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IDeleteCommandBuilder-1.html\">IDeleteCommandBuilder</a>&lt;TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a delete command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_DeleteAsync__0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.DeleteAsync(%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L170\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_DeleteAsync_\" data-uid=\"Venflow.Table`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_DeleteAsync__0_CancellationToken_\" data-uid=\"Venflow.Table`1.DeleteAsync(`0,CancellationToken)\">DeleteAsync(TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes the provided entity by its defined primary key.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask&lt;int&gt; DeleteAsync(TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>A <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instance representing the row, which will be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows deleted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_DeleteAsync__0_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;DELETE FROM table WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_DeleteAsync__0___CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.DeleteAsync(%600%5B%5D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L236\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_DeleteAsync_\" data-uid=\"Venflow.Table`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_DeleteAsync__0___CancellationToken_\" data-uid=\"Venflow.Table`1.DeleteAsync(`0[],CancellationToken)\">DeleteAsync(TEntity[], CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes the provided entities by their defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask&lt;int&gt; DeleteAsync(TEntity[] entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td>TEntity[]</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A set of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instances representing the rows, which will be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows deleted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_DeleteAsync__0___CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;DELETE FROM table WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_DeleteAsync_IEnumerable__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.DeleteAsync(IEnumerable%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L200\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_DeleteAsync_\" data-uid=\"Venflow.Table`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_DeleteAsync_IEnumerable__0__CancellationToken_\" data-uid=\"Venflow.Table`1.DeleteAsync(IEnumerable{`0},CancellationToken)\">DeleteAsync(IEnumerable&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes the provided entities by their defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask&lt;int&gt; DeleteAsync(IEnumerable&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IEnumerable</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A set of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instances representing the rows, which will be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows deleted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_DeleteAsync_IEnumerable__0__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;DELETE FROM table WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_DeleteAsync_IList__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.DeleteAsync(IList%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L212\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_DeleteAsync_\" data-uid=\"Venflow.Table`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_DeleteAsync_IList__0__CancellationToken_\" data-uid=\"Venflow.Table`1.DeleteAsync(IList{`0},CancellationToken)\">DeleteAsync(IList&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes the provided entities by their defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask&lt;int&gt; DeleteAsync(IList&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A set of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instances representing the rows, which will be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows deleted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_DeleteAsync_IList__0__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;DELETE FROM table WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_DeleteAsync_List__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.DeleteAsync(List%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L224\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_DeleteAsync_\" data-uid=\"Venflow.Table`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_DeleteAsync_List__0__CancellationToken_\" data-uid=\"Venflow.Table`1.DeleteAsync(List{`0},CancellationToken)\">DeleteAsync(List&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes the provided entities by their defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask&lt;int&gt; DeleteAsync(List&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">List</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A set of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instances representing the rows, which will be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows deleted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_DeleteAsync_List__0__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;DELETE FROM table WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_DeleteAsync_Venflow_Commands_IDeleteCommand__0___0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.DeleteAsync(Venflow.Commands.IDeleteCommand%7B%600%7D%2C%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L183\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_DeleteAsync_\" data-uid=\"Venflow.Table`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_DeleteAsync_Venflow_Commands_IDeleteCommand__0___0_CancellationToken_\" data-uid=\"Venflow.Table`1.DeleteAsync(Venflow.Commands.IDeleteCommand{`0},`0,CancellationToken)\">DeleteAsync(IDeleteCommand&lt;TEntity&gt;, TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes the provided entity by its defined primary key.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask&lt;int&gt; DeleteAsync(IDeleteCommand&lt;TEntity&gt; deleteCommand, TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IDeleteCommand-1.html\">IDeleteCommand</a>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">deleteCommand</span></td>\n        <td><p>A <a class=\"xref\" href=\"Venflow.Commands.IDeleteCommand-1.html\">IDeleteCommand&lt;TEntity&gt;</a> instance which contains all the settings for this operation.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>A <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instance representing the row, which will be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows deleted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_DeleteAsync_Venflow_Commands_IDeleteCommand__0___0_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;DELETE FROM table WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_DeleteAsync_Venflow_Commands_IDeleteCommand__0__IEnumerable__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.DeleteAsync(Venflow.Commands.IDeleteCommand%7B%600%7D%2CIEnumerable%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L249\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_DeleteAsync_\" data-uid=\"Venflow.Table`1.DeleteAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_DeleteAsync_Venflow_Commands_IDeleteCommand__0__IEnumerable__0__CancellationToken_\" data-uid=\"Venflow.Table`1.DeleteAsync(Venflow.Commands.IDeleteCommand{`0},IEnumerable{`0},CancellationToken)\">DeleteAsync(IDeleteCommand&lt;TEntity&gt;, IEnumerable&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously deletes the provided entities by their defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask&lt;int&gt; DeleteAsync(IDeleteCommand&lt;TEntity&gt; deleteCommand, IEnumerable&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IDeleteCommand-1.html\">IDeleteCommand</a>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">deleteCommand</span></td>\n        <td><p>A <a class=\"xref\" href=\"Venflow.Commands.IDeleteCommand-1.html\">IDeleteCommand&lt;TEntity&gt;</a> instance which contains all the settings for this operation.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">IEnumerable</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A set of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instances representing the rows, which will be deleted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows deleted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_DeleteAsync_Venflow_Commands_IDeleteCommand__0__IEnumerable__0__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;DELETE FROM table WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_GetProxiedEntity.md&amp;value=---%0Auid%3A%20Venflow.Table%601.GetProxiedEntity%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L412\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_GetProxiedEntity_\" data-uid=\"Venflow.Table`1.GetProxiedEntity*\"></a>\n  <h4 id=\"Venflow_Table_1_GetProxiedEntity\" data-uid=\"Venflow.Table`1.GetProxiedEntity\">GetProxiedEntity()</h4>\n  <div class=\"markdown level1 summary\"><p>Constructs a new proxied instance of the <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> entity.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public TEntity GetProxiedEntity()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><p>A <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instance which will be change tracked.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_GetProxiedEntity_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Any property which should be change tracked on an entity has to be marked virtual.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_Insert.md&amp;value=---%0Auid%3A%20Venflow.Table%601.Insert%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L368\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_Insert_\" data-uid=\"Venflow.Table`1.Insert*\"></a>\n  <h4 id=\"Venflow_Table_1_Insert\" data-uid=\"Venflow.Table`1.Insert\">Insert()</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new insert command.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseInsertRelationBuilder&lt;TEntity, TEntity&gt; Insert()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseInsertRelationBuilder-2.html\">IBaseInsertRelationBuilder</a>&lt;TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a insert command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_Insert_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>The command will be automatically disposed the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_InsertAsync__0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.InsertAsync(%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L111\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_InsertAsync_\" data-uid=\"Venflow.Table`1.InsertAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_InsertAsync__0_CancellationToken_\" data-uid=\"Venflow.Table`1.InsertAsync(`0,CancellationToken)\">InsertAsync(TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously inserts the entity and all entities reachable from the current provided instance into the current table.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;int&gt; InsertAsync(TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>A <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instance representing the row, which will be inserted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows inserted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_InsertAsync__0_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;INSERT INTO table (foo, bar) VALUES ('foo', 'bar')&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_InsertAsync_IList__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.InsertAsync(IList%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L138\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_InsertAsync_\" data-uid=\"Venflow.Table`1.InsertAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_InsertAsync_IList__0__CancellationToken_\" data-uid=\"Venflow.Table`1.InsertAsync(IList{`0},CancellationToken)\">InsertAsync(IList&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously inserts a list of entities and all entities reachable from the current provided instances into the current table.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;int&gt; InsertAsync(IList&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A list of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instance representing the rows, which will be inserted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows inserted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_InsertAsync_IList__0__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;INSERT INTO table (foo, bar) VALUES ('foo', 'bar'), ('foo', 'bar')&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_InsertAsync_Venflow_Commands_IInsertCommand__0___0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.InsertAsync(Venflow.Commands.IInsertCommand%7B%600%7D%2C%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L124\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_InsertAsync_\" data-uid=\"Venflow.Table`1.InsertAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_InsertAsync_Venflow_Commands_IInsertCommand__0___0_CancellationToken_\" data-uid=\"Venflow.Table`1.InsertAsync(Venflow.Commands.IInsertCommand{`0},`0,CancellationToken)\">InsertAsync(IInsertCommand&lt;TEntity&gt;, TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously inserts the entity and all entities reachable from the current provided instance into the current table.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;int&gt; InsertAsync(IInsertCommand&lt;TEntity&gt; insertCommand, TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IInsertCommand-1.html\">IInsertCommand</a>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">insertCommand</span></td>\n        <td><p>A <a class=\"xref\" href=\"Venflow.Commands.IInsertCommand-1.html\">IInsertCommand&lt;TEntity&gt;</a> instance which contains all the settings for this operation.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>A <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instance representing the row, which will be inserted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows inserted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_InsertAsync_Venflow_Commands_IInsertCommand__0___0_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;INSERT INTO table (foo, bar) VALUES ('foo', 'bar')&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_InsertAsync_Venflow_Commands_IInsertCommand__0__List__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.InsertAsync(Venflow.Commands.IInsertCommand%7B%600%7D%2CList%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L152\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_InsertAsync_\" data-uid=\"Venflow.Table`1.InsertAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_InsertAsync_Venflow_Commands_IInsertCommand__0__List__0__CancellationToken_\" data-uid=\"Venflow.Table`1.InsertAsync(Venflow.Commands.IInsertCommand{`0},List{`0},CancellationToken)\">InsertAsync(IInsertCommand&lt;TEntity&gt;, List&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously inserts a list of entities and all entities reachable from the current provided instances into the current table.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;int&gt; InsertAsync(IInsertCommand&lt;TEntity&gt; insertCommand, List&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IInsertCommand-1.html\">IInsertCommand</a>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">insertCommand</span></td>\n        <td><p>A <a class=\"xref\" href=\"Venflow.Commands.IInsertCommand-1.html\">IInsertCommand&lt;TEntity&gt;</a> instance which contains all the settings for this operation.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">List</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A list of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instance representing the rows, which will be inserted.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;<a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int32\">Int32</a>&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the number of rows inserted.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_InsertAsync_Venflow_Commands_IInsertCommand__0__List__0__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;INSERT INTO table (foo, bar) VALUES ('foo', 'bar'), ('foo', 'bar')&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_TrackChanges__0__.md&amp;value=---%0Auid%3A%20Venflow.Table%601.TrackChanges(%600%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L421\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_TrackChanges_\" data-uid=\"Venflow.Table`1.TrackChanges*\"></a>\n  <h4 id=\"Venflow_Table_1_TrackChanges__0__\" data-uid=\"Venflow.Table`1.TrackChanges(`0@)\">TrackChanges(ref TEntity)</h4>\n  <div class=\"markdown level1 summary\"><p>Starts tracking the provided <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public void TrackChanges(ref TEntity entity)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>A <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instance which will be change tracked.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_TrackChanges__0___remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Any property which should be change tracked on an entity has to be marked virtual.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_TrackChanges_IList__0__.md&amp;value=---%0Auid%3A%20Venflow.Table%601.TrackChanges(IList%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L433\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_TrackChanges_\" data-uid=\"Venflow.Table`1.TrackChanges*\"></a>\n  <h4 id=\"Venflow_Table_1_TrackChanges_IList__0__\" data-uid=\"Venflow.Table`1.TrackChanges(IList{`0})\">TrackChanges(IList&lt;TEntity&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Starts tracking the provided <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code>'s.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public void TrackChanges(IList&lt;TEntity&gt; entities)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A set of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instances which will be change tracked.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_TrackChanges_IList__0___remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;UPDATE table SET foo = 'foo' WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_TruncateAsync_Venflow_Enums_ForeignTruncateOptions_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.TruncateAsync(Venflow.Enums.ForeignTruncateOptions%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L35\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_TruncateAsync_\" data-uid=\"Venflow.Table`1.TruncateAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_TruncateAsync_Venflow_Enums_ForeignTruncateOptions_CancellationToken_\" data-uid=\"Venflow.Table`1.TruncateAsync(Venflow.Enums.ForeignTruncateOptions,CancellationToken)\">TruncateAsync(ForeignTruncateOptions, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously truncates the current table with the provided options.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task TruncateAsync(ForeignTruncateOptions foreignOptions, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Enums.ForeignTruncateOptions.html\">ForeignTruncateOptions</a></td>\n        <td><span class=\"parametername\">foreignOptions</span></td>\n        <td><p>Specifies how the truncate operation should handle foreign tables.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_TruncateAsync_Venflow_Enums_ForeignTruncateOptions_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;TRUNCATE table [CASCADE|RESTRICT|NONE]&quot;.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_TruncateAsync_Venflow_Enums_IdentityTruncateOptions_Venflow_Enums_ForeignTruncateOptions_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.TruncateAsync(Venflow.Enums.IdentityTruncateOptions%2CVenflow.Enums.ForeignTruncateOptions%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L46\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_TruncateAsync_\" data-uid=\"Venflow.Table`1.TruncateAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_TruncateAsync_Venflow_Enums_IdentityTruncateOptions_Venflow_Enums_ForeignTruncateOptions_CancellationToken_\" data-uid=\"Venflow.Table`1.TruncateAsync(Venflow.Enums.IdentityTruncateOptions,Venflow.Enums.ForeignTruncateOptions,CancellationToken)\">TruncateAsync(IdentityTruncateOptions, ForeignTruncateOptions, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously truncates the current table with the provided options.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task TruncateAsync(IdentityTruncateOptions truncateOptions = default(IdentityTruncateOptions), ForeignTruncateOptions foreignOptions = default(ForeignTruncateOptions), CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Enums.IdentityTruncateOptions.html\">IdentityTruncateOptions</a></td>\n        <td><span class=\"parametername\">truncateOptions</span></td>\n        <td><p>Specifies how the truncate operation should handle identities in the table.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Enums.ForeignTruncateOptions.html\">ForeignTruncateOptions</a></td>\n        <td><span class=\"parametername\">foreignOptions</span></td>\n        <td><p>Specifies how the truncate operation should handle foreign tables.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_TruncateAsync_Venflow_Enums_IdentityTruncateOptions_Venflow_Enums_ForeignTruncateOptions_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;TRUNCATE table [RESTART IDENTITY|CONTINUE IDENTITY|NONE] [CASCADE|RESTRICT|NONE]&quot;.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_Update.md&amp;value=---%0Auid%3A%20Venflow.Table%601.Update%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L391\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_Update_\" data-uid=\"Venflow.Table`1.Update*\"></a>\n  <h4 id=\"Venflow_Table_1_Update\" data-uid=\"Venflow.Table`1.Update\">Update()</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new update command.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IUpdateCommandBuilder&lt;TEntity&gt; Update()</code></pre>\n  </div>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IUpdateCommandBuilder-1.html\">IUpdateCommandBuilder</a>&lt;TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a update command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_Update_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.Update(System.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L399\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_Update_\" data-uid=\"Venflow.Table`1.Update*\"></a>\n  <h4 id=\"Venflow_Table_1_Update_System_Boolean_\" data-uid=\"Venflow.Table`1.Update(System.Boolean)\">Update(Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new update command.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IUpdateCommandBuilder&lt;TEntity&gt; Update(bool disposeCommand)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IUpdateCommandBuilder-1.html\">IUpdateCommandBuilder</a>&lt;TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a update command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_UpdateAsync__0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.UpdateAsync(%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L270\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_UpdateAsync_\" data-uid=\"Venflow.Table`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_UpdateAsync__0_CancellationToken_\" data-uid=\"Venflow.Table`1.UpdateAsync(`0,CancellationToken)\">UpdateAsync(TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates the provided entity by its defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask UpdateAsync(TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>A <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instance representing the row, which will be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_UpdateAsync__0_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;UPDATE table SET foo = 'foo' WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_UpdateAsync__0___CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.UpdateAsync(%600%5B%5D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L336\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_UpdateAsync_\" data-uid=\"Venflow.Table`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_UpdateAsync__0___CancellationToken_\" data-uid=\"Venflow.Table`1.UpdateAsync(`0[],CancellationToken)\">UpdateAsync(TEntity[], CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates the provided entity by its defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask UpdateAsync(TEntity[] entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td>TEntity[]</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A set of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instances representing the rows, which will be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_UpdateAsync__0___CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;UPDATE table SET foo = 'foo' WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_UpdateAsync_IEnumerable__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.UpdateAsync(IEnumerable%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L300\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_UpdateAsync_\" data-uid=\"Venflow.Table`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_UpdateAsync_IEnumerable__0__CancellationToken_\" data-uid=\"Venflow.Table`1.UpdateAsync(IEnumerable{`0},CancellationToken)\">UpdateAsync(IEnumerable&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates the provided entity by its defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask UpdateAsync(IEnumerable&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IEnumerable</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A set of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instances representing the rows, which will be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_UpdateAsync_IEnumerable__0__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;UPDATE table SET foo = 'foo' WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_UpdateAsync_IList__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.UpdateAsync(IList%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L324\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_UpdateAsync_\" data-uid=\"Venflow.Table`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_UpdateAsync_IList__0__CancellationToken_\" data-uid=\"Venflow.Table`1.UpdateAsync(IList{`0},CancellationToken)\">UpdateAsync(IList&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates the provided entity by its defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask UpdateAsync(IList&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A set of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instances representing the rows, which will be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_UpdateAsync_IList__0__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;UPDATE table SET foo = 'foo' WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_UpdateAsync_List__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.UpdateAsync(List%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L312\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_UpdateAsync_\" data-uid=\"Venflow.Table`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_UpdateAsync_List__0__CancellationToken_\" data-uid=\"Venflow.Table`1.UpdateAsync(List{`0},CancellationToken)\">UpdateAsync(List&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates the provided entity by its defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask UpdateAsync(List&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">List</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A set of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instances representing the rows, which will be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_UpdateAsync_List__0__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;UPDATE table SET foo = 'foo' WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_UpdateAsync_Venflow_Commands_IUpdateCommand__0___0_CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.UpdateAsync(Venflow.Commands.IUpdateCommand%7B%600%7D%2C%600%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L283\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_UpdateAsync_\" data-uid=\"Venflow.Table`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_UpdateAsync_Venflow_Commands_IUpdateCommand__0___0_CancellationToken_\" data-uid=\"Venflow.Table`1.UpdateAsync(Venflow.Commands.IUpdateCommand{`0},`0,CancellationToken)\">UpdateAsync(IUpdateCommand&lt;TEntity&gt;, TEntity, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates the provided entity by its defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask UpdateAsync(IUpdateCommand&lt;TEntity&gt; updateCommand, TEntity entity, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IUpdateCommand-1.html\">IUpdateCommand</a>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">updateCommand</span></td>\n        <td><p>A <a class=\"xref\" href=\"Venflow.Commands.IUpdateCommand-1.html\">IUpdateCommand&lt;TEntity&gt;</a> instance which contains all the settings for this operation.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">TEntity</span></td>\n        <td><span class=\"parametername\">entity</span></td>\n        <td><p>A <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instance representing the row, which will be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_UpdateAsync_Venflow_Commands_IUpdateCommand__0___0_CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;UPDATE table SET foo = 'foo' WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1_UpdateAsync_Venflow_Commands_IUpdateCommand__0__IEnumerable__0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.Table%601.UpdateAsync(Venflow.Commands.IUpdateCommand%7B%600%7D%2CIEnumerable%7B%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L349\">View Source</a>\n  </span>\n  <a id=\"Venflow_Table_1_UpdateAsync_\" data-uid=\"Venflow.Table`1.UpdateAsync*\"></a>\n  <h4 id=\"Venflow_Table_1_UpdateAsync_Venflow_Commands_IUpdateCommand__0__IEnumerable__0__CancellationToken_\" data-uid=\"Venflow.Table`1.UpdateAsync(Venflow.Commands.IUpdateCommand{`0},IEnumerable{`0},CancellationToken)\">UpdateAsync(IUpdateCommand&lt;TEntity&gt;, IEnumerable&lt;TEntity&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously updates the provided entity by its defined primary keys.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public ValueTask UpdateAsync(IUpdateCommand&lt;TEntity&gt; updateCommand, IEnumerable&lt;TEntity&gt; entities, CancellationToken cancellationToken = null)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IUpdateCommand-1.html\">IUpdateCommand</a>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">updateCommand</span></td>\n        <td><p>A <a class=\"xref\" href=\"Venflow.Commands.IUpdateCommand-1.html\">IUpdateCommand&lt;TEntity&gt;</a> instance which contains all the settings for this operation.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">IEnumerable</span>&lt;TEntity&gt;</td>\n        <td><span class=\"parametername\">entities</span></td>\n        <td><p>A set of <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code> instances representing the rows, which will be updated.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">ValueTask</span></td>\n        <td><p>A task representing the asynchronous operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_Table_1_UpdateAsync_Venflow_Commands_IUpdateCommand__0__IEnumerable__0__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method represents the following SQL statement &quot;UPDATE table SET foo = 'foo' WHERE pk = 0&quot;. This API is using parameterized commands.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Table_1.md&amp;value=---%0Auid%3A%20Venflow.Table%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/Table.cs/#L19\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.TableBase-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class TableBase&lt;TEntity&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class TableBase&lt;TEntity&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.TableBase`1\">\n  \n  \n  <h1 id=\"Venflow_TableBase_1\" data-uid=\"Venflow.TableBase`1\" class=\"text-break\">Class TableBase&lt;TEntity&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"><p>A <a class=\"xref\" href=\"Venflow.TableBase-1.html\">TableBase&lt;TEntity&gt;</a> is used to perform query operations of all sorts.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">TableBase&lt;TEntity&gt;</span></div>\n      <div class=\"level2\"><a class=\"xref\" href=\"Venflow.Table-1.html\">Table&lt;TEntity&gt;</a></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_TableBase_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public class TableBase&lt;TEntity&gt; : object where TEntity : class, new()</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TEntity</span></td>\n        <td><p>The entity which represents a table in the Database.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryAsync__1_Venflow_Commands_IQueryCommand__0___0__CancellationToken_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryAsync%60%601(Venflow.Commands.IQueryCommand%7B%600%2C%60%600%7D%2CCancellationToken)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L37\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryAsync_\" data-uid=\"Venflow.TableBase`1.QueryAsync*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryAsync__1_Venflow_Commands_IQueryCommand__0___0__CancellationToken_\" data-uid=\"Venflow.TableBase`1.QueryAsync``1(Venflow.Commands.IQueryCommand{`0,``0},CancellationToken)\">QueryAsync&lt;TReturn&gt;(IQueryCommand&lt;TEntity, TReturn&gt;, CancellationToken)</h4>\n  <div class=\"markdown level1 summary\"><p>Asynchronously queries one or more entities with the configured joins.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public Task&lt;TReturn&gt; QueryAsync&lt;TReturn&gt;(IQueryCommand&lt;TEntity, TReturn&gt; queryCommand, CancellationToken cancellationToken = null)\n    where TReturn : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IQueryCommand-2.html\">IQueryCommand</a>&lt;TEntity, TReturn&gt;</td>\n        <td><span class=\"parametername\">queryCommand</span></td>\n        <td><p>A <a class=\"xref\" href=\"Venflow.Commands.IQueryCommand-2.html\">IQueryCommand&lt;TEntity, TReturn&gt;</a> instance representing the query which will be performed.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">CancellationToken</span></td>\n        <td><span class=\"parametername\">cancellationToken</span></td>\n        <td><p>The cancellation token, which is used to cancel the operation.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Task</span>&lt;TReturn&gt;</td>\n        <td><p>A task representing the asynchronous operation, with the result of the executed query.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TReturn</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_TableBase_1_QueryAsync__1_Venflow_Commands_IQueryCommand__0___0__CancellationToken__remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>This method could represents the following SQL statement &quot;SELECT * FROM table&quot;.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch_Expression_Func__0_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch(Expression%7BFunc%7B%600%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L204\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch_Expression_Func__0_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryBatch(Expression{Func{`0,FormattableString}},System.Boolean)\">QueryBatch(Expression&lt;Func&lt;TEntity, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch(Expression&lt;Func&lt;TEntity, FormattableString&gt;&gt; sql, bool disposeCommand = true)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch_System_String_IList_NpgsqlParameter__.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch(System.String%2CIList%7BNpgsqlParameter%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L296\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch_System_String_IList_NpgsqlParameter__\" data-uid=\"Venflow.TableBase`1.QueryBatch(System.String,IList{NpgsqlParameter})\">QueryBatch(String, IList&lt;NpgsqlParameter&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned.<strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_FormattableString_System_Boolean_\">QueryInterpolatedSingle(FormattableString, Boolean)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch(string sql, IList&lt;NpgsqlParameter&gt; parameters)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;<span class=\"xref\">NpgsqlParameter</span>&gt;</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>A set of <see cref=\"!:NpgsqlParameter\"></see> which contain parameters for the <code data-dev-comment-type=\"paramref\" class=\"paramref\">sql</code> command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_TableBase_1_QueryBatch_System_String_IList_NpgsqlParameter___remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>The command will be automatically disposed the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch_System_String_NpgsqlParameter___.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch(System.String%2CNpgsqlParameter%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L286\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch_System_String_NpgsqlParameter___\" data-uid=\"Venflow.TableBase`1.QueryBatch(System.String,NpgsqlParameter[])\">QueryBatch(String, NpgsqlParameter[])</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned.<strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_FormattableString_System_Boolean_\">QueryInterpolatedSingle(FormattableString, Boolean)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch(string sql, params NpgsqlParameter[] parameters)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">NpgsqlParameter</span>[]</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>A set of <see cref=\"!:NpgsqlParameter\"></see> which contain parameters for the <code data-dev-comment-type=\"paramref\" class=\"paramref\">sql</code> command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_TableBase_1_QueryBatch_System_String_NpgsqlParameter____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>The command will be automatically disposed the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch_System_String_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch(System.String%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L195\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch_System_String_System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryBatch(System.String,System.Boolean)\">QueryBatch(String, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does not support string interpolation!</strong> If you need to pass parameters with the query, either use <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_System_String_NpgsqlParameter___\">QuerySingle(String, NpgsqlParameter[])</a> or <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_FormattableString_System_Boolean_\">QueryInterpolatedSingle(FormattableString, Boolean)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch(string sql, bool disposeCommand = true)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch_System_String_System_Boolean_NpgsqlParameter___.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch(System.String%2CSystem.Boolean%2CNpgsqlParameter%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L306\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch_System_String_System_Boolean_NpgsqlParameter___\" data-uid=\"Venflow.TableBase`1.QueryBatch(System.String,System.Boolean,NpgsqlParameter[])\">QueryBatch(String, Boolean, NpgsqlParameter[])</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_FormattableString_System_Boolean_\">QueryInterpolatedSingle(FormattableString, Boolean)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch(string sql, bool disposeCommand, params NpgsqlParameter[] parameters)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">NpgsqlParameter</span>[]</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>A set of <see cref=\"!:NpgsqlParameter\"></see> which contain parameters for the <code data-dev-comment-type=\"paramref\" class=\"paramref\">sql</code> command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch__1_Expression_Func__0___0_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch%60%601(Expression%7BFunc%7B%600%2C%60%600%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L213\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch__1_Expression_Func__0___0_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryBatch``1(Expression{Func{`0,``0,FormattableString}},System.Boolean)\">QueryBatch&lt;TOne&gt;(Expression&lt;Func&lt;TEntity, TOne, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne&gt;(Expression&lt;Func&lt;TEntity, TOne, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch__2_Expression_Func__0___0___1_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch%60%602(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L222\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch__2_Expression_Func__0___0___1_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryBatch``2(Expression{Func{`0,``0,``1,FormattableString}},System.Boolean)\">QueryBatch&lt;TOne, Two&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, Two&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch__3_Expression_Func__0___0___1___2_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch%60%603(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L231\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch__3_Expression_Func__0___0___1___2_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryBatch``3(Expression{Func{`0,``0,``1,``2,FormattableString}},System.Boolean)\">QueryBatch&lt;TOne, Two, TThree&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, Two, TThree&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch__4_Expression_Func__0___0___1___2___3_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch%60%604(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L240\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch__4_Expression_Func__0___0___1___2___3_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryBatch``4(Expression{Func{`0,``0,``1,``2,``3,FormattableString}},System.Boolean)\">QueryBatch&lt;TOne, Two, TThree, TFour&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, Two, TThree, TFour&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()\n    where TFour : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, TFour, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch__5_Expression_Func__0___0___1___2___3___4_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch%60%605(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L249\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch__5_Expression_Func__0___0___1___2___3___4_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryBatch``5(Expression{Func{`0,``0,``1,``2,``3,``4,FormattableString}},System.Boolean)\">QueryBatch&lt;TOne, Two, TThree, TFour, TFive&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, Two, TThree, TFour, TFive&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, TFour, TFive, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch%60%606(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L258\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryBatch``6(Expression{Func{`0,``0,``1,``2,``3,``4,``5,FormattableString}},System.Boolean)\">QueryBatch&lt;TOne, Two, TThree, TFour, TFive, TSix&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, Two, TThree, TFour, TFive, TSix&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch%60%607(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2C%60%606%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L267\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryBatch``7(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,FormattableString}},System.Boolean)\">QueryBatch&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()\n    where TSeven : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSeven</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryBatch__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryBatch%60%608(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2C%60%606%2C%60%607%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L276\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryBatch_\" data-uid=\"Venflow.TableBase`1.QueryBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryBatch__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryBatch``8(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,``7,FormattableString}},System.Boolean)\">QueryBatch&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryBatch&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()\n    where TSeven : class, new()\n    where TEight : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSeven</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TEight</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryInterpolatedBatch_FormattableString_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryInterpolatedBatch(FormattableString%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L315\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryInterpolatedBatch_\" data-uid=\"Venflow.TableBase`1.QueryInterpolatedBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryInterpolatedBatch_FormattableString_System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryInterpolatedBatch(FormattableString,System.Boolean)\">QueryInterpolatedBatch(FormattableString, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryInterpolatedBatch(FormattableString sql, bool disposeCommand = true)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">FormattableString</span></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. <strong>You should only add parameters trough string interpolation.</strong></p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryInterpolatedBatch_Venflow_FormattableSqlStringBuilder_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryInterpolatedBatch(Venflow.FormattableSqlStringBuilder%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L324\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryInterpolatedBatch_\" data-uid=\"Venflow.TableBase`1.QueryInterpolatedBatch*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryInterpolatedBatch_Venflow_FormattableSqlStringBuilder_System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryInterpolatedBatch(Venflow.FormattableSqlStringBuilder,System.Boolean)\">QueryInterpolatedBatch(FormattableSqlStringBuilder, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, List&lt;TEntity&gt;&gt; QueryInterpolatedBatch(FormattableSqlStringBuilder sql, bool disposeCommand = true)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.FormattableSqlStringBuilder.html\">FormattableSqlStringBuilder</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A <a class=\"xref\" href=\"Venflow.FormattableSqlStringBuilder.html\">FormattableSqlStringBuilder</a> instance containing the SQL statement.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, <span class=\"xref\">List</span>&lt;TEntity&gt;&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryInterpolatedSingle_FormattableString_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryInterpolatedSingle(FormattableString%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L177\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryInterpolatedSingle_\" data-uid=\"Venflow.TableBase`1.QueryInterpolatedSingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryInterpolatedSingle_FormattableString_System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryInterpolatedSingle(FormattableString,System.Boolean)\">QueryInterpolatedSingle(FormattableString, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QueryInterpolatedSingle(FormattableString sql, bool disposeCommand = true)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">FormattableString</span></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QueryInterpolatedSingle_Venflow_FormattableSqlStringBuilder_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QueryInterpolatedSingle(Venflow.FormattableSqlStringBuilder%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L186\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QueryInterpolatedSingle_\" data-uid=\"Venflow.TableBase`1.QueryInterpolatedSingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QueryInterpolatedSingle_Venflow_FormattableSqlStringBuilder_System_Boolean_\" data-uid=\"Venflow.TableBase`1.QueryInterpolatedSingle(Venflow.FormattableSqlStringBuilder,System.Boolean)\">QueryInterpolatedSingle(FormattableSqlStringBuilder, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QueryInterpolatedSingle(FormattableSqlStringBuilder sql, bool disposeCommand = true)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.FormattableSqlStringBuilder.html\">FormattableSqlStringBuilder</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A <a class=\"xref\" href=\"Venflow.FormattableSqlStringBuilder.html\">FormattableSqlStringBuilder</a> instance containing the SQL statement.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle_Expression_Func__0_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle(Expression%7BFunc%7B%600%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L66\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle_Expression_Func__0_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QuerySingle(Expression{Func{`0,FormattableString}},System.Boolean)\">QuerySingle(Expression&lt;Func&lt;TEntity, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle(Expression&lt;Func&lt;TEntity, FormattableString&gt;&gt; sql, bool disposeCommand = true)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle_System_String_IList_NpgsqlParameter__.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle(System.String%2CIList%7BNpgsqlParameter%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L158\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle_System_String_IList_NpgsqlParameter__\" data-uid=\"Venflow.TableBase`1.QuerySingle(System.String,IList{NpgsqlParameter})\">QuerySingle(String, IList&lt;NpgsqlParameter&gt;)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_FormattableString_System_Boolean_\">QueryInterpolatedSingle(FormattableString, Boolean)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle(string sql, IList&lt;NpgsqlParameter&gt; parameters)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">IList</span>&lt;<span class=\"xref\">NpgsqlParameter</span>&gt;</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>A set of <see cref=\"!:NpgsqlParameter\"></see> which contain parameters for the <code data-dev-comment-type=\"paramref\" class=\"paramref\">sql</code> command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_TableBase_1_QuerySingle_System_String_IList_NpgsqlParameter___remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>The command will be automatically disposed the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle_System_String_NpgsqlParameter___.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle(System.String%2CNpgsqlParameter%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L148\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle_System_String_NpgsqlParameter___\" data-uid=\"Venflow.TableBase`1.QuerySingle(System.String,NpgsqlParameter[])\">QuerySingle(String, NpgsqlParameter[])</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_FormattableString_System_Boolean_\">QueryInterpolatedSingle(FormattableString, Boolean)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle(string sql, params NpgsqlParameter[] parameters)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">NpgsqlParameter</span>[]</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>A set of <see cref=\"!:NpgsqlParameter\"></see> which contain parameters for the <code data-dev-comment-type=\"paramref\" class=\"paramref\">sql</code> command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_TableBase_1_QuerySingle_System_String_NpgsqlParameter____remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>The command will be automatically disposed the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle_System_String_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle(System.String%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L57\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle_System_String_System_Boolean_\" data-uid=\"Venflow.TableBase`1.QuerySingle(System.String,System.Boolean)\">QuerySingle(String, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does not support string interpolation!</strong> If you need to pass parameters with the query, either use <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_System_String_NpgsqlParameter___\">QuerySingle(String, NpgsqlParameter[])</a> or <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_FormattableString_System_Boolean_\">QueryInterpolatedSingle(FormattableString, Boolean)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle(string sql, bool disposeCommand = true)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle_System_String_System_Boolean_NpgsqlParameter___.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle(System.String%2CSystem.Boolean%2CNpgsqlParameter%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L168\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle_System_String_System_Boolean_NpgsqlParameter___\" data-uid=\"Venflow.TableBase`1.QuerySingle(System.String,System.Boolean,NpgsqlParameter[])\">QuerySingle(String, Boolean, NpgsqlParameter[])</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <a class=\"xref\" href=\"Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_FormattableString_System_Boolean_\">QueryInterpolatedSingle(FormattableString, Boolean)</a>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle(string sql, bool disposeCommand, params NpgsqlParameter[] parameters)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">NpgsqlParameter</span>[]</td>\n        <td><span class=\"parametername\">parameters</span></td>\n        <td><p>A set of <see cref=\"!:NpgsqlParameter\"></see> which contain parameters for the <code data-dev-comment-type=\"paramref\" class=\"paramref\">sql</code> command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle__1_Expression_Func__0___0_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle%60%601(Expression%7BFunc%7B%600%2C%60%600%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L75\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle__1_Expression_Func__0___0_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QuerySingle``1(Expression{Func{`0,``0,FormattableString}},System.Boolean)\">QuerySingle&lt;TOne&gt;(Expression&lt;Func&lt;TEntity, TOne, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne&gt;(Expression&lt;Func&lt;TEntity, TOne, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle__2_Expression_Func__0___0___1_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle%60%602(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L84\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle__2_Expression_Func__0___0___1_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QuerySingle``2(Expression{Func{`0,``0,``1,FormattableString}},System.Boolean)\">QuerySingle&lt;TOne, Two&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, Two&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle__3_Expression_Func__0___0___1___2_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle%60%603(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L93\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle__3_Expression_Func__0___0___1___2_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QuerySingle``3(Expression{Func{`0,``0,``1,``2,FormattableString}},System.Boolean)\">QuerySingle&lt;TOne, Two, TThree&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, Two, TThree&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle__4_Expression_Func__0___0___1___2___3_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle%60%604(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L102\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle__4_Expression_Func__0___0___1___2___3_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QuerySingle``4(Expression{Func{`0,``0,``1,``2,``3,FormattableString}},System.Boolean)\">QuerySingle&lt;TOne, Two, TThree, TFour&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, Two, TThree, TFour&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()\n    where TFour : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, TFour, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle__5_Expression_Func__0___0___1___2___3___4_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle%60%605(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L111\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle__5_Expression_Func__0___0___1___2___3___4_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QuerySingle``5(Expression{Func{`0,``0,``1,``2,``3,``4,FormattableString}},System.Boolean)\">QuerySingle&lt;TOne, Two, TThree, TFour, TFive&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, Two, TThree, TFour, TFive&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, TFour, TFive, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle%60%606(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L120\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QuerySingle``6(Expression{Func{`0,``0,``1,``2,``3,``4,``5,FormattableString}},System.Boolean)\">QuerySingle&lt;TOne, Two, TThree, TFour, TFive, TSix&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, Two, TThree, TFour, TFive, TSix&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle%60%607(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2C%60%606%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L129\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QuerySingle``7(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,FormattableString}},System.Boolean)\">QuerySingle&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()\n    where TSeven : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSeven</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1_QuerySingle__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601.QuerySingle%60%608(Expression%7BFunc%7B%600%2C%60%600%2C%60%601%2C%60%602%2C%60%603%2C%60%604%2C%60%605%2C%60%606%2C%60%607%2CFormattableString%7D%7D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L138\">View Source</a>\n  </span>\n  <a id=\"Venflow_TableBase_1_QuerySingle_\" data-uid=\"Venflow.TableBase`1.QuerySingle*\"></a>\n  <h4 id=\"Venflow_TableBase_1_QuerySingle__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___System_Boolean_\" data-uid=\"Venflow.TableBase`1.QuerySingle``8(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,``7,FormattableString}},System.Boolean)\">QuerySingle&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString&gt;&gt;, Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public IBaseQueryRelationBuilder&lt;TEntity, TEntity, TEntity&gt; QuerySingle&lt;TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight&gt;(Expression&lt;Func&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString&gt;&gt; sql, bool disposeCommand = true)\n    where TOne : class, new()\n    where Two : class, new()\n    where TThree : class, new()\n    where TFour : class, new()\n    where TFive : class, new()\n    where TSix : class, new()\n    where TSeven : class, new()\n    where TEight : class, new()</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">Expression</span>&lt;<span class=\"xref\">Func</span>&lt;TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, <span class=\"xref\">FormattableString</span>&gt;&gt;</td>\n        <td><span class=\"parametername\">sql</span></td>\n        <td><p>A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</p>\n</td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">disposeCommand</span></td>\n        <td><p>Indicates whether or not to dispose the underlying <see cref=\"!:NpgsqlCommand\"></see> after the command got executed once.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"returns\">Returns</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\">IBaseQueryRelationBuilder</a>&lt;TEntity, TEntity, TEntity&gt;</td>\n        <td><p>A Fluent API Builder for a query command.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">TOne</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">Two</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TThree</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFour</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TFive</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSix</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TSeven</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"parametername\">TEight</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TableBase_1.md&amp;value=---%0Auid%3A%20Venflow.TableBase%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TableBase.cs/#L17\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Tests.Keys.Key-1.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Struct Key&lt;T&gt;\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Struct Key&lt;T&gt;\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Tests.Keys.Key`1\">\n  \n  \n  <h1 id=\"Venflow_Tests_Keys_Key_1\" data-uid=\"Venflow.Tests.Keys.Key`1\" class=\"text-break\">Struct Key&lt;T&gt;\n  </h1>\n  <div class=\"markdown level0 summary\"></div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.Tests.Keys.html\">Venflow.Tests.Keys</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.Tests.Keys.dll</h6>\n  <h5 id=\"Venflow_Tests_Keys_Key_1_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public struct Key&lt;T&gt;</code></pre>\n  </div>\n  <h5 class=\"typeParameters\">Type Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"parametername\">T</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_Tests_Keys_Key_1.md&amp;value=---%0Auid%3A%20Venflow.Tests.Keys.Key%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow.Tests.Keys/Key.cs/#L5\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.Tests.Keys.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Namespace Venflow.Tests.Keys\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Namespace Venflow.Tests.Keys\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.Tests.Keys\">\n  \n  <h1 id=\"Venflow_Tests_Keys\" data-uid=\"Venflow.Tests.Keys\" class=\"text-break\">Namespace Venflow.Tests.Keys\n  </h1>\n  <div class=\"markdown level0 summary\"></div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"markdown level0 remarks\"></div>\n    <h3 id=\"structs\">Structs\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.Tests.Keys.Key-1.html\">Key&lt;T&gt;</a></h4>\n      <section></section>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.TypeArgumentException.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class TypeArgumentException\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class TypeArgumentException\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.TypeArgumentException\">\n  \n  \n  <h1 id=\"Venflow_TypeArgumentException\" data-uid=\"Venflow.TypeArgumentException\" class=\"text-break\">Class TypeArgumentException\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Represents an error which occur when an invalid type argument gets passed to a generic method.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">TypeArgumentException</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_TypeArgumentException_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public class TypeArgumentException : Exception</code></pre>\n  </div>\n  <h3 id=\"constructors\">Constructors\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TypeArgumentException__ctor_System_String_.md&amp;value=---%0Auid%3A%20Venflow.TypeArgumentException.%23ctor(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TypeArgumentException.cs/#L12\">View Source</a>\n  </span>\n  <a id=\"Venflow_TypeArgumentException__ctor_\" data-uid=\"Venflow.TypeArgumentException.#ctor*\"></a>\n  <h4 id=\"Venflow_TypeArgumentException__ctor_System_String_\" data-uid=\"Venflow.TypeArgumentException.#ctor(System.String)\">TypeArgumentException(String)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public TypeArgumentException(string message)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">message</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TypeArgumentException__ctor_System_String_Exception_.md&amp;value=---%0Auid%3A%20Venflow.TypeArgumentException.%23ctor(System.String%2CException)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TypeArgumentException.cs/#L18\">View Source</a>\n  </span>\n  <a id=\"Venflow_TypeArgumentException__ctor_\" data-uid=\"Venflow.TypeArgumentException.#ctor*\"></a>\n  <h4 id=\"Venflow_TypeArgumentException__ctor_System_String_Exception_\" data-uid=\"Venflow.TypeArgumentException.#ctor(System.String,Exception)\">TypeArgumentException(String, Exception)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public TypeArgumentException(string message, Exception inner)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">message</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><span class=\"xref\">Exception</span></td>\n        <td><span class=\"parametername\">inner</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TypeArgumentException__ctor_System_String_System_String_.md&amp;value=---%0Auid%3A%20Venflow.TypeArgumentException.%23ctor(System.String%2CSystem.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TypeArgumentException.cs/#L15\">View Source</a>\n  </span>\n  <a id=\"Venflow_TypeArgumentException__ctor_\" data-uid=\"Venflow.TypeArgumentException.#ctor*\"></a>\n  <h4 id=\"Venflow_TypeArgumentException__ctor_System_String_System_String_\" data-uid=\"Venflow.TypeArgumentException.#ctor(System.String,System.String)\">TypeArgumentException(String, String)</h4>\n  <div class=\"markdown level1 summary\"></div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public TypeArgumentException(string message, string type)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">message</span></td>\n        <td></td>\n      </tr>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\">String</a></td>\n        <td><span class=\"parametername\">type</span></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_TypeArgumentException.md&amp;value=---%0Auid%3A%20Venflow.TypeArgumentException%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/TypeArgumentException.cs/#L8\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.VenflowConfiguration.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Class VenflowConfiguration\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Class VenflowConfiguration\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow.VenflowConfiguration\">\n  \n  \n  <h1 id=\"Venflow_VenflowConfiguration\" data-uid=\"Venflow.VenflowConfiguration\" class=\"text-break\">Class VenflowConfiguration\n  </h1>\n  <div class=\"markdown level0 summary\"><p>Contains methods to globally set the configuration of Venflow.</p>\n</div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"inheritance\">\n    <h5>Inheritance</h5>\n    <div class=\"level0\"><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.object\">Object</a></div>\n    <div class=\"level1\"><span class=\"xref\">VenflowConfiguration</span></div>\n  </div>\n  <h6><strong>Namespace</strong>: <a class=\"xref\" href=\"Venflow.html\">Venflow</a></h6>\n  <h6><strong>Assembly</strong>: Venflow.dll</h6>\n  <h5 id=\"Venflow_VenflowConfiguration_syntax\">Syntax</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static class VenflowConfiguration : object</code></pre>\n  </div>\n  <h3 id=\"properties\">Properties\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowConfiguration_DynamicCacheExpirationTime.md&amp;value=---%0Auid%3A%20Venflow.VenflowConfiguration.DynamicCacheExpirationTime%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/VenflowConfiguration.cs/#L18\">View Source</a>\n  </span>\n  <a id=\"Venflow_VenflowConfiguration_DynamicCacheExpirationTime_\" data-uid=\"Venflow.VenflowConfiguration.DynamicCacheExpirationTime*\"></a>\n  <h4 id=\"Venflow_VenflowConfiguration_DynamicCacheExpirationTime\" data-uid=\"Venflow.VenflowConfiguration.DynamicCacheExpirationTime\">DynamicCacheExpirationTime</h4>\n  <div class=\"markdown level1 summary\"><p>Determines the expiration duration time of the underlying SQL Materializer Cache in seconds, defaults to 5 minutes.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static long DynamicCacheExpirationTime { get; }</code></pre>\n  </div>\n  <h5 class=\"propertyValue\">Property Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int64\">Int64</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h5 id=\"Venflow_VenflowConfiguration_DynamicCacheExpirationTime_remarks\">Remarks</h5>\n  <div class=\"markdown level1 remarks\"><p>Venflow uses the SQL used in queries to map a materializer to this specific query. This is faster, than using the returned columns and used relations as a cache key. If a query with the executed SQL won't be called again within the next <a class=\"xref\" href=\"Venflow.VenflowConfiguration.html#Venflow_VenflowConfiguration_DynamicCacheExpirationTime\">DynamicCacheExpirationTime</a>, it will be removed from the cache. However do note, that the materializer itself will not be removed from the cache.</p>\n</div>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowConfiguration_ShouldUseDeepValidation.md&amp;value=---%0Auid%3A%20Venflow.VenflowConfiguration.ShouldUseDeepValidation%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/VenflowConfiguration.cs/#L28\">View Source</a>\n  </span>\n  <a id=\"Venflow_VenflowConfiguration_ShouldUseDeepValidation_\" data-uid=\"Venflow.VenflowConfiguration.ShouldUseDeepValidation*\"></a>\n  <h4 id=\"Venflow_VenflowConfiguration_ShouldUseDeepValidation\" data-uid=\"Venflow.VenflowConfiguration.ShouldUseDeepValidation\">ShouldUseDeepValidation</h4>\n  <div class=\"markdown level1 summary\"><p>Determines whether or not Venflow will perform more extensive validation through out its usage. This setting will be set to <span class=\"xref\">true</span> automatically, if you are in DEBUG, otherwise <span class=\"xref\">false</span>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static bool ShouldUseDeepValidation { get; }</code></pre>\n  </div>\n  <h5 class=\"propertyValue\">Property Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowConfiguration_ThrowLoggedExceptions.md&amp;value=---%0Auid%3A%20Venflow.VenflowConfiguration.ThrowLoggedExceptions%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/VenflowConfiguration.cs/#L23\">View Source</a>\n  </span>\n  <a id=\"Venflow_VenflowConfiguration_ThrowLoggedExceptions_\" data-uid=\"Venflow.VenflowConfiguration.ThrowLoggedExceptions*\"></a>\n  <h4 id=\"Venflow_VenflowConfiguration_ThrowLoggedExceptions\" data-uid=\"Venflow.VenflowConfiguration.ThrowLoggedExceptions\">ThrowLoggedExceptions</h4>\n  <div class=\"markdown level1 summary\"><p>Determines whether or not Venflow will propagate exceptions to the caller of a command, if the exception is being logged. Defaults to <span class=\"xref\">true</span>.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static bool ThrowLoggedExceptions { get; set; }</code></pre>\n  </div>\n  <h5 class=\"propertyValue\">Property Value</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td></td>\n      </tr>\n    </tbody>\n  </table>\n  <h3 id=\"methods\">Methods\n  </h3>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowConfiguration_SetDynamicCacheExpirationTime_System_Int64_.md&amp;value=---%0Auid%3A%20Venflow.VenflowConfiguration.SetDynamicCacheExpirationTime(System.Int64)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/VenflowConfiguration.cs/#L50\">View Source</a>\n  </span>\n  <a id=\"Venflow_VenflowConfiguration_SetDynamicCacheExpirationTime_\" data-uid=\"Venflow.VenflowConfiguration.SetDynamicCacheExpirationTime*\"></a>\n  <h4 id=\"Venflow_VenflowConfiguration_SetDynamicCacheExpirationTime_System_Int64_\" data-uid=\"Venflow.VenflowConfiguration.SetDynamicCacheExpirationTime(System.Int64)\">SetDynamicCacheExpirationTime(Int64)</h4>\n  <div class=\"markdown level1 summary\"><p>Sets the value of the <a class=\"xref\" href=\"Venflow.VenflowConfiguration.html#Venflow_VenflowConfiguration_DynamicCacheExpirationTime\">DynamicCacheExpirationTime</a> property.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static void SetDynamicCacheExpirationTime(long expirationTime)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.int64\">Int64</a></td>\n        <td><span class=\"parametername\">expirationTime</span></td>\n        <td><p>The expiration duration time in seconds.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowConfiguration_SetDynamicCacheExpirationTime_TimeSpan_.md&amp;value=---%0Auid%3A%20Venflow.VenflowConfiguration.SetDynamicCacheExpirationTime(TimeSpan)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/VenflowConfiguration.cs/#L36\">View Source</a>\n  </span>\n  <a id=\"Venflow_VenflowConfiguration_SetDynamicCacheExpirationTime_\" data-uid=\"Venflow.VenflowConfiguration.SetDynamicCacheExpirationTime*\"></a>\n  <h4 id=\"Venflow_VenflowConfiguration_SetDynamicCacheExpirationTime_TimeSpan_\" data-uid=\"Venflow.VenflowConfiguration.SetDynamicCacheExpirationTime(TimeSpan)\">SetDynamicCacheExpirationTime(TimeSpan)</h4>\n  <div class=\"markdown level1 summary\"><p>Sets the value of the <a class=\"xref\" href=\"Venflow.VenflowConfiguration.html#Venflow_VenflowConfiguration_DynamicCacheExpirationTime\">DynamicCacheExpirationTime</a> property.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static void SetDynamicCacheExpirationTime(TimeSpan timeSpan)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><span class=\"xref\">TimeSpan</span></td>\n        <td><span class=\"parametername\">timeSpan</span></td>\n        <td><p>The expiration duration time.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n  <span class=\"small pull-right mobile-hide\">\n    <span class=\"divider\">|</span>\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowConfiguration_UseDeepValidation_System_Boolean_.md&amp;value=---%0Auid%3A%20Venflow.VenflowConfiguration.UseDeepValidation(System.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\">Improve this Doc</a>\n  </span>\n  <span class=\"small pull-right mobile-hide\">\n    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/VenflowConfiguration.cs/#L62\">View Source</a>\n  </span>\n  <a id=\"Venflow_VenflowConfiguration_UseDeepValidation_\" data-uid=\"Venflow.VenflowConfiguration.UseDeepValidation*\"></a>\n  <h4 id=\"Venflow_VenflowConfiguration_UseDeepValidation_System_Boolean_\" data-uid=\"Venflow.VenflowConfiguration.UseDeepValidation(System.Boolean)\">UseDeepValidation(Boolean)</h4>\n  <div class=\"markdown level1 summary\"><p>Changes the value of the <a class=\"xref\" href=\"Venflow.VenflowConfiguration.html#Venflow_VenflowConfiguration_ShouldUseDeepValidation\">ShouldUseDeepValidation</a> property.</p>\n</div>\n  <div class=\"markdown level1 conceptual\"></div>\n  <h5 class=\"decalaration\">Declaration</h5>\n  <div class=\"codewrapper\">\n    <pre><code class=\"lang-csharp hljs\">public static void UseDeepValidation(bool validation)</code></pre>\n  </div>\n  <h5 class=\"parameters\">Parameters</h5>\n  <table class=\"table table-bordered table-striped table-condensed\">\n    <thead>\n      <tr>\n        <th>Type</th>\n        <th>Name</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr>\n        <td><a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.boolean\">Boolean</a></td>\n        <td><span class=\"parametername\">validation</span></td>\n        <td><p>Determines if Venflow should use deep validation or not.</p>\n</td>\n      </tr>\n    </tbody>\n  </table>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/new/dev/apiSpec/new?filename=Venflow_VenflowConfiguration.md&amp;value=---%0Auid%3A%20Venflow.VenflowConfiguration%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/src/Venflow/Venflow/VenflowConfiguration.cs/#L10\" class=\"contribution-link\">View Source</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/Venflow.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Namespace Venflow\n   | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Namespace Venflow\n   | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Venflow\">\n  \n  <h1 id=\"Venflow\" data-uid=\"Venflow\" class=\"text-break\">Namespace Venflow\n  </h1>\n  <div class=\"markdown level0 summary\"></div>\n  <div class=\"markdown level0 conceptual\"></div>\n  <div class=\"markdown level0 remarks\"></div>\n    <h3 id=\"classes\">Classes\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.Database.html\">Database</a></h4>\n      <section><p>A <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance represents a session with the database and can be used to perform CRUD operations with your tables and entities.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.DatabaseConfigurationOptionsBuilder.html\">DatabaseConfigurationOptionsBuilder</a></h4>\n      <section><p>Provides an option builder to further <em>statically</em> configure a <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.DatabaseOptionsBuilder-1.html\">DatabaseOptionsBuilder&lt;TDatabase&gt;</a></h4>\n      <section><p>Provides an option builder to further <em>dynamically</em> configure a <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.FormattableSqlStringBuilder.html\">FormattableSqlStringBuilder</a></h4>\n      <section><p>Allows for a safe string interpolated SQL concatenation.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.InvalidEntityRelationException.html\">InvalidEntityRelationException</a></h4>\n      <section><p>Represents errors that occur during the relation entity generation.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.KeyConverter.html\">KeyConverter</a></h4>\n      <section><p>Provides a way of converting <a class=\"xref\" href=\"Venflow.Key-2.html\">Key&lt;TEntity, TKey&gt;</a> to strings and vice versa.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.NpgsqlCommandExtensions.html\">NpgsqlCommandExtensions</a></h4>\n      <section><p>Provides a set of useful extension methods for the <see cref=\"!:NpgsqlCommand\"></see> class.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.ParameterTypeHandler.html\">ParameterTypeHandler</a></h4>\n      <section><p>A class which contains methods to configure the used type handlers while parsing Interpolated arguments.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.Table-1.html\">Table&lt;TEntity&gt;</a></h4>\n      <section><p>A <a class=\"xref\" href=\"Venflow.Table-1.html\">Table&lt;TEntity&gt;</a> is used to perform CRUD operations against the table represented by <code data-dev-comment-type=\"typeparamref\" class=\"typeparamref\">TEntity</code>.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.TableBase-1.html\">TableBase&lt;TEntity&gt;</a></h4>\n      <section><p>A <a class=\"xref\" href=\"Venflow.TableBase-1.html\">TableBase&lt;TEntity&gt;</a> is used to perform query operations of all sorts.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.TypeArgumentException.html\">TypeArgumentException</a></h4>\n      <section><p>Represents an error which occur when an invalid type argument gets passed to a generic method.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.VenflowConfiguration.html\">VenflowConfiguration</a></h4>\n      <section><p>Contains methods to globally set the configuration of Venflow.</p>\n</section>\n    <h3 id=\"structs\">Structs\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.Key-2.html\">Key&lt;TEntity, TKey&gt;</a></h4>\n      <section><p>This is used to create strongly-typed ids.</p>\n</section>\n    <h3 id=\"interfaces\">Interfaces\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.IDatabaseTransaction.html\">IDatabaseTransaction</a></h4>\n      <section><p>Represents a transaction to be made with a database.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.IKey.html\">IKey</a></h4>\n      <section><p><strong>Do not use this interface, if you are not absolutely sure what it does.</strong></p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.IKey-2.html\">IKey&lt;TEntity, TKey&gt;</a></h4>\n      <section><p>This interface should be implemented by <em>structs</em>, to create strongly-typed ids.</p>\n</section>\n      <h4><a class=\"xref\" href=\"Venflow.IParameterTypeHandler.html\">IParameterTypeHandler</a></h4>\n      <section><p>A parameter type handler which can be used with the <see cref=\"!:ParameterTypeHandler.AddTypeHandler(System.Type, IParameterTypeHandler)\"></see> method.</p>\n</section>\n    <h3 id=\"delegates\">Delegates\n  </h3>\n      <h4><a class=\"xref\" href=\"Venflow.LoggerCallback.html\">LoggerCallback</a></h4>\n      <section><p>Represent a method that will handle all Logs produced by a <a class=\"xref\" href=\"Venflow.Database.html\">Database</a> instance.</p>\n</section>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/index.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>The API Docs of Venflow | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"The API Docs of Venflow | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../\">\n    <link rel=\"preload\" href=\"../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"API.Docs\">\n<h1 id=\"welcome-to-the-api-documentation-of-venflow\">Welcome to the API Documentation of Venflow</h1>\n\n<p>Here you will be able to find all the public API's and there descriptions.</p>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/docs/docfx/api/index.md/#L1\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/docfx/api/index.md",
    "content": "---\nuid: API.Docs\ntitle: The API Docs of Venflow\n---\n\n# Welcome to the API Documentation of Venflow\nHere you will be able to find all the public API's and there descriptions."
  },
  {
    "path": "docs/docfx/api/toc.html",
    "content": "﻿\n<div id=\"sidetoggle\">\n  <div>\n    <div class=\"sidefilter\">\n      <form class=\"toc-filter\">\n        <span class=\"glyphicon glyphicon-filter filter-icon\"></span>\n        <span class=\"glyphicon glyphicon-remove clear-icon\" id=\"toc_filter_clear\"></span>\n        <input type=\"text\" id=\"toc_filter_input\" placeholder=\"Enter here to filter...\" onkeypress=\"if(event.keyCode==13) {return false;}\">\n      </form>\n    </div>\n    <div class=\"sidetoc\">\n      <div class=\"toc\" id=\"toc\">\n          \n          <ul class=\"nav level1\">\n                <li>\n                    <span class=\"expand-stub\"></span>\n                    <a href=\"System.Runtime.CompilerServices.html\" name=\"\" title=\"System.Runtime.CompilerServices\">System.Runtime.CompilerServices</a>\n                    \n                    <ul class=\"nav level2\">\n                          <li>\n                              <a href=\"System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.html\" name=\"\" title=\"IgnoresAccessChecksToAttribute\">IgnoresAccessChecksToAttribute</a>\n                          </li>\n                          <li>\n                              <a href=\"System.Runtime.CompilerServices.NullableAttribute.html\" name=\"\" title=\"NullableAttribute\">NullableAttribute</a>\n                          </li>\n                          <li>\n                              <a href=\"System.Runtime.CompilerServices.NullableContextAttribute.html\" name=\"\" title=\"NullableContextAttribute\">NullableContextAttribute</a>\n                          </li>\n                    </ul>\n                </li>\n                <li>\n                    <span class=\"expand-stub\"></span>\n                    <a href=\"Venflow.html\" name=\"\" title=\"Venflow\">Venflow</a>\n                    \n                    <ul class=\"nav level2\">\n                          <li>\n                              <a href=\"Venflow.Database.html\" name=\"\" title=\"Database\">Database</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.DatabaseConfigurationOptionsBuilder.html\" name=\"\" title=\"DatabaseConfigurationOptionsBuilder\">DatabaseConfigurationOptionsBuilder</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.DatabaseOptionsBuilder-1.html\" name=\"\" title=\"DatabaseOptionsBuilder&lt;TDatabase&gt;\">DatabaseOptionsBuilder&lt;TDatabase&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.FormattableSqlStringBuilder.html\" name=\"\" title=\"FormattableSqlStringBuilder\">FormattableSqlStringBuilder</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.IDatabaseTransaction.html\" name=\"\" title=\"IDatabaseTransaction\">IDatabaseTransaction</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.IKey.html\" name=\"\" title=\"IKey\">IKey</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.IKey-2.html\" name=\"\" title=\"IKey&lt;TEntity, TKey&gt;\">IKey&lt;TEntity, TKey&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.InvalidEntityRelationException.html\" name=\"\" title=\"InvalidEntityRelationException\">InvalidEntityRelationException</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.IParameterTypeHandler.html\" name=\"\" title=\"IParameterTypeHandler\">IParameterTypeHandler</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Key-2.html\" name=\"\" title=\"Key&lt;TEntity, TKey&gt;\">Key&lt;TEntity, TKey&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.KeyConverter.html\" name=\"\" title=\"KeyConverter\">KeyConverter</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.LoggerCallback.html\" name=\"\" title=\"LoggerCallback\">LoggerCallback</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.NpgsqlCommandExtensions.html\" name=\"\" title=\"NpgsqlCommandExtensions\">NpgsqlCommandExtensions</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.ParameterTypeHandler.html\" name=\"\" title=\"ParameterTypeHandler\">ParameterTypeHandler</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Table-1.html\" name=\"\" title=\"Table&lt;TEntity&gt;\">Table&lt;TEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.TableBase-1.html\" name=\"\" title=\"TableBase&lt;TEntity&gt;\">TableBase&lt;TEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.TypeArgumentException.html\" name=\"\" title=\"TypeArgumentException\">TypeArgumentException</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.VenflowConfiguration.html\" name=\"\" title=\"VenflowConfiguration\">VenflowConfiguration</a>\n                          </li>\n                    </ul>\n                </li>\n                <li>\n                    <span class=\"expand-stub\"></span>\n                    <a href=\"Venflow.AspNetCore.html\" name=\"\" title=\"Venflow.AspNetCore\">Venflow.AspNetCore</a>\n                    \n                    <ul class=\"nav level2\">\n                          <li>\n                              <a href=\"Venflow.AspNetCore.VenflowServiceCollectionExtensions.html\" name=\"\" title=\"VenflowServiceCollectionExtensions\">VenflowServiceCollectionExtensions</a>\n                          </li>\n                    </ul>\n                </li>\n                <li>\n                    <span class=\"expand-stub\"></span>\n                    <a href=\"Venflow.Commands.html\" name=\"\" title=\"Venflow.Commands\">Venflow.Commands</a>\n                    \n                    <ul class=\"nav level2\">\n                          <li>\n                              <a href=\"Venflow.Commands.IBaseInsertRelationBuilder-2.html\" name=\"\" title=\"IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;\">IBaseInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IBaseQueryRelationBuilder-3.html\" name=\"\" title=\"IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;\">IBaseQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IDeleteCommand-1.html\" name=\"\" title=\"IDeleteCommand&lt;TEntity&gt;\">IDeleteCommand&lt;TEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IDeleteCommandBuilder-1.html\" name=\"\" title=\"IDeleteCommandBuilder&lt;TEntity&gt;\">IDeleteCommandBuilder&lt;TEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IInsertCommand-1.html\" name=\"\" title=\"IInsertCommand&lt;TEntity&gt;\">IInsertCommand&lt;TEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IInsertCommandBuilder-1.html\" name=\"\" title=\"IInsertCommandBuilder&lt;TEntity&gt;\">IInsertCommandBuilder&lt;TEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IInsertRelationBuilder-2.html\" name=\"\" title=\"IInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;\">IInsertRelationBuilder&lt;TRelationEntity, TRootEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IPreCommandBuilder-2.html\" name=\"\" title=\"IPreCommandBuilder&lt;TEntity, TReturn&gt;\">IPreCommandBuilder&lt;TEntity, TReturn&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IQueryCommand-2.html\" name=\"\" title=\"IQueryCommand&lt;TEntity, TReturn&gt;\">IQueryCommand&lt;TEntity, TReturn&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IQueryCommandBuilder-2.html\" name=\"\" title=\"IQueryCommandBuilder&lt;TEntity, TReturn&gt;\">IQueryCommandBuilder&lt;TEntity, TReturn&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IQueryRelationBuilder-3.html\" name=\"\" title=\"IQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;\">IQueryRelationBuilder&lt;TRelationEntity, TRootEntity, TReturn&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.ISpecficVenflowCommandBuilder-2.html\" name=\"\" title=\"ISpecficVenflowCommandBuilder&lt;TCommand, TLogResult&gt;\">ISpecficVenflowCommandBuilder&lt;TCommand, TLogResult&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IUpdateCommand-1.html\" name=\"\" title=\"IUpdateCommand&lt;TEntity&gt;\">IUpdateCommand&lt;TEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IUpdateCommandBuilder-1.html\" name=\"\" title=\"IUpdateCommandBuilder&lt;TEntity&gt;\">IUpdateCommandBuilder&lt;TEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IVenflowCommand-1.html\" name=\"\" title=\"IVenflowCommand&lt;TEntity&gt;\">IVenflowCommand&lt;TEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Commands.IVenflowCommandBuilder-1.html\" name=\"\" title=\"IVenflowCommandBuilder&lt;TEntity&gt;\">IVenflowCommandBuilder&lt;TEntity&gt;</a>\n                          </li>\n                    </ul>\n                </li>\n                <li>\n                    <span class=\"expand-stub\"></span>\n                    <a href=\"Venflow.Enums.html\" name=\"\" title=\"Venflow.Enums\">Venflow.Enums</a>\n                    \n                    <ul class=\"nav level2\">\n                          <li>\n                              <a href=\"Venflow.Enums.CommandType.html\" name=\"\" title=\"CommandType\">CommandType</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Enums.ForeignTruncateOptions.html\" name=\"\" title=\"ForeignTruncateOptions\">ForeignTruncateOptions</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Enums.IdentityTruncateOptions.html\" name=\"\" title=\"IdentityTruncateOptions\">IdentityTruncateOptions</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Enums.JoinBehaviour.html\" name=\"\" title=\"JoinBehaviour\">JoinBehaviour</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Enums.LoggingBehavior.html\" name=\"\" title=\"LoggingBehavior\">LoggingBehavior</a>\n                          </li>\n                    </ul>\n                </li>\n                <li>\n                    <span class=\"expand-stub\"></span>\n                    <a href=\"Venflow.Extensions.Logging.html\" name=\"\" title=\"Venflow.Extensions.Logging\">Venflow.Extensions.Logging</a>\n                    \n                    <ul class=\"nav level2\">\n                          <li>\n                              <a href=\"Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.html\" name=\"\" title=\"DatabaseOptionsBuilderExtensions\">DatabaseOptionsBuilderExtensions</a>\n                          </li>\n                    </ul>\n                </li>\n                <li>\n                    <span class=\"expand-stub\"></span>\n                    <a href=\"Venflow.Json.html\" name=\"\" title=\"Venflow.Json\">Venflow.Json</a>\n                    \n                    <ul class=\"nav level2\">\n                          <li>\n                              <a href=\"Venflow.Json.JsonKeyConverterFactory.html\" name=\"\" title=\"JsonKeyConverterFactory\">JsonKeyConverterFactory</a>\n                          </li>\n                    </ul>\n                </li>\n                <li>\n                    <span class=\"expand-stub\"></span>\n                    <a href=\"Venflow.Modeling.Definitions.html\" name=\"\" title=\"Venflow.Modeling.Definitions\">Venflow.Modeling.Definitions</a>\n                    \n                    <ul class=\"nav level2\">\n                          <li>\n                              <a href=\"Venflow.Modeling.Definitions.EntityConfiguration-1.html\" name=\"\" title=\"EntityConfiguration&lt;TEntity&gt;\">EntityConfiguration&lt;TEntity&gt;</a>\n                          </li>\n                    </ul>\n                </li>\n                <li>\n                    <span class=\"expand-stub\"></span>\n                    <a href=\"Venflow.Modeling.Definitions.Builder.html\" name=\"\" title=\"Venflow.Modeling.Definitions.Builder\">Venflow.Modeling.Definitions.Builder</a>\n                    \n                    <ul class=\"nav level2\">\n                          <li>\n                              <a href=\"Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html\" name=\"\" title=\"IForeignKeyRelationBuilder&lt;TEntity, TRelation&gt;\">IForeignKeyRelationBuilder&lt;TEntity, TRelation&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html\" name=\"\" title=\"ILeftRelationBuilder&lt;TEntity&gt;\">ILeftRelationBuilder&lt;TEntity&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.html\" name=\"\" title=\"IMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\">IMultiRightRelationBuilder&lt;TEntity, TRelation&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder-2.html\" name=\"\" title=\"INotRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\">INotRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html\" name=\"\" title=\"INotRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;\">INotRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder-2.html\" name=\"\" title=\"IRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;\">IRequiredMultiRightRelationBuilder&lt;TEntity, TRelation&gt;</a>\n                          </li>\n                          <li>\n                              <a href=\"Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html\" name=\"\" title=\"IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;\">IRequiredSingleRightRelationBuilder&lt;TEntity, TRelation&gt;</a>\n                          </li>\n                    </ul>\n                </li>\n                <li>\n                    <span class=\"expand-stub\"></span>\n                    <a href=\"Venflow.NewtonsoftJson.html\" name=\"\" title=\"Venflow.NewtonsoftJson\">Venflow.NewtonsoftJson</a>\n                    \n                    <ul class=\"nav level2\">\n                          <li>\n                              <a href=\"Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.html\" name=\"\" title=\"NewtonsoftJsonKeyConverter\">NewtonsoftJsonKeyConverter</a>\n                          </li>\n                    </ul>\n                </li>\n          </ul>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "docs/docfx/docfx.json",
    "content": "{\n  \"metadata\": [\n    {\n      \"src\": [\n        {\n          \"src\": \"../../src/\",\n          \"files\": [ \"**/**.csproj\" ],\n          \"exclude\": [\n            \"**/Venflow.Benchmarks/**\",\n            \"**/Venflow.Score/**\",\n            \"**/Venflow.Shared/**\",\n            \"**/Venflow.Generators/**\",\n            \"**/Venflow.Tests/**\",\n            \"**/Venflow.Tests.Keys/**\"\n          ]\n        }\n      ],\n      \"dest\": \"api\",\n      \"disableGitFeatures\": false,\n      \"disableDefaultFilter\": false,\n      \"filter\": \"filterConfig.yml\"\n    }\n  ],\n  \"build\": {\n    \"content\": [\n      {\n        \"files\": [\n          \"api/**.yml\",\n          \"api/index.md\"\n        ]\n      },\n      {\n        \"files\": [\n          \"toc.yml\",\n          \"index.md\"\n        ]\n      },\n      {\n        \"files\": [\n          \"guides/**.md\",\n          \"guides/**/toc.yml\"\n        ]\n      }\n    ],\n    \"resource\": [\n      {\n        \"files\": [\n          \"**/images/**\",\n          \"**/samples/**\",\n          \"favicon.ico\",\n          \"venflow.svg\"\n        ]\n      }\n    ],\n    \"overwrite\": [\n      {\n        \"exclude\": [\n          \"obj/**\"\n        ]\n      }\n    ],\n    \"dest\": \"../\",\n    \"globalMetadataFiles\": [],\n    \"globalMetadata\": {\n      \"_appTitle\": \"Venflow Documentation\",\n      \"_appFooter\": \"<span>Copyright © 2021 Twenty</span>\",\n      \"_enableSearch\": \"true\",\n      \"_appFaviconPath\": \"favicon.ico\",\n      \"_appLogoPath\": \"venflow.svg\"\n    },\n    \"fileMetadataFiles\": [],\n    \"template\": [\n      \"default\",\n      \"templates/light-dark-theme\"\n    ],\n    \"postProcessors\": [\n      \"ExtractSearchIndex\"\n    ],\n    \"xref\": [\n      \"https://www.npgsql.org/xrefmap.yml\"\n    ],\n    \"xrefService\": [\n      \"https://xref.docs.microsoft.com/query?uid={uid}\"\n    ],\n    \"markdownEngineName\": \"markdig\",\n    \"noLangKeyword\": false,\n    \"keepFileLink\": false,\n    \"cleanupCacheHistory\": false,\n    \"disableGitFeatures\": false,\n  }\n}\n"
  },
  {
    "path": "docs/docfx/filterConfig.yml",
    "content": "apiRules:\n- exclude:\n    hasAttribute:\n      uid: System.ComponentModel.EditorBrowsableAttribute\n      ctorArguments:\n      - System.ComponentModel.EditorBrowsableState.Never"
  },
  {
    "path": "docs/docfx/guides/advanced/aspnetcore.md",
    "content": "---\nuid: Guides.Advanced.AspNetCore\ntitle: Asp.Net Core with Venflow\n---\n\n# Asp.Net Core with Venflow\n\nVenflow natively adds container support for Asp.Net Core through the `Venflow.AspNetCore` NuGet package. It allows to directly register a [`Database`](xref:Venflow.Database) to your `IServiceCollection` through the `AddDatabase` method.\n\n> [!WARNING] \n> Although this is fairly straightforward, you should ensure that your [`Database`](xref:Venflow.Database) class has a public constructor with a [`DatabaseOptionsBuilder<T>`](xref:Venflow.DatabaseOptionsBuilder`1) as a parameter which is getting passed to the appropriate base constructor. Otherwise it will ignore any options you configured.\n"
  },
  {
    "path": "docs/docfx/guides/advanced/enums.md",
    "content": "---\nuid: Guides.Advanced.Enums\ntitle: Enums with Venflow\n---\n\n# Enums with Venflow\n\nEnums are quite heavily used in C# and PostgreSQL, there are two different options of mapping you can choose from. By default any enum will be mapped as the underlying numeric data type in the database. However if you want to use a native PostgreSQL enum you have to specify that in the Configuration of your entity.\n\n```cs\npublic class FooConfiguration : EntityConfiguration<Foo>\n{\n    protected override void Configure(IEntityBuilder<Foo> entityBuilder)\n    {\n        entityBuilder.MapPostgresEnum(x => x.Bar);\n    }\n}\n```\n> [!NOTE] \n> It is enough to map your PostgreSQL enum once in an assembly. However, if you prefer, you can also configure it multiple times.\n\n> [!NOTE] \n> By default the name of the enum within C# will be converted to a lower-cased `_` separated name. That means `FooBaz` would be converted to `foo_baz`. If you want to override any of the naming behaviours you can pass a valid value to the `name`/`npgsqlNameTranslator` parameters.\n"
  },
  {
    "path": "docs/docfx/guides/advanced/interpolation.md",
    "content": "---\nuid: Guides.Advanced.Interpolation\ntitle: Interpolation with Venflow\n---\n\n# Interpolation with Venflow\n\n*If you never heard about string interpolation you should check the [official docs](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/tokens/interpolated).*\n\nWriting SQL can be a real pain especially while writing in by hand and keeping it injection safe. However Venflow tries to help you with all of that, especially by providing a simple way to write injection safe SQL. All API's which allow for SQL with parameters also have a counterpart called something along the lines of \\*Interpolation\\*. They accept a [`FormattableString`](xref:System.FormattableString) which allow for interpolated strings. Lets take a look at how this would like with a query, that queries all blogs with a similar one to the name provided by the user.\n\n```cs\nvar name = Console.ReadLine(); // The name of the blogs to find with a similar name\n\nvar blogs = await database.Blogs.QueryInterpolatedBatch($@\"SELECT * FROM \"\"Blogs\"\" WHERE \"\"Name\"\" LIKE {name}\")\n                                .QueryAsync();\n```\n\n> [!WARNING] \n> This way of injecting parameters is totally safe, however you need to be very careful to **always** choose the interpolation methods while doing this. \n\n### Extract interpolated SQL into variables\n\nIf your SQL statement is a little bit larger than usual you might want to extract your string to a local variable or similar. However you need to be careful while choosing the variable type. Your habits might want to tell you to choose a [`string`](xref:System.String) or [`var`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/var) however you need to make sure that you explicitly set the variable type to [`FormattableString`](xref:System.FormattableString). Otherwise the string interpolation happens inline and no parameterizing by Venflow will happen. Down below you will see a simple example of how that would look like.\n\n```cs\nFormattableString sql = $@\"SELECT * FROM \"\"Blogs\"\" WHERE \"\"Name\"\" LIKE {Console.ReadLine()}\";\n\nvar blogs = await database.Blogs.QueryInterpolatedBatch(sql)\n                                .QueryAsync();\n```\n\n## Supported interpolation types\n\nAt the current state you can use all types [Npgsql supports](https://www.npgsql.org/doc/types/basic.html), as well as a few neat features Venflow implemented such as the support for [`ulong`](xref:System.UInt64), [`ulong?`](xref:System.UInt64) and all types that implement [`IList<T>`](xref:System.Collections.Generic.IList`1), this includes types such as arrays and all collections that implement it. Lets look at its behaviour with an example.\n\n```cs\nvar blogIds = new int[3] { 1, 2, 3 };\n\nFormattableString sql = $@\"SELECT * FROM \"\"Blogs\"\" WHERE \"\"Id\"\" IN ({blogIds})\";\n\nvar blogs = await database.Blogs.QueryInterpolatedBatch(sql)\n                                .QueryAsync();\n```\n\nThis will query all blogs with the ids `1`, `2` and `3`. The above written SQL statement will be converted to the following:\n\n```sql\n-- @p* will contain their repective values e.g. (1, 2, 3)\nSELECT * FROM \"Blogs\" WHERE \"Id\" IN (@p1, @p2, @p3)\n```\n\nOf course the numbers usually would be parametrized, however for the sake of this example it contains the values directly.  \n\n## Dynamic SQL\n\nThere might be situations in which you need to dynamically generate SQL with parameters, in which case the common [`StringBuilder`](xref:System.Text.StringBuilder) isn't sufficient enough. Venflow provides you with the [`FormattableSqlStringBuilder`](xref:Venflow.FormattableSqlStringBuilder) class which acts like a  [`StringBuilder`](xref:System.Text.StringBuilder), however it provides methods, which allow for interpolated SQL. Lets take a look at this with a more practical example.\n\n```cs\npublic Task<List<Blogs>> GetBlogsAsync(string[]? names)\n{\n    var stringBuilder = new FormattableSqlStringBuilder();\n\t\n    stringBuilder.Append(@\"SELECT * FROM \"\"Blogs\"\"\");\n    \n    if(names is not null &&\n\t   names.Length > 0)\n    {\n        stringBuilder.Append(@\" WHERE \"\"Name\"\" IN (\");\n        stringBuilder.AppendParameter(names);\n        stringBuilder.AppendInterpolated(@$\") AND LENGTH(\"\"Name\"\") > {5}\");\n    }\n    \n    return database.Blogs.QueryInterpolatedBatch(stringBuilder).QueryAsync();\n}\n```\n\nObviously the query shown above is not too useful, however if names would be provided, it would only query those and additionally they would need to be longer than 5 characters.\n\n"
  },
  {
    "path": "docs/docfx/guides/advanced/logging.md",
    "content": "---\nuid: Guides.Advanced.Logging\ntitle: Logging with Venflow\n---\n\n# Logging with Venflow\n\nLogging in general is a very important topic, especially in a scenario like this, in which the ORM partially creates SQL. At the current state, Venflow only supports logging executed commands, rather than the logging of internal events.\n\n## Setup the logging provider\n\nYou configure your logging provider on a [`Database`](xref:Venflow.Database) basis, by overriding the [`Configure`](xref:Venflow.Database.Configure(Venflow.DatabaseOptionsBuilder)) method. For this example, lets use the database which you already know from the [Setup Guide](../getting_started/setup.md). By using the provided [`DatabaseOptionsBuilder`](xref:Venflow.DatabaseOptionsBuilder), you can call the [`LogTo`](xref:Venflow.DatabaseOptionsBuilder.LogTo(Venflow.LoggerCallback)) method on it. The delegate defines three parameters, the executed [`NpgsqlCommand`](xref:Npgsql.NpgsqlCommand), the  [`CommandType`](xref:Venflow.Enums.CommandType) executed as well as the exception if any occurred. However it is important to note that Venflow, at least at the current state, only logs the executed commands and nothing else.\n\n> [!NOTE] \n> The sensitive data logging is a bit special, since it populates the parameters on the client, rather than on the server. This means, that the _populated_ SQL might not always be 100% accurate. To get the the sensitive data call the [`NpgsqlCommandExtensions.GetUnParameterizedCommandText`](xref:Venflow.NpgsqlCommandExtensions.SetInterpolatedCommandText(Npgsql.NpgsqlCommand,System.FormattableString)) extension method on the provided [`NpgsqlCommand`](xref:Npgsql.NpgsqlCommand) instance. However, it also got some other caveats, you can get more information by further inspecting the API reference.\n\n\n```cs\npublic class BlogDatabase : Database\n{\n    public Table<Blog> Blogs { get; set; }\n    public Table<Post> Posts { get; set; }\n\n    public BlogDatabase() : base(\"Your connection string.\")\n    {\n        \n    }\n    \n    protected override void Configure(DatabaseOptionsBuilder optionsBuilder)\n    {\n        // You can also configure multiple loggers.\n        optionsBuilder.LogTo((command, type, exception) => Console.WriteLine(command.CommandText));\n    }\n}\n```\n\n## Setup the logging provider in a more specific manner\n\nYou don't always want the ORM to log every single SQL statement ever to be executed, in this case Venflow allows to individually override the logging behaviour on a command basis by calling [`LogTo`](xref:Venflow.Commands.ISpecficVenflowCommandBuilder`2.LogTo(System.Boolean) ) on the method chain. In the example down below, all globally defined loggers will be overridden by the loggers configured on the command.\n\n```cs\nFormattableString sql = $@\"SELECT * FROM \"\"Blogs\"\" WHERE \"\"Id\"\" = {someId} LIMIT 1\";\n\nvar blog = await database.Blogs.QueryInterpolatedSingle(sql)\n    \t\t\t\t\t\t   // You can also configure multiple loggers.\n                               .LogTo((command, type, exception) => Console.WriteLine(command.CommandText))\n                               .QueryAsync();\n```\n\nHowever, lets assume you wouldn't want to configure the logger on a command basis, but would rather cherry pick the commands. In that case you would need to set the  [`DatabaseOptionsBuilder.DefaultLoggingBehavior`](xref:Venflow.DatabaseOptionsBuilder.DefaultLoggingBehavior) to [`DefaultLoggingBehavior.Never`](xref:Venflow.Enums.LoggingBehavior.Never) in the same method you configured the global logger. Then you would want to call [`LogTo`](xref:Venflow.Commands.ISpecficVenflowCommandBuilder`2.LogTo(System.Boolean) ) on all commands you would want to be logged.\n\n"
  },
  {
    "path": "docs/docfx/guides/advanced/logging_extensions.md",
    "content": "---\nuid: Guides.Advanced.Logging.Extensions\ntitle: Logging with Venflow and Microsoft.Extensions.Logging\n---\n\n# Logging with Venflow and Microsoft.Extensions.Logging\n\nVenflow has out of the box support for [`Microsoft.Extensions.Logging`](https://www.nuget.org/packages/Microsoft.Extensions.Logging), however it needs an add-in package called [`Venflow.Extensions.Logging`](https://www.nuget.org/packages/Venflow.Extensions.Logging) which can be downloaded through the NuGet Package Manager.\n\nAfter installing you will be able to use the extensions method [`UseLoggerFactory`](xref:Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.UseLoggerFactory(Venflow.DatabaseOptionsBuilder,Microsoft.Extensions.Logging.ILoggerFactory,System.Boolean)) on your [`DatabaseOptionsBuilder`](xref:Venflow.DatabaseOptionsBuilder) instance as shown in the example below. The Boolean parameter specifies whether or not to include sensitive information in the formatted log. \n```cs\npublic class BlogDatabase : Database\n{\n    // Omitted for brevity.\n    \n    private readonly ILoggerFactory _loggerFactory;\n    \n    public BlogDatabase(ILoggerFactory loggerFactory) : base(\"Your connection string.\")\n    {\n        _loggerFactory = loggerFactory;\n    }\n    \n    protected override void Configure(DatabaseOptionsBuilder optionsBuilder)\n    {\n        optionsBuilder.UseLoggerFactory(_loggerFactory, true);\n    }\n}\n```"
  },
  {
    "path": "docs/docfx/guides/advanced/nullables.md",
    "content": "---\nuid: Guides.Advanced.Nullables\ntitle: Nullables with Venflow\n---\n\n# Nullables with Venflow\n\nSince C#8 null-able reference types are supported which help you writing better code and improves the IntelliSense. However for Venflow this also is a big deal. If you have specified `<Nullable>enable</Nullable>` in your `.csproj` file you opt-in for this feature. You will then be forced to mark all fields as null-able which are also marked as null-able in your database. That way Venflow can produce way more optimized code.\n\n> [!WARNING] \n> You will also be forced to apply the null-able identifiers for all foreign-keys and navigation properties, if they are indeed null-able.\n"
  },
  {
    "path": "docs/docfx/guides/advanced/prepared_statements.md",
    "content": "---\nuid: Guides.Advanced.Preparation\ntitle: Statement Preparation with Venflow\n---\n\n# Statement Preparation with Venflow\n\nYou can also prepare Query statements with Venflow through the Query Builder. This would look something like the following.\n\n```cs\nvar someId = 10;\nvar query = await database.Blogs.QueryInterpolatedBatch($@\"SELECT * FROM \"\"Blogs\"\" WHERE \"\"Id\"\" = {someId}\", false)\n    \t\t\t\t\t  \t\t.Build()\n    \t\t\t\t\t  \t\t.PrepareAsync(); \n// You need to store this stamenet in a field or similar and reuse it, every time you want to query through this prepared statment.\n\nvar blogs = await _database.Blogs.QueryAsync(query); // You can also inline this with the line above.\n```\n\n> [!NOTE] \n> Also do not forget to call `UnprepareAsync` or `DisposeAsync` on this command once you no longer need it.\n\n> [!NOTE] \n> One handy feature that comes in for you, is that you can use this prepared command with any `Database` instance."
  },
  {
    "path": "docs/docfx/guides/advanced/query_command_cache.md",
    "content": "---\nuid: Guides.Advanced.CommandQueryCache\ntitle: Caching Command Queries\n---\n\n#  Caching Command Queries\n\nDo note, that this guide is not about Query Response Caching, but rather about caching the underlying command.\n\nVenflow uses different methods to cache the underlying query result parser aka. query materializer. There are two layers to this caching mechanism, where the first one is by SQL query string and the second one by the actual properties of the query such as returned columns. There is not much for you to configure, however if you do wish you can configure the cache expiration time of the first layer. This is important, in order to prevent too much memory allocation by the SQL query strings.\n\nIn the example shown below, the cache expiration time is set to 10 minutes instead of the default of 5 minutes. \n\n```cs\nVenflowConfiguration.SetDynamicCacheExpirationTime(TimeSpan.FromMinutes(10));\n```\n\n> [!NOTE] \n> Once a SQL query reached its expiration time, it will indeed be removed from the first layer cache, however once it will be executed again, it will NOT need to recompile the query materializer, since it calls the slower, but memory-lighter second layer cache instead."
  },
  {
    "path": "docs/docfx/guides/advanced/strong_key.md",
    "content": "---\nuid: Guides.Advanced.StrongKeys\ntitle: Strongly-typed Ids with Venflow\n---\n\n# Strongly-typed Ids with Venflow\n\nUsually when interacting with any SQL database ids are quite common, especially when you have to write the SQL on your own. One might now ask themselves, why there even would be a need for strongly-typed ids, lets look at the example below.\n\n```cs\nvar blogId = 10;\nvar postId = 14;\n\nvar post = GetPostByBlog(postId, blogId);\n\npublic Post GetPostByBlog(int blogId, int postId)\n{\n    // Omitted for brevity \n}\n```\n\nThis code will compile just fine, however as you might have spotted, the `postId` and `blogId` are in the wrong order and therefore might not give us the expected result. This can be a real nightmare to fix as it is rather hard to spot in a large codebase with a lot of different entities. Luckily Venflow directly provides you with a build in solution called strongly-typed ids, through the [`Key<T,TKey>`](xref:Venflow.Key`2) API. Lets look at a full implementation.\n\n```cs\npublic class Blog\n{\n    public Key<Blog, int> Id { get; set; } // Using Key instead of int\n    public string Name { get; set; }\n    \n    public IList<Post> Posts { get; }\n    \n    public Blog()\n    {\n        Posts = new List<Post>();\n    }\n}\n\npublic class Post\n{\n    public Key<Post, int> Id { get; set; } // Using Key instead of int\n    public string Title { get; set; }\n    public string Content { get; set; }\n    \n    public Key<Blog, int> BlogId { get; set; } // Using Key instead of int\n    public Blog Blog { get; set; }\n}\n```\n\nNot only do primary-keys benefit from this, but also all the columns/properties which take any kind of id, such as foreign-keys. Not only do we now have type-safety, but also close to zero effort, since equality operators as well as implicit cast operators are predefined. Lets take the example from before and see what changes.\n\n```cs\nKey<Blog, int> blogId = 10;\nKey<Post, int> postId = 14;\n\nvar post = GetPostByBlog(postId, blogId);\n\npublic Post GetPostByBlog(Key<Blog, int> blogId, Key<Post, int> postId)\n{\n    // Omitted for brevity \n}\n```\n\nThis will no longer compile, due to the fact, that the  `Key<Post, int>` stored in `postId` can not be implicitly converted to the \n`Key<Blog, int>` parameter defined in the by the `GetPostByBlog` method.\n\n## Reducing the boilerplate\n\nThis is already an improvement, but it is somewhat annoying to always specify the type the key belongs to as well as the type of the key. In most databases you will most likely end up with the same type of id for all of your tables. Therefor it is rather unnecessary to specify it every time in code. Venflow provides you with a Source Generator to create a strongly-typed id with a fixed type for us. However, do note that Source Generators are only available through C#9.\n\n```cs\n[Venflow.GeneratedKey(typeof(int))]\npublic partial struct Key<T> { }\n```\n\nFrom now on you would be able to create all your strongly-typed ids as shown below.\n\n```cs\npublic class Post\n{\n    public Key<Post> Id { get; set; } // Using Key<T> instead of Key<T, TKey>\n    public string Title { get; set; }\n    public string Content { get; set; }\n    \n    public Key<Blog> BlogId { get; set; } // Using Key<T> instead of Key<T, TKey>\n    public Blog Blog { get; set; }\n}\n```\n\nIf required you could also create multiple strongly-typed ids with a fixed types, by naming them differently, for example `IntKey<T>` or `GuidKey<T>`.\n\n> [!NOTE] \nIf you want to use Strongly-typed id's without referencing the whole ORM, you can install Venflow.Keys from NuGet.\n\n## Support for JSON\n\nVenflow natively supports `System.Text.Json` and `Newtonsoft.Json`, however if you do want to use `Newtonsoft.Json` you will need to additionally add `Venflow.NewtonsoftJson`.  \n\n### System.Text.Json\n\nYou will need to tell the serializer and de-serializer how to handle the new type, you can do this by adding the following line to your `JsonOptions`.\n\n```cs\nvar options = new JsonOptions();\n\noptions.Converters.Add(new JsonKeyConverterFactory());\n```\n\n### Newtonsoft.Json\n\nYou will need to tell the serializer and de-serializer how to handle the new type, you can do this by adding the following line to your `JsonSerializerSettings`.\n\n```cs\nvar settings = new JsonSerializerSettings();\n\nsettings.Converters.Add(new NewtonsoftJsonKeyConverter());\n```\n\n## Support for Asp.Net Core\n\nVenflow natively supports `System.Text.Json` with Asp.Net Core through the `Venflow.AspNetCore` NuGet package. In your `Startup.cs` file you can add the code below in your `ConfigureServices` method.\n\n```cs\nservics.AddVenflowJson();\n```\n\n### Newtonsoft.Json\n\nAt the moment you still have to write your own implementation for `Newtonsoft.Json`, an example can be found below.\n```cs\nservics.AddNewtonsoftJson(options =>\n        {\n            options.SerializerSettings.Converters.Add(new NewtonsoftJsonKeyConverter());\n        });\n```"
  },
  {
    "path": "docs/docfx/guides/advanced/validation.md",
    "content": "---\nuid: Guides.Advanced.Validation\ntitle: Validation with Venflow\n---\n\n# Validation with Venflow\n\nVenflow performs a lot of validation under the hood, to perform the best possible UX. However this comes at a performance trade-off. Therefore Venflow only performs these validation, if you are using Venflow in a `DEBUG` build. If you would compile your assembly to `RELEASE` these validations wouldn't be performed. In order to manually override this behaviour you can configure this setting with the static [`VenflowConfiguration`](xref:Venflow.VenflowConfiguration) class.\n\nIn the below example we would tell Venflow, to always use 'Deep Validation', no matter the configuration. You should place this at very beginning of your program, however you can change this value whenever you want.\n\n```cs\nVenflowConfiguration.UseDeepValidation(true);\n```\n\n"
  },
  {
    "path": "docs/docfx/guides/getting_started/installation.md",
    "content": "---\nuid: Guides.GettingStarted.Installation\ntitle: Installing Venflow\n---\n\n# Venflow Installation\n\n## Supported Platforms\n\nVenflow supports `.Net Framework 4.8`, `.Net Standard 2.1`, `.Net Core 3.1`, `.Net 5` and `.Net 6`.\n\n## Installation from NuGet\n\nVenflow is distributed through the official NuGet feed as a lot of the other packages, which makes its install as easy as its get.\n\n### [Using Visual Studio](#tab/visualstudio-install)\n\n1. Right click on 'References', and select 'Manage NuGet packages'\n\n3. In the \"Browse\" tab, search for Venflow\n\n4. Click install.\n\n\n### [Using the Nuget Package Manager](#tab/npm-install)\n\n1. Click on 'Tools', 'Nuget Package Manager' and 'Package Manager Console'\n\n2. Enter `Install-Package Venflow`"
  },
  {
    "path": "docs/docfx/guides/getting_started/setup.md",
    "content": "---\nuid: Guides.GettingStarted.Setup\ntitle: Setup Venflow\n---\n\n# Venflow Setup\n\n## Configure the Database\n\n> [!WARNING] \n> Be aware, that LINQPad may throw unexpected errors and you therefore should use a real .Net Project instead.\n\nIn Venflow you are reflecting your PostgreSQL database with the `Database` class, which will host all of your tables. In the following example we will configure a database containing two tables, `Blogs` and `Posts`. One Blog contains many posts and a post contains a single Blog.\n\n```cs\npublic class BlogDatabase : Database\n{\n    public Table<Blog> Blogs { get; set; }\n    public Table<Post> Posts { get; set; }\n\n    public BlogDatabase() : base(\"Your connection string.\")\n    {\n    }\n}\n```\n> [!NOTE] \n> Usually you would use your `Database` with an IOC Container and register it as a `Transient`/`Scoped` depending on the use.\n\n> [!WARNING] \n> This class represents a connection to your database and therefore doesn't support multi threaded use.\n\n## Entities\n\nEntities represent a row inside a table of your database, for our current example this would look something like the following. Entities have to follow a specific schema:\n\n- The Entity itself has to be public.\n- All properties representing a column have to be public and need to have a public setter.\n\n```cs\npublic class Blog\n{\n    public int Id { get; set; }\n    public string Name { get; set; }\n    \n    public IList<Post> Posts { get; }\n    \n    public Blog()\n    {\n        Posts = new List<Post>();\n    }\n}\n\npublic class Post\n{\n    public int Id { get; set; }\n    public string Title { get; set; }\n    public string Content { get; set; }\n    \n    public int BlogId { get; set; }\n    public Blog Blog { get; set; }\n}\n```\n\n> [!NOTE] \n> You don't necessarily need to instantiate the `Posts` navigation property on the `Blog` Entity, since Venflow will instantiate them otherwise. However in most cases it is more convenient to instantiate them on your own, otherwise foreign collections might be `null`!\n\n> [!WARNING] \n> All properties which you want to be updateable by change-tracking have to be marked as virtual!\n\n## Configuring Entities\n\nNow lets configure the actual relation between Blogs and Posts through the `EntityConfiguration<T>` class. In the `Configure` , method you can configure several things such as the name of the table this entity should map to and much more. These configuration classes do automatically get discovered, if they are in the same assembly as the `Database` class. If they are not in the same assembly, you can override the `Configure` method in the `Database` class which passes in a `DatabaseOptionsBuilder`, which will allow you to specify assemblies which should also be searched for entity configurations.\n\n```cs\npublic class BlogConfiguration : EntityConfiguration<Blog>\n{\n    protected override void Configure(IEntityBuilder<Blog> entityBuilder)\n    {\n        entityBuilder.HasMany(b => b.Posts)\n                     .WithOne(p => p.Blog)\n                     .UsingForeignKey(p => p.BlogId);\n    }\n}\n```\n\n> [!NOTE] \n> Most of the configurations have to be configured with the `IEntityConfiguration<T>` interface, however there are a few exceptions to this rule.\n>\n> - Primary Keys get automatically mapped if they are named `Id` or decorated with the `KeyAttribute`.\n> - A property can also be ignored with the `NotMappedAttribute`."
  },
  {
    "path": "docs/docfx/guides/introduction/intro.md",
    "content": "---\nuid: Guides.Introduction\ntitle: Introduction to Venflow\n---\n\n# Introduction\n\nWelcome to the documentation, there are a few requirements your skills should meet.\n\n- Pretty solid understanding of C#, if not take a look at the [C# Programming Guide](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/)\n\n- Experience with SQL Queries and PostgreSQL in general  \n\nIn the guides section you can find information on how to install Venflow and articles which help you to get started.\n\n## You need more help?\n\nFeel free to create a [GitHub issue](https://github.com/TwentyFourMinutes/Venflow/issues/) or join the Discord Server <a href=\"https://discordapp.com/invite/EYKxkce\"><img alt=\"Discord\" src=\"https://discordapp.com/api/guilds/275377268728135680/widget.png\" style=\"margin: 0; vertical-align: middle; \"></a>.\n\n"
  },
  {
    "path": "docs/docfx/guides/operations/count.md",
    "content": "---\nuid: Guides.Operations.Count\ntitle: Count with Venflow\n---\n\n# Count Rows with Venflow\n\nYour `Database` class exposes `Table<T>` properties which expose count operations. In Venflow counts are always automatically generated. For this example, we want to get the amount of rows in the Posts table.\n\n```cs\nawait database.Posts.CountAsync();\n```\n"
  },
  {
    "path": "docs/docfx/guides/operations/delete.md",
    "content": "---\nuid: Guides.Operations.Delete\ntitle: Delete with Venflow\n---\n\n# Delete Data with Venflow\n\nYour `Database` class exposes `Table<T>` properties which expose delete operations. In Venflow deletes are always automatically generated. For this example, we want to delete a blog with all of its posts at once.\n\n```cs\nvar blog = await database.Blogs.QuerySingle(@\"SELECT * FROM \"\"Blogs\"\" LIMIT 1\").QueryAsync();\n\nawait database.Blogs.DeleteAsync(blog);\n```\n\nAs an alternative, if you already have the primary key of the blog you want to delete you can create a new `Blog` instance.\n\n```cs\nawait database.Blogs.DeleteAsync(new Blog { Id = 1 });\n```"
  },
  {
    "path": "docs/docfx/guides/operations/execute.md",
    "content": "---\nuid: Guides.Operations.Execute\ntitle: Execute with Venflow\n---\n\n# Execute SQL with Venflow\n\n> [!WARNING] \n> Be carful while dealing with raw SQL and ensure that you never pass user modified SQL to any of the methods. Instead use parameterized  overloads or the `Interpolated` siblings.\n\nYour `Database` class exposes `Execute`methods which allow for fully custom SQL. In this example we drop a table.\n\n```cs\nawait database.ExecuteAsync(@\"DROP TABLE \"\"Foo\"\"\");\n```\n"
  },
  {
    "path": "docs/docfx/guides/operations/insert.md",
    "content": "---\nuid: Guides.Operations.Insert\ntitle: Insert with Venflow\n---\n\n# Insert Data with Venflow\n\nYour `Database` class exposes `Table<T>` properties which expose insert operations. In Venflow insert are always automatically generated. For this example, we want to insert a blog with a few posts at once.\n\n```cs\nvar blog = new Blog\n{\n    Name = \"My new Blog\",\n    Posts = new List<Post>\n    {\n        new Post \n        {\n            Title = \"This is my first Post\",\n            Content = \"Hey there.\"\n        },\n        new Post \n        {\n            Title = \"This is my second Post\",\n            Content = \"Hey there again!\"\n        }\n    }\n};\n\nawait database.Blogs.InsertAsync(blog);\n```\n\n## Insert Data without relations\n\nOne of the nice things with Venflow is, that you don't need to set all navigation properties to null, if you don't want to insert them. In this example we would have posts with a blog, but we only want to insert the blog.\n\n```cs\nvar blog = new Blog\n{\n    Name = \"My new Blog\",\n    Posts = new List<Post>\n    {\n        new Post \n        {\n            Title = \"This is my first Post\",\n            Content = \"Hey there.\"\n        },\n        new Post \n        {\n            Title = \"This is my second Post\",\n            Content = \"Hey there again!\"\n        }\n    }\n};\n\nawait database.Blogs.Insert().InsertAsync(blog);\n```\n\n> [!NOTE] \n> This builder exposes similar methods to the Query builder, you can use `InsertWith` and `AndWith` to further configure the insert.\n\n> [!NOTE] \n> The method `InsertWithAll` will insert with all populated and reachable relations. This is the equivalent to calling `database.Blogs.InsertAsync()`.\n\n"
  },
  {
    "path": "docs/docfx/guides/operations/query.md",
    "content": "---\nuid: Guides.Operations.Query\ntitle: Query with Venflow\n---\n\n# Query Data with Venflow\n\n> [!WARNING] \n> Be carful while dealing with raw SQL and ensure that you never pass user modified SQL to any of the methods. Instead use parameterized and lambda overloads, or the `Interpolated` siblings.\n\n> [!WARNING] \n> The primary key always has to be present and it has to be the first column of any given table returned by a SQL Query.\n\n## Query data without relations\n\nYour `Database` class exposes `Table<T>` properties which expose query operations. In Venflow queries are based on hand-written SQL. In this case we query the first 10 blogs in the database.\n\n```cs\nawait using var database = new BlogDatabase(); // You should register this in a Transient/Scoped your IOC Container.\n\n// You can re-use this in different BlogDatabase instances through the database.Blogs.QueryAsync() method\n// If you intend to reuse the query below you need to pass the QueryBatch method false for the disposeCommand,\n// otherwise the underyling command will be disposed after the first use.\nvar query = database.Blogs.QueryBatch(@\"SELECT * FROM \"\"Blogs\"\" LIMIT 10\").Build(); \n\nvar blogs = await query.QueryAsync(); // You can also inline this with the line above.\n```\n\nAdditionally if you do not intend to reuse the the command instance you can omit the `Build` method call and directly call `QueryAsync`.\n\nAlso, if you instead only wanted to query the first result, you can use the `QuerySingle` API.\n\n```cs\nvar blog = await database.Blogs.QuerySingle(@\"SELECT * FROM \"\"Blogs\"\" LIMIT 1\").QueryAsync();\n```\n\n### Query data with relations\n\nIn this case we want to get the first 5 blogs with all of their posts. If you want to perform a join, the builder exposes the `JoinWith` and the `ThenWith` method to perform nested joins.\n\n```cs\nconst string sql = \n@\"SELECT * FROM \n(\n\tSELECT * FROM \"\"Blogs\"\"\n\tLIMIT 5\n) AS \"\"Blogs\"\" \nJOIN \"\"Posts\"\" ON \"\"Posts\"\".\"\"BlogId\"\" = \"\"Blogs\"\".\"\"Id\"\"\";\n\nvar blogs = await database.Blogs.QueryBatch(sql).JoinWith(x => x.Posts).QueryAsync();\n```\n\nIf you instead only wanted to query the first blog with all of its posts, you can again use the `QuerySingle` API.\n\n```cs\nvar blog = await database.Blogs.QuerySingle().JoinWith(x => x.Posts).QueryAsync();\n```\n> [!WARNING] \n> When joining with multiple relations, ensure that the order of joins configured with Venflow, are equal to the order of joins in the SQL. \n\n## Queries with parameters\n\nMost of the times your query contains some sort of parameters. With Venflow you have two options, either by using the raw `NpgsqlParameter` class and the matching `QuerySingle`/`QueryBatch` overloads or the Interpolated SQL methods. You can learn more about string interpolation in [this guide](../advanced/interpolation.md). \n\nIn this example, we try to query the first blog with the id `5` with all of its posts. \n\n```cs\nFormattableString sql =\n$@\"SELECT * FROM \n(\n\tSELECT * FROM \"\"Blogs\"\"\n\tWHERE \"\"Id\"\" = {5}\n\tLIMIT 1\n) AS \"\"Blogs\"\" \nJOIN \"\"Posts\"\" ON \"\"Posts\"\".\"\"BlogId\"\" = \"\"Blogs\"\".\"\"Id\"\"\";\n\nvar blog = await database.Blogs.QueryInterpolatedSingle(sql).JoinWith(x => x.Posts).QueryAsync();\n```\n\n> [!NOTE] \n> Most of the methods in Venflow which accept raw SQL do have a sibling method called `*Interpolated*`.\n\n## Query with refactorable SQL\nAll `Query*` methods do contain an overload with a `Func<T, FormattableString>` parameter. This will not only allow for usual string interpolation like the `Query*Interpolated` methods, but also for refactorable SQL.\n```cs\nvar id = 1;\n\nvar blog = await Database.Blogs.QuerySingle(b => $\"SELECT * FROM {b} WHERE {b.Id} = {id}\").QueryAsync();\n```\n\nThis would result in the following SQL:\n\n```sql\n-- @p1 will contain the value '1'\nSELECT * FROM \"Blogs\" WHERE \"Blogs\".\"Id\" = @p1 \n```\n\n> [!NOTE] \n> As the lambda is converted to an expression tree under the hood, try to keep computations as low as possible inside the interpolated string itself e.g. `{}`, in order to reduce the memory footprint as well as to improve the performance. Instead try to compute everything before querying and store these results in locals which then can used inside the interpolated SQL.\n\n### Query relations with refactorable SQL\n\nQuerying with relations works quite similar as in the example above.\n\n```cs\nvar id = 1;\n\nvar blog = await Database.Blogs.QuerySingle<Post>(\n\t(b, p) => \n\t$\"SELECT * FROM {b} LEFT JOIN {p} ON {p.BlogId} = {b.Id} WHERE {b.Id} = {id}\"\n\t).JoinWith(x => x.Posts).QueryAsync();\n```\n\nThis would result in the following SQL:\n\n```sql\n-- @p1 will contain the value '1'\nSELECT * FROM \"Blogs\" \nLEFT JOIN \"Posts\" ON \"Posts\".\"BlogId\" = \"Blogs\".\"Id\"\nWHERE \"Blogs\".\"Id\" = @p1 \n```\n\n> [!NOTE] \n> As the lambda is converted to  an expression tree under the hood, try to keep computations as low as possible inside the interpolated string itself e.g. `{}`, in order to reduce the memory footprint as well as to improve the performance. Instead try to compute everything before querying and store these results in locals which then can used inside the interpolated SQL.\n\n## Query partial data\n\nThe beautiful thing about Venflow is that you can only query for partial data, which means that a query doesn't necessarily  has to return all column. There are only two thing you need to be aware of:\n\n- The primary key always needs to be returned\n- Assuming you have two tables, table A and table B, which you are joining together. Table A isn't allowed to contain a column (other than the primary key) to have the same name as the primary key of table B. Otherwise Venflow won't be able to know when to spilt the SQL result.\n\nA simple example of that would be something like the following, where we just query the name and the primary key of all blogs.\n\n```cs\nconst string sql = @\"SELECT \"\"Id\"\", \"\"Name\"\" FROM \"\"Blogs\"\"\";\n\nvar blogs = await database.Blogs.QueryBatch(sql).QueryAsync();\n```\n\n## Queries which don't return entities\n\nIn Venflow you have the option to construct queries which don't necessarily return a row of a table, in this case you can use the `Custom<T>` method on your `Database` class. \n\nIn the following example we want to return the amount of rows in the Blogs table.\n\n```cs\npublic class CountReturn\n{\n    public int Count { get; set; }\n}\n\nawait database.Custom<CountReturn>().QuerySingle(@\"SELECT COUNT(*) FROM \"\"Blogs\"\"\").QueryAsync();\n```\n\n> [!WARNING] \n> This API does not support any of the usual methods available on regular entities, such as change tracking or joins.\n"
  },
  {
    "path": "docs/docfx/guides/operations/truncate.md",
    "content": "---\nuid: Guides.Operations.Truncate\ntitle: Truncate with Venflow\n---\n\n# Truncate Table with Venflow\n\nYour `Database` class exposes `Table<T>` properties which expose truncate operations. In Venflow truncates are always automatically. For this example, we want to truncate the Blogs table.\n\n```cs\nawait database.Blogs.TruncateAsync();\n```\n"
  },
  {
    "path": "docs/docfx/guides/operations/update.md",
    "content": "---\nuid: Guides.Operations.Update\ntitle: Update with Venflow\n---\n\n# Update Data with Venflow\n\nYour `Database` class exposes `Table<T>` properties which expose update operations. In Venflow updates are always automatically generated. Updates of data happen through change-tracking of entities, however this does not include navigation properties. For this example, we want to update the title of a post.\n\n> [!WARNING] \n> All properties which you want to be updateable by change-tracking have to  be marked as virtual!\n\nIn order to get a change-tracked entity you can choose either of two ways. You can use the `TrackChanges` method on the query builder to immediately get change tracked entities.\n\n```cs\nvar post = await database.Posts.QuerySingle().TrackChanges().QueryAsync();\n\npost.Title = \"This post was updated!\";\n\nawait database.Posts.UpdateAsync(post);\n```\n\nOr you change track an entity after it was created.\n\n```cs\nvar post = new Post { Id = 1 };\n\ndatabase.Posts.TrackChanges(ref post);\n\npost.Title = \"This post was updated!\";\n\nawait database.Posts.UpdateAsync(post);\n```\n> [!NOTE] \n> Change tracking is not limited to one `Database` instance, additionally updating a change tracked entity is thread save.\n\n> [!WARNING] \n> Change tracking won't compare the old value and the new value of a property, this means that if you assign a property, no matter the value, it is considered to be changed."
  },
  {
    "path": "docs/docfx/guides/toc.yml",
    "content": "- name: Introduction\n  topicUid: Guides.Introduction\n- name: Getting Started\n  items:\n    - name: Installation\n      topicUid: Guides.GettingStarted.Installation\n    - name: Setup\n      topicUid: Guides.GettingStarted.Setup\n- name: Operations\n  items:\n    - name: Query\n      topicUid: Guides.Operations.Query\n    - name: Update\n      topicUid: Guides.Operations.Update\n    - name: Insert\n      topicUid: Guides.Operations.Insert\n    - name: Delete\n      topicUid: Guides.Operations.Delete\n    - name: Count\n      topicUid: Guides.Operations.Count\n    - name: Truncate\n      topicUid: Guides.Operations.Truncate\n    - name: Execute\n      topicUid: Guides.Operations.Execute\n- name: Advanced\n  items:\n    - name: Interpolation\n      topicUid: Guides.Advanced.Interpolation\n    - name: Enums\n      topicUid: Guides.Advanced.Enums\n    - name: Nullables\n      topicUid: Guides.Advanced.Nullables\n    - name: Statement Preparation\n      topicUid: Guides.Advanced.Preparation\n    - name: Validation\n      topicUid: Guides.Advanced.Validation\n    - name: Logging\n      topicUid: Guides.Advanced.Logging\n    - name: Microsoft.Extensions.Logging\n      topicUid: Guides.Advanced.Logging.Extensions\n    - name: Strongly-typed Ids\n      topicUid: Guides.Advanced.StrongKeys\n    - name: Asp.Net Core\n      topicUid: Guides.Advanced.AspNetCore\n    - name: Query Command Caching\n      topicUid: Guides.Advanced.CommandQueryCache"
  },
  {
    "path": "docs/docfx/index.json",
    "content": "{\n  \"api/index.html\": {\n    \"href\": \"api/index.html\",\n    \"title\": \"The API Docs of Venflow | Venflow Documentation\",\n    \"keywords\": \"Welcome to the API Documentation of Venflow Here you will be able to find all the public API's and there descriptions.\"\n  },\n  \"api/Venflow.Commands.html\": {\n    \"href\": \"api/Venflow.Commands.html\",\n    \"title\": \"Namespace Venflow.Commands | Venflow Documentation\",\n    \"keywords\": \"Namespace Venflow.Commands Interfaces IBaseInsertRelationBuilder<TRelationEntity, TRootEntity> Represents a base insert relation builder to configure the insert. IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn> Represents a base query relation builder to configure the query. IDeleteCommand<TEntity> Represents a command which performs deletions of entities. IDeleteCommandBuilder<TEntity> Represents a command builder to configure the deletion. IInsertCommand<TEntity> Represents a command which performs insertions of entities. IInsertCommandBuilder<TEntity> Represents a command builder to configure the insertion. IInsertRelationBuilder<TRelationEntity, TRootEntity> Represents a insert relation builder to configure the insert. IPreCommandBuilder<TEntity, TReturn> Represents a pre-command builder to configure the query. IQueryCommand<TEntity, TReturn> Represents a command which performs queries and materialize the results to entities. IQueryCommandBuilder<TEntity, TReturn> Represents a command builder to configure the query. IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn> Represents a query relation builder to configure the query. ISpecficVenflowCommandBuilder<TCommand> Represents a generic command builder for all CRUD operations to finalize the configuration. IUpdateCommand<TEntity> Represents a command which performs updates of entities. IUpdateCommandBuilder<TEntity> Represents a command builder to configure the update. IVenflowCommand<TEntity> The base command for all other CRUD commands. IVenflowCommandBuilder<TEntity> Represents a generic command builder to create any CRUD command.\"\n  },\n  \"api/Venflow.Commands.IBaseInsertRelationBuilder-2.html\": {\n    \"href\": \"api/Venflow.Commands.IBaseInsertRelationBuilder-2.html\",\n    \"title\": \"Interface IBaseInsertRelationBuilder<TRelationEntity, TRootEntity> | Venflow Documentation\",\n    \"keywords\": \"Interface IBaseInsertRelationBuilder<TRelationEntity, TRootEntity> Represents a base insert relation builder to configure the insert. Inherited Members IInsertCommandBuilder<TRootEntity>.InsertAsync(TRootEntity, CancellationToken) IInsertCommandBuilder<TRootEntity>.InsertAsync(IList<TRootEntity>, CancellationToken) ISpecficVenflowCommandBuilder<IInsertCommand<TRootEntity>>.Build() Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IBaseInsertRelationBuilder<TRelationEntity, TRootEntity> : IInsertCommandBuilder<TRootEntity>, ISpecficVenflowCommandBuilder<IInsertCommand<TRootEntity>> where TRelationEntity : class, new() where TRootEntity : class, new() Type Parameters Name Description TRelationEntity The type of the entity which will be joined with. TRootEntity The root type of the entity. Methods | Improve this Doc View Source With<TToEntity>(Expression<Func<TRootEntity, TToEntity>>) Allows to configure the inserted relations with the current insert. Declaration IInsertRelationBuilder<TToEntity, TRootEntity> With<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRootEntity, TToEntity>> propertySelector A lambda expression representing the navigation property which should get inserted with the root entity during insertion. Returns Type Description IInsertRelationBuilder <TToEntity, TRootEntity> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the inserted entity. | Improve this Doc View Source With<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>) Allows to configure the inserted relations with the current insert. Declaration IInsertRelationBuilder<TToEntity, TRootEntity> With<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRootEntity, System.Collections.Generic.IList <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get inserted with the root entity during insertion. Returns Type Description IInsertRelationBuilder <TToEntity, TRootEntity> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the inserted entity. | Improve this Doc View Source With<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>) Allows to configure the inserted relations with the current insert. Declaration IInsertRelationBuilder<TToEntity, TRootEntity> With<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRootEntity, System.Collections.Generic.List <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get inserted with the root entity during insertion. Returns Type Description IInsertRelationBuilder <TToEntity, TRootEntity> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the inserted entity. | Improve this Doc View Source WithAll() Allows to configure the current insert, to insert all populated relations which can be reached. Declaration IBaseInsertRelationBuilder<TRootEntity, TRootEntity> WithAll() Returns Type Description IBaseInsertRelationBuilder <TRootEntity, TRootEntity> An object that can be used to further configure the operation.\"\n  },\n  \"api/Venflow.Commands.IBaseQueryRelationBuilder-3.html\": {\n    \"href\": \"api/Venflow.Commands.IBaseQueryRelationBuilder-3.html\",\n    \"title\": \"Interface IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn> | Venflow Documentation\",\n    \"keywords\": \"Interface IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn> Represents a base query relation builder to configure the query. Inherited Members IPreCommandBuilder<TRootEntity, TReturn>.AddFormatter() IQueryCommandBuilder<TRootEntity, TReturn>.TrackChanges(Boolean) IQueryCommandBuilder<TRootEntity, TReturn>.LogTo(Boolean) IQueryCommandBuilder<TRootEntity, TReturn>.LogTo(Action<String>, Boolean) IQueryCommandBuilder<TRootEntity, TReturn>.LogTo(ValueTuple<Action<String>, Boolean>[]) IQueryCommandBuilder<TRootEntity, TReturn>.QueryAsync(CancellationToken) ISpecficVenflowCommandBuilder<IQueryCommand<TRootEntity, TReturn>>.Build() Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn> : IPreCommandBuilder<TRootEntity, TReturn>, IQueryCommandBuilder<TRootEntity, TReturn>, ISpecficVenflowCommandBuilder<IQueryCommand<TRootEntity, TReturn>> where TRelationEntity : class, new() where TRootEntity : class, new() where TReturn : class, new() Type Parameters Name Description TRelationEntity The type of the entity which will be joined with. TRootEntity The root type of the entity. TReturn The return type of the query. Methods | Improve this Doc View Source FullJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>) Allows to configure materialized full joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> FullJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRootEntity, TToEntity>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source FullJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>) Allows to configure materialized full joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> FullJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRootEntity, System.Collections.Generic.IList <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source FullJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>) Allows to configure materialized full joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> FullJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRootEntity, System.Collections.Generic.List <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source JoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>, JoinBehaviour) Allows to configure materialized joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> JoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRootEntity, TToEntity>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. JoinBehaviour joinBehaviour Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. | Improve this Doc View Source JoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>, JoinBehaviour) Allows to configure materialized joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> JoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRootEntity, System.Collections.Generic.IList <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. JoinBehaviour joinBehaviour Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. | Improve this Doc View Source JoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>, JoinBehaviour) Allows to configure materialized joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> JoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRootEntity, System.Collections.Generic.List <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. JoinBehaviour joinBehaviour Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. | Improve this Doc View Source LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>) Allows to configure materialized left joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRootEntity, TToEntity>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>) Allows to configure materialized left joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRootEntity, System.Collections.Generic.IList <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>) Allows to configure materialized left joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRootEntity, System.Collections.Generic.List <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source RightJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>) Allows to configure materialized right joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> RightJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRootEntity, TToEntity>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source RightJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>) Allows to configure materialized right joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> RightJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRootEntity, System.Collections.Generic.IList <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source RightJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>) Allows to configure materialized right joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> RightJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRootEntity, System.Collections.Generic.List <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.\"\n  },\n  \"api/Venflow.Commands.IDeleteCommand-1.html\": {\n    \"href\": \"api/Venflow.Commands.IDeleteCommand-1.html\",\n    \"title\": \"Interface IDeleteCommand<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Interface IDeleteCommand<TEntity> Represents a command which performs deletions of entities. Inherited Members System.IAsyncDisposable.DisposeAsync() Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IDeleteCommand<TEntity> : IVenflowCommand<TEntity>, IAsyncDisposable where TEntity : class, new() Type Parameters Name Description TEntity The type of the entity which will be deleted. Methods | Improve this Doc View Source DeleteAsync(TEntity, CancellationToken) Asynchronously deletes a single entity. Declaration ValueTask<int> DeleteAsync(TEntity entity, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description TEntity entity The entity instance which should be deleted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.ValueTask < System.Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. | Improve this Doc View Source DeleteAsync(TEntity[], CancellationToken) Asynchronously deletes a set of entity. Declaration ValueTask<int> DeleteAsync(TEntity[] entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description TEntity[] entities The entity instances which should be deleted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.ValueTask < System.Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. | Improve this Doc View Source DeleteAsync(IEnumerable<TEntity>, CancellationToken) Asynchronously deletes a set of entity. Declaration ValueTask<int> DeleteAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Collections.Generic.IEnumerable <TEntity> entities The entity instances which should be deleted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.ValueTask < System.Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. | Improve this Doc View Source DeleteAsync(IList<TEntity>, CancellationToken) Asynchronously deletes a set of entity. Declaration ValueTask<int> DeleteAsync(IList<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Collections.Generic.IList <TEntity> entities The entity instances which should be deleted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.ValueTask < System.Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. | Improve this Doc View Source DeleteAsync(List<TEntity>, CancellationToken) Asynchronously deletes a set of entity. Declaration ValueTask<int> DeleteAsync(List<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Collections.Generic.List <TEntity> entities The entity instances which should be deleted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.ValueTask < System.Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.\"\n  },\n  \"api/Venflow.Commands.IDeleteCommandBuilder-1.html\": {\n    \"href\": \"api/Venflow.Commands.IDeleteCommandBuilder-1.html\",\n    \"title\": \"Interface IDeleteCommandBuilder<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Interface IDeleteCommandBuilder<TEntity> Represents a command builder to configure the deletion. Inherited Members ISpecficVenflowCommandBuilder<IDeleteCommand<TEntity>>.Build() Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IDeleteCommandBuilder<TEntity> : ISpecficVenflowCommandBuilder<IDeleteCommand<TEntity>> where TEntity : class, new() Type Parameters Name Description TEntity The type of the entity which will be deleted. Methods | Improve this Doc View Source DeleteAsync(TEntity, CancellationToken) Asynchronously deletes a single entity. Declaration ValueTask<int> DeleteAsync(TEntity entity, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description TEntity entity The entity instance which should be deleted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.ValueTask < System.Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. | Improve this Doc View Source DeleteAsync(TEntity[], CancellationToken) Asynchronously deletes a set of entity. Declaration ValueTask<int> DeleteAsync(TEntity[] entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description TEntity[] entities The entity instances which should be deleted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.ValueTask < System.Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. | Improve this Doc View Source DeleteAsync(IEnumerable<TEntity>, CancellationToken) Asynchronously deletes a set of entity. Declaration ValueTask<int> DeleteAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Collections.Generic.IEnumerable <TEntity> entities The entity instances which should be deleted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.ValueTask < System.Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. | Improve this Doc View Source DeleteAsync(IList<TEntity>, CancellationToken) Asynchronously deletes a set of entity. Declaration ValueTask<int> DeleteAsync(IList<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Collections.Generic.IList <TEntity> entities The entity instances which should be deleted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.ValueTask < System.Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. | Improve this Doc View Source DeleteAsync(List<TEntity>, CancellationToken) Asynchronously deletes a set of entity. Declaration ValueTask<int> DeleteAsync(List<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Collections.Generic.List <TEntity> entities The entity instances which should be deleted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.ValueTask < System.Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.\"\n  },\n  \"api/Venflow.Commands.IInsertCommand-1.html\": {\n    \"href\": \"api/Venflow.Commands.IInsertCommand-1.html\",\n    \"title\": \"Interface IInsertCommand<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Interface IInsertCommand<TEntity> Represents a command which performs insertions of entities. Inherited Members System.IAsyncDisposable.DisposeAsync() Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IInsertCommand<TEntity> : IVenflowCommand<TEntity>, IAsyncDisposable where TEntity : class, new() Type Parameters Name Description TEntity The type of the entity which will be inserted. Methods | Improve this Doc View Source InsertAsync(TEntity, CancellationToken) Asynchronously inserts a single entity. Declaration Task<int> InsertAsync(TEntity entity, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description TEntity entity The entity instance which should be inserted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.Task < System.Int32 > A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise. | Improve this Doc View Source InsertAsync(IList<TEntity>, CancellationToken) Asynchronously inserts a set of entities. Declaration Task<int> InsertAsync(IList<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Collections.Generic.IList <TEntity> entities The entity instances which should be inserted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.Task < System.Int32 > A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise.\"\n  },\n  \"api/Venflow.Commands.IInsertCommandBuilder-1.html\": {\n    \"href\": \"api/Venflow.Commands.IInsertCommandBuilder-1.html\",\n    \"title\": \"Interface IInsertCommandBuilder<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Interface IInsertCommandBuilder<TEntity> Represents a command builder to configure the insertion. Inherited Members ISpecficVenflowCommandBuilder<IInsertCommand<TEntity>>.Build() Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IInsertCommandBuilder<TEntity> : ISpecficVenflowCommandBuilder<IInsertCommand<TEntity>> where TEntity : class, new() Type Parameters Name Description TEntity The type of the entity which will be inserted. Methods | Improve this Doc View Source InsertAsync(TEntity, CancellationToken) Asynchronously inserts a single entity. Declaration Task<int> InsertAsync(TEntity entity, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description TEntity entity The entity instance which should be inserted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.Task < System.Int32 > A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise. | Improve this Doc View Source InsertAsync(IList<TEntity>, CancellationToken) Asynchronously inserts a set of entities. Declaration Task<int> InsertAsync(IList<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Collections.Generic.IList <TEntity> entities The entity instances which should be inserted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.Task < System.Int32 > A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise.\"\n  },\n  \"api/Venflow.Commands.IInsertRelationBuilder-2.html\": {\n    \"href\": \"api/Venflow.Commands.IInsertRelationBuilder-2.html\",\n    \"title\": \"Interface IInsertRelationBuilder<TRelationEntity, TRootEntity> | Venflow Documentation\",\n    \"keywords\": \"Interface IInsertRelationBuilder<TRelationEntity, TRootEntity> Represents a insert relation builder to configure the insert. Inherited Members IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.WithAll() IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.With<TToEntity>(Expression<Func<TRootEntity, TToEntity>>) IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.With<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>) IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.With<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>) IInsertCommandBuilder<TRootEntity>.InsertAsync(TRootEntity, CancellationToken) IInsertCommandBuilder<TRootEntity>.InsertAsync(IList<TRootEntity>, CancellationToken) ISpecficVenflowCommandBuilder<IInsertCommand<TRootEntity>>.Build() Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IInsertRelationBuilder<TRelationEntity, TRootEntity> : IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>, IInsertCommandBuilder<TRootEntity>, ISpecficVenflowCommandBuilder<IInsertCommand<TRootEntity>> where TRelationEntity : class, new() where TRootEntity : class, new() Type Parameters Name Description TRelationEntity The type of the entity which will be inserted with. TRootEntity The root type of the entity. Methods | Improve this Doc View Source AndWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>) Allows to configure the inserted relations with the current insert. Declaration IInsertRelationBuilder<TToEntity, TRootEntity> AndWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRelationEntity, TToEntity>> propertySelector A lambda expression representing the navigation property which should get inserted with the root entity during insertion. Returns Type Description IInsertRelationBuilder <TToEntity, TRootEntity> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the inserted entity. | Improve this Doc View Source AndWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>) Allows to configure the inserted relations with the current insert. Declaration IInsertRelationBuilder<TToEntity, TRootEntity> AndWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRelationEntity, System.Collections.Generic.IList <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get inserted with the root entity during insertion. Returns Type Description IInsertRelationBuilder <TToEntity, TRootEntity> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the inserted entity. | Improve this Doc View Source AndWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>) Allows to configure the inserted relations with the current insert. Declaration IInsertRelationBuilder<TToEntity, TRootEntity> AndWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRelationEntity, System.Collections.Generic.List <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get inserted with the root entity during insertion. Returns Type Description IInsertRelationBuilder <TToEntity, TRootEntity> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the inserted entity.\"\n  },\n  \"api/Venflow.Commands.IPreCommandBuilder-2.html\": {\n    \"href\": \"api/Venflow.Commands.IPreCommandBuilder-2.html\",\n    \"title\": \"Interface IPreCommandBuilder<TEntity, TReturn> | Venflow Documentation\",\n    \"keywords\": \"Interface IPreCommandBuilder<TEntity, TReturn> Represents a pre-command builder to configure the query. Inherited Members IQueryCommandBuilder<TEntity, TReturn>.TrackChanges(Boolean) IQueryCommandBuilder<TEntity, TReturn>.LogTo(Boolean) IQueryCommandBuilder<TEntity, TReturn>.LogTo(Action<String>, Boolean) IQueryCommandBuilder<TEntity, TReturn>.LogTo(ValueTuple<Action<String>, Boolean>[]) IQueryCommandBuilder<TEntity, TReturn>.QueryAsync(CancellationToken) ISpecficVenflowCommandBuilder<IQueryCommand<TEntity, TReturn>>.Build() Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IPreCommandBuilder<TEntity, TReturn> : IQueryCommandBuilder<TEntity, TReturn>, ISpecficVenflowCommandBuilder<IQueryCommand<TEntity, TReturn>> where TEntity : class, new() where TReturn : class, new() Type Parameters Name Description TEntity The type of the entity which will be queried. TReturn The return type of the query. Methods | Improve this Doc View Source AddFormatter() Defines if >< should be replaced by automatically generated joins in your SQL. Declaration IBaseQueryRelationBuilder<TEntity, TEntity, TReturn> AddFormatter() Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TReturn> An object that can be used to further configure the operation.\"\n  },\n  \"api/Venflow.Commands.IQueryCommand-2.html\": {\n    \"href\": \"api/Venflow.Commands.IQueryCommand-2.html\",\n    \"title\": \"Interface IQueryCommand<TEntity, TReturn> | Venflow Documentation\",\n    \"keywords\": \"Interface IQueryCommand<TEntity, TReturn> Represents a command which performs queries and materialize the results to entities. Inherited Members System.IAsyncDisposable.DisposeAsync() Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IQueryCommand<TEntity, TReturn> : IVenflowCommand<TEntity>, IAsyncDisposable where TEntity : class, new() where TReturn : class, new() Type Parameters Name Description TEntity The type of the entity which represents the result of the query. TReturn The return type of the query. Methods | Improve this Doc View Source PrepareAsync(CancellationToken) Asynchronously prepares the current SQL command on the database. Declaration Task<IQueryCommand<TEntity, TReturn>> PrepareAsync(CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.Task < IQueryCommand <TEntity, TReturn>> | Improve this Doc View Source QueryAsync(CancellationToken) Asynchronously performs queries and materializes the result. Declaration Task<TReturn> QueryAsync(CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.Task <TReturn> A task representing the asynchronous operation, with the materialized result of the query; null otherwise. | Improve this Doc View Source UnprepareAsync(CancellationToken) Asynchronously un-prepares the current SQL command on the database. Declaration Task<IQueryCommand<TEntity, TReturn>> UnprepareAsync(CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.Task < IQueryCommand <TEntity, TReturn>>\"\n  },\n  \"api/Venflow.Commands.IQueryCommandBuilder-2.html\": {\n    \"href\": \"api/Venflow.Commands.IQueryCommandBuilder-2.html\",\n    \"title\": \"Interface IQueryCommandBuilder<TEntity, TReturn> | Venflow Documentation\",\n    \"keywords\": \"Interface IQueryCommandBuilder<TEntity, TReturn> Represents a command builder to configure the query. Inherited Members ISpecficVenflowCommandBuilder<IQueryCommand<TEntity, TReturn>>.Build() Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IQueryCommandBuilder<TEntity, TReturn> : ISpecficVenflowCommandBuilder<IQueryCommand<TEntity, TReturn>> where TEntity : class, new() where TReturn : class, new() Type Parameters Name Description TEntity The type of the entity which will be queried. TReturn The return type of the query. Methods | Improve this Doc View Source LogTo(Action<String>, Boolean) Logs the query to the provided logger . Declaration IQueryCommandBuilder<TEntity, TReturn> LogTo(Action<string> logger, bool includeSensitiveData) Parameters Type Name Description System.Action < System.String > logger The logger which is being used for this query. System.Boolean includeSensitiveData Determines whether or not to show populated parameters in this query. Returns Type Description IQueryCommandBuilder <TEntity, TReturn> An object that can be used to further configure the operation. Remarks Be aware, that once you configure a logger on a query, the global configured loggers won't be executed for this query. | Improve this Doc View Source LogTo(Boolean) Determines whether or not to log the query to the provided loggers. Declaration IQueryCommandBuilder<TEntity, TReturn> LogTo(bool shouldLog = true) Parameters Type Name Description System.Boolean shouldLog Determines if this query should be logged. This is helpful, if you configured the default logging behavior to be true . Returns Type Description IQueryCommandBuilder <TEntity, TReturn> An object that can be used to further configure the operation. Remarks You can configure the loggers in the Configure(DatabaseOptionsBuilder) method with the LogTo(Action<String>, Boolean) methods. | Improve this Doc View Source LogTo((Action<String> logger, Boolean includeSensitiveData)[]) Logs the query to the provided loggers . Declaration IQueryCommandBuilder<TEntity, TReturn> LogTo(params (Action<string> logger, bool includeSensitiveData)[] loggers) Parameters Type Name Description System.ValueTuple < System.Action < System.String >, System.Boolean >[] loggers The loggers which are being used for this query. Returns Type Description IQueryCommandBuilder <TEntity, TReturn> An object that can be used to further configure the operation. Remarks Be aware, that once you configure one or more loggers on a query, the global configured loggers won't be executed for this query. | Improve this Doc View Source QueryAsync(CancellationToken) Asynchronously performs queries and materializes the result. Declaration Task<TReturn> QueryAsync(CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.Task <TReturn> A task representing the asynchronous operation, with the materialized result of the query; null otherwise. | Improve this Doc View Source TrackChanges(Boolean) Determines whether or not to return change tracked entities from the query. Declaration IQueryCommandBuilder<TEntity, TReturn> TrackChanges(bool trackChanges = true) Parameters Type Name Description System.Boolean trackChanges Determines if change tracking should be applied. Returns Type Description IQueryCommandBuilder <TEntity, TReturn> An object that can be used to further configure the operation.\"\n  },\n  \"api/Venflow.Commands.IQueryRelationBuilder-3.html\": {\n    \"href\": \"api/Venflow.Commands.IQueryRelationBuilder-3.html\",\n    \"title\": \"Interface IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn> | Venflow Documentation\",\n    \"keywords\": \"Interface IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn> Represents a query relation builder to configure the query. Inherited Members IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.JoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>, JoinBehaviour) IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.JoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>, JoinBehaviour) IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.JoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>, JoinBehaviour) IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>) IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>) IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>) IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>) IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>) IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>) IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>) IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>) IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>) IPreCommandBuilder<TRootEntity, TReturn>.AddFormatter() IQueryCommandBuilder<TRootEntity, TReturn>.TrackChanges(Boolean) IQueryCommandBuilder<TRootEntity, TReturn>.LogTo(Boolean) IQueryCommandBuilder<TRootEntity, TReturn>.LogTo(Action<String>, Boolean) IQueryCommandBuilder<TRootEntity, TReturn>.LogTo(ValueTuple<Action<String>, Boolean>[]) IQueryCommandBuilder<TRootEntity, TReturn>.QueryAsync(CancellationToken) ISpecficVenflowCommandBuilder<IQueryCommand<TRootEntity, TReturn>>.Build() Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn> : IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>, IPreCommandBuilder<TRootEntity, TReturn>, IQueryCommandBuilder<TRootEntity, TReturn>, ISpecficVenflowCommandBuilder<IQueryCommand<TRootEntity, TReturn>> where TRelationEntity : class, new() where TRootEntity : class, new() where TReturn : class, new() Type Parameters Name Description TRelationEntity The type of the entity which will be joined with. TRootEntity The root type of the entity. TReturn The return type of the query. Methods | Improve this Doc View Source ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>) Allows to configure materialized full joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRelationEntity, TToEntity>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>) Allows to configure materialized full joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRelationEntity, System.Collections.Generic.IList <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>) Allows to configure materialized full joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRelationEntity, System.Collections.Generic.List <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>) Allows to configure materialized left joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRelationEntity, TToEntity>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>) Allows to configure materialized left joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRelationEntity, System.Collections.Generic.IList <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>) Allows to configure materialized left joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRelationEntity, System.Collections.Generic.List <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>) Allows to configure materialized right joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRelationEntity, TToEntity>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>) Allows to configure materialized right joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRelationEntity, System.Collections.Generic.IList <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>) Allows to configure materialized right joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRelationEntity, System.Collections.Generic.List <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source ThenWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>, JoinBehaviour) Allows to configure materialized joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRelationEntity, TToEntity>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. JoinBehaviour joinBehaviour Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. | Improve this Doc View Source ThenWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>, JoinBehaviour) Allows to configure materialized joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRelationEntity, System.Collections.Generic.IList <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. JoinBehaviour joinBehaviour Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. | Improve this Doc View Source ThenWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>, JoinBehaviour) Allows to configure materialized joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin) where TToEntity : class, new() Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRelationEntity, System.Collections.Generic.List <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. JoinBehaviour joinBehaviour Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity.\"\n  },\n  \"api/Venflow.Commands.ISpecficVenflowCommandBuilder-1.html\": {\n    \"href\": \"api/Venflow.Commands.ISpecficVenflowCommandBuilder-1.html\",\n    \"title\": \"Interface ISpecficVenflowCommandBuilder<TCommand> | Venflow Documentation\",\n    \"keywords\": \"Interface ISpecficVenflowCommandBuilder<TCommand> Represents a generic command builder for all CRUD operations to finalize the configuration. Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface ISpecficVenflowCommandBuilder<out TCommand> where TCommand : class Type Parameters Name Description TCommand The type of the command which is being configured. Methods | Improve this Doc View Source Build() Finalizes the ongoing configuration process and builds the command. Declaration TCommand Build() Returns Type Description TCommand The built command.\"\n  },\n  \"api/Venflow.Commands.IUpdateCommand-1.html\": {\n    \"href\": \"api/Venflow.Commands.IUpdateCommand-1.html\",\n    \"title\": \"Interface IUpdateCommand<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Interface IUpdateCommand<TEntity> Represents a command which performs updates of entities. Inherited Members System.IAsyncDisposable.DisposeAsync() Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IUpdateCommand<TEntity> : IVenflowCommand<TEntity>, IAsyncDisposable where TEntity : class, new() Type Parameters Name Description TEntity The type of the entity which will be updated. Methods | Improve this Doc View Source UpdateAsync(TEntity, CancellationToken) Asynchronously updates a single entity. Declaration ValueTask UpdateAsync(TEntity entity, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description TEntity entity The change tracked entity instance which should be updated. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.ValueTask A task representing the asynchronous operation. | Improve this Doc View Source UpdateAsync(TEntity[], CancellationToken) Asynchronously updates a set of entities. Declaration ValueTask UpdateAsync(TEntity[] entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description TEntity[] entities The change tracked entity instances which should be updated. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.ValueTask A task representing the asynchronous operation. | Improve this Doc View Source UpdateAsync(IEnumerable<TEntity>, CancellationToken) Asynchronously updates a set of entities. Declaration ValueTask UpdateAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Collections.Generic.IEnumerable <TEntity> entities The change tracked entity instances which should be updated. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.ValueTask A task representing the asynchronous operation. | Improve this Doc View Source UpdateAsync(IList<TEntity>, CancellationToken) Asynchronously updates a set of entities. Declaration ValueTask UpdateAsync(IList<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Collections.Generic.IList <TEntity> entities The change tracked entity instances which should be updated. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.ValueTask A task representing the asynchronous operation. | Improve this Doc View Source UpdateAsync(List<TEntity>, CancellationToken) Asynchronously updates a set of entities. Declaration ValueTask UpdateAsync(List<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Collections.Generic.List <TEntity> entities The change tracked entity instances which should be updated. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.ValueTask A task representing the asynchronous operation.\"\n  },\n  \"api/Venflow.Commands.IUpdateCommandBuilder-1.html\": {\n    \"href\": \"api/Venflow.Commands.IUpdateCommandBuilder-1.html\",\n    \"title\": \"Interface IUpdateCommandBuilder<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Interface IUpdateCommandBuilder<TEntity> Represents a command builder to configure the update. Inherited Members ISpecficVenflowCommandBuilder<IUpdateCommand<TEntity>>.Build() Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IUpdateCommandBuilder<TEntity> : ISpecficVenflowCommandBuilder<IUpdateCommand<TEntity>> where TEntity : class, new() Type Parameters Name Description TEntity The type of the entity which will be updated. Methods | Improve this Doc View Source UpdateAsync(TEntity, CancellationToken) Asynchronously updates a single entity. Declaration ValueTask UpdateAsync(TEntity entity, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description TEntity entity The change tracked entity instance which should be updated. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.ValueTask A task representing the asynchronous operation. | Improve this Doc View Source UpdateAsync(TEntity[], CancellationToken) Asynchronously updates a set of entities. Declaration ValueTask UpdateAsync(TEntity[] entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description TEntity[] entities The change tracked entity instances which should be updated. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.ValueTask A task representing the asynchronous operation. | Improve this Doc View Source UpdateAsync(IEnumerable<TEntity>, CancellationToken) Asynchronously updates a set of entities. Declaration ValueTask UpdateAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Collections.Generic.IEnumerable <TEntity> entities The change tracked entity instances which should be updated. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.ValueTask A task representing the asynchronous operation. | Improve this Doc View Source UpdateAsync(IList<TEntity>, CancellationToken) Asynchronously updates a set of entities. Declaration ValueTask UpdateAsync(IList<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Collections.Generic.IList <TEntity> entities The change tracked entity instances which should be updated. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.ValueTask A task representing the asynchronous operation. | Improve this Doc View Source UpdateAsync(List<TEntity>, CancellationToken) Asynchronously updates a set of entities. Declaration ValueTask UpdateAsync(List<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Collections.Generic.List <TEntity> entities The change tracked entity instances which should be updated. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.ValueTask A task representing the asynchronous operation.\"\n  },\n  \"api/Venflow.Commands.IVenflowCommand-1.html\": {\n    \"href\": \"api/Venflow.Commands.IVenflowCommand-1.html\",\n    \"title\": \"Interface IVenflowCommand<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Interface IVenflowCommand<TEntity> The base command for all other CRUD commands. Inherited Members System.IAsyncDisposable.DisposeAsync() Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IVenflowCommand<TEntity> : IAsyncDisposable where TEntity : class, new() Type Parameters Name Description TEntity The type of the entity which is being used in the current operation.\"\n  },\n  \"api/Venflow.Commands.IVenflowCommandBuilder-1.html\": {\n    \"href\": \"api/Venflow.Commands.IVenflowCommandBuilder-1.html\",\n    \"title\": \"Interface IVenflowCommandBuilder<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Interface IVenflowCommandBuilder<TEntity> Represents a generic command builder to create any CRUD command. Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IVenflowCommandBuilder<TEntity> where TEntity : class, new() Type Parameters Name Description TEntity The type of the entity which will be used for the command. Methods | Improve this Doc View Source Delete() Creates a new delete command builder. Declaration IDeleteCommandBuilder<TEntity> Delete() Returns Type Description IDeleteCommandBuilder <TEntity> A Fluent API Builder for a delete command. | Improve this Doc View Source Insert() Creates a new insert command builder. Declaration IBaseInsertRelationBuilder<TEntity, TEntity> Insert() Returns Type Description IBaseInsertRelationBuilder <TEntity, TEntity> A Fluent API Builder for a insert command. | Improve this Doc View Source QueryBatch(String) Creates a new query command builder, which expects a set of primary rows to be returned. This API does not support string interpolation! If you need to pass parameters with the query, either use QuerySingle(String, NpgsqlParameter[]) or QueryInterpolatedSingle(FormattableString) . Declaration IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(string sql) Parameters Type Name Description System.String sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, System.Collections.Generic.List <TEntity>> A Fluent API Builder for a query command. | Improve this Doc View Source QueryBatch(String, NpgsqlParameter[]) Creates a new query command builder, which expects a set of primary rows to be returned. This API does not support string interpolation! If you want to pass interpolated SQL use QueryInterpolatedSingle(FormattableString) . Declaration IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(string sql, params NpgsqlParameter[] parameters) Parameters Type Name Description System.String sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Npgsql.NpgsqlParameter [] parameters A set of Npgsql.NpgsqlParameter which contain parameters for the sql command. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, System.Collections.Generic.List <TEntity>> A Fluent API Builder for a query command. | Improve this Doc View Source QueryInterpolatedBatch(FormattableString) Creates a new query command builder, which expects a set of primary rows to be returned. This API does support string interpolation! . Declaration IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryInterpolatedBatch(FormattableString sql) Parameters Type Name Description System.FormattableString sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, System.Collections.Generic.List <TEntity>> A Fluent API Builder for a query command. | Improve this Doc View Source QueryInterpolatedSingle(FormattableString) Creates a new query command builder, which expects a single returned primary row. This API does support string interpolation! . Declaration IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QueryInterpolatedSingle(FormattableString sql) Parameters Type Name Description System.FormattableString sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. | Improve this Doc View Source QuerySingle(String) Creates a query command with a single result. This API does not support string interpolation! If you need to pass parameters with the query, either use QuerySingle(String, NpgsqlParameter[]) or QueryInterpolatedSingle(FormattableString) . Declaration IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(string sql) Parameters Type Name Description System.String sql Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> An object that can be used to further configure the operation. | Improve this Doc View Source QuerySingle(String, NpgsqlParameter[]) Creates a new query command builder, which expects a single returned primary row. This API does not support string interpolation! If you want to pass interpolated SQL use QueryInterpolatedSingle(FormattableString) . Declaration IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(string sql, params NpgsqlParameter[] parameters) Parameters Type Name Description System.String sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Npgsql.NpgsqlParameter [] parameters A set of Npgsql.NpgsqlParameter which contain parameters for the sql command. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. | Improve this Doc View Source Update() Creates a new update command builder. Declaration IUpdateCommandBuilder<TEntity> Update() Returns Type Description IUpdateCommandBuilder <TEntity> A Fluent API Builder for a update command.\"\n  },\n  \"api/Venflow.Database.html\": {\n    \"href\": \"api/Venflow.Database.html\",\n    \"title\": \"Class Database | Venflow Documentation\",\n    \"keywords\": \"Class Database A Database instance represents a session with the database and can be used to perform CRUD operations with your tables and entities. Inheritance System.Object Database Implements System.IAsyncDisposable System.IDisposable Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Venflow Assembly : Venflow.dll Syntax public abstract class Database : IAsyncDisposable, IDisposable Remarks Typically you create a class that derives from Database and contains Table<TEntity> properties for each entity in the Database. All the Table<TEntity> properties must have a public setter, they are automatically initialized when the instance of the derived type is created. Constructors | Improve this Doc View Source Database(String) Initializes a new instance of the Database class using the specified connectionString . Declaration protected Database(string connectionString) Parameters Type Name Description System.String connectionString The connection string to your PostgreSQL Database. Methods | Improve this Doc View Source BeginTransactionAsync(IsolationLevel, CancellationToken) Asynchronously begins a new transaction. Declaration public Task<NpgsqlTransaction> BeginTransactionAsync(IsolationLevel isolationLevel, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Data.IsolationLevel isolationLevel The isolation level under which the transaction should run. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.Task < Npgsql.NpgsqlTransaction > A task that represents the asynchronous operation. The task result contains the newly created transaction. | Improve this Doc View Source BeginTransactionAsync(CancellationToken) Asynchronously begins a new transaction. Declaration public Task<NpgsqlTransaction> BeginTransactionAsync(CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description System.Threading.Tasks.Task < Npgsql.NpgsqlTransaction > A task that represents the asynchronous operation. The task result contains the newly created transaction. | Improve this Doc View Source Configure(DatabaseOptionsBuilder) Allows for further configuration of the Database . Declaration protected virtual void Configure(DatabaseOptionsBuilder optionsBuilder) Parameters Type Name Description DatabaseOptionsBuilder optionsBuilder A builder instance used to further configure the Database . | Improve this Doc View Source Custom<TEntity>() Allows for queries against an entity which isn't usually defined, this is usually an entity which hasn't got a table in your database. Declaration public TableBase<TEntity> Custom<TEntity>() where TEntity : class, new() Returns Type Description TableBase <TEntity> A TableBase<TEntity> instance from which queries can be executed. Type Parameters Name Description TEntity Remarks The TEntity should always be used with this Database instance, otherwise the model has to be generated multiple times. | Improve this Doc View Source Dispose() Releases the allocated resources for this context. Also closes the underlying connection, if open. Declaration public void Dispose() Remarks If you are in an asynchronous context you should consider using DisposeAsync() instead. | Improve this Doc View Source DisposeAsync() Releases the allocated resources for this context. Also closes the underlying connection, if open. Declaration public ValueTask DisposeAsync() Returns Type Description System.Threading.Tasks.ValueTask A value task representing the asynchronous operation | Improve this Doc View Source ExecuteAsync(String, NpgsqlParameter[]) Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Declaration public Task<int> ExecuteAsync(string sql, params NpgsqlParameter[] parameters) Parameters Type Name Description System.String sql The SQL to execute. Npgsql.NpgsqlParameter [] parameters The SQL Parameters which are being used for the current command. Returns Type Description System.Threading.Tasks.Task < System.Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. Remarks This method represents a System.Data.Common.DbCommand.ExecuteNonQueryAsync call. | Improve this Doc View Source ExecuteAsync(String, IList<NpgsqlParameter>, CancellationToken) Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Declaration public Task<int> ExecuteAsync(string sql, IList<NpgsqlParameter> parameters, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.String sql The SQL to execute. System.Collections.Generic.IList < Npgsql.NpgsqlParameter > parameters The SQL Parameters which are being used for the current command. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.Task < System.Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. Remarks This method represents a Npgsql.NpgsqlCommand.ExecuteNonQueryAsync(System.Threading.CancellationToken) call. | Improve this Doc View Source ExecuteAsync(String, CancellationToken) Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Declaration public Task<int> ExecuteAsync(string sql, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.String sql The SQL to execute. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.Task < System.Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. Remarks This method represents a Npgsql.NpgsqlCommand.ExecuteNonQueryAsync(System.Threading.CancellationToken) call. | Improve this Doc View Source ExecuteAsync<T>(String, NpgsqlParameter[]) Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Declaration public Task<T> ExecuteAsync<T>(string sql, params NpgsqlParameter[] parameters) where T : struct Parameters Type Name Description System.String sql The SQL to execute. Npgsql.NpgsqlParameter [] parameters The SQL Parameters which are being used for the current command. Returns Type Description System.Threading.Tasks.Task <T> A task representing the asynchronous operation, with the value of the scalar command. Type Parameters Name Description T The type of the scalar result. Remarks This method represents a System.Data.Common.DbCommand.ExecuteScalarAsync call. | Improve this Doc View Source ExecuteAsync<T>(String, IList<NpgsqlParameter>, CancellationToken) Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Declaration public Task<T> ExecuteAsync<T>(string sql, IList<NpgsqlParameter> parameters, CancellationToken cancellationToken = default(CancellationToken)) where T : struct Parameters Type Name Description System.String sql The SQL to execute. System.Collections.Generic.IList < Npgsql.NpgsqlParameter > parameters The SQL Parameters which are being used for the current command. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.Task <T> A task representing the asynchronous operation, with the value of the scalar command. Type Parameters Name Description T The type of the scalar result. Remarks This method represents a Npgsql.NpgsqlCommand.ExecuteScalarAsync(System.Threading.CancellationToken) call. | Improve this Doc View Source ExecuteAsync<T>(String, CancellationToken) Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Declaration public Task<T> ExecuteAsync<T>(string sql, CancellationToken cancellationToken = default(CancellationToken)) where T : struct Parameters Type Name Description System.String sql The SQL to execute. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.Task <T> A task representing the asynchronous operation, with the value of the scalar command. Type Parameters Name Description T The type of the scalar result. Remarks This method represents a Npgsql.NpgsqlCommand.ExecuteScalarAsync(System.Threading.CancellationToken) call. | Improve this Doc View Source ExecuteInterpolatedAsync(FormattableString, CancellationToken) Asynchronously executes a command against the current Database. This method does automatically parameterize queries from an interpolated string. Declaration public Task<int> ExecuteInterpolatedAsync(FormattableString sql, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.FormattableString sql The interpolated SQL to execute. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.Task < System.Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. Remarks This method represents a System.Data.Common.DbCommand.ExecuteNonQueryAsync call. | Improve this Doc View Source ExecuteInterpolatedAsync<T>(FormattableString, CancellationToken) Asynchronously executes a command against the current Database. This method does automatically parameterize queries from an interpolated string. Declaration public Task<T> ExecuteInterpolatedAsync<T>(FormattableString sql, CancellationToken cancellationToken = default(CancellationToken)) where T : struct Parameters Type Name Description System.FormattableString sql The SQL to execute. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.Task <T> A task representing the asynchronous operation, with the value of the scalar command. Type Parameters Name Description T The type of the scalar result. Remarks This method represents a System.Data.Common.DbCommand.ExecuteScalarAsync call. | Improve this Doc View Source GetConnection() Gets or creates a new connections, if none got created yet. Declaration public NpgsqlConnection GetConnection() Returns Type Description Npgsql.NpgsqlConnection the Npgsql.NpgsqlConnection . Implements System.IAsyncDisposable System.IDisposable\"\n  },\n  \"api/Venflow.DatabaseOptionsBuilder.html\": {\n    \"href\": \"api/Venflow.DatabaseOptionsBuilder.html\",\n    \"title\": \"Class DatabaseOptionsBuilder | Venflow Documentation\",\n    \"keywords\": \"Class DatabaseOptionsBuilder Provides an option builder to further configure a Database instance. Inheritance System.Object DatabaseOptionsBuilder Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Venflow Assembly : Venflow.dll Syntax public class DatabaseOptionsBuilder Properties | Improve this Doc View Source DefaultLoggingBehavior Gets or sets the default LoggingBehavior on commands for this Database . The default is Always . Declaration public LoggingBehavior DefaultLoggingBehavior { get; set; } Property Value Type Description LoggingBehavior Methods | Improve this Doc View Source AddConfigurations(Assembly) Adds the assembly to the EntityConfiguration<TEntity> lookup list. Declaration public DatabaseOptionsBuilder AddConfigurations(Assembly assembly) Parameters Type Name Description System.Reflection.Assembly assembly The assembly which should be added to the lookup list. Returns Type Description DatabaseOptionsBuilder An object that can be used to configure the current Database . Remarks If you add a custom configuration location, the assembly of the database type will not be automatically included. | Improve this Doc View Source AddConfigurations(Assembly[]) Adds the assemblies to the EntityConfiguration<TEntity> lookup list. Declaration public DatabaseOptionsBuilder AddConfigurations(params Assembly[] assemblies) Parameters Type Name Description System.Reflection.Assembly [] assemblies The assemblies which should be added to the lookup list. Returns Type Description DatabaseOptionsBuilder An object that can be used to configure the current Database . Remarks If you add a custom configuration location, the assembly of the database type will not be automatically included. | Improve this Doc View Source AddConfigurations<T>() Adds the assembly of the type T to the EntityConfiguration<TEntity> lookup list. Declaration public DatabaseOptionsBuilder AddConfigurations<T>() Returns Type Description DatabaseOptionsBuilder An object that can be used to configure the current Database . Type Parameters Name Description T The type of which the assembly should be added to the lookup list. Remarks If you add a custom configuration location, the assembly of the database type will not be automatically included. | Improve this Doc View Source LogTo(Action<String>, Boolean) Adds a logger, which allows for logging of executed SQL commands. Declaration public DatabaseOptionsBuilder LogTo(Action<string> logger, bool includeSensitiveData = false) Parameters Type Name Description System.Action < System.String > logger The logger action which is being used to log SQL commands. System.Boolean includeSensitiveData Determines whether or not to show populated parameters in the commands. Be aware, that the parameters get injected by the client and the SQL is likely not the exact same as the one executed by the server. Returns Type Description DatabaseOptionsBuilder An object that can be used to configure the current Database . Remarks This currently only includes the following API's: Also consider configuring the DefaultLoggingBehavior property.\"\n  },\n  \"api/Venflow.Enums.ForeignTruncateOptions.html\": {\n    \"href\": \"api/Venflow.Enums.ForeignTruncateOptions.html\",\n    \"title\": \"Enum ForeignTruncateOptions | Venflow Documentation\",\n    \"keywords\": \"Enum ForeignTruncateOptions Represents the truncate option for foreign keys. Namespace : Venflow.Enums Assembly : Venflow.dll Syntax public enum ForeignTruncateOptions : byte Fields Name Description Cascade Automatically truncate all tables that have foreign-key references to any of the named tables, or to any tables added to the group due to CASCADE. None Does nothing. Restrict Refuse to truncate if any of the tables have foreign-key references from tables that are not listed in the command. This is the default.\"\n  },\n  \"api/Venflow.Enums.html\": {\n    \"href\": \"api/Venflow.Enums.html\",\n    \"title\": \"Namespace Venflow.Enums | Venflow Documentation\",\n    \"keywords\": \"Namespace Venflow.Enums Enums ForeignTruncateOptions Represents the truncate option for foreign keys. IdentityTruncateOptions Represents the identity truncate option for foreign keys. JoinBehaviour Specifies the behavior for a specific join between two tables. LoggingBehavior Specifies the logging behavior for Venflow commands.\"\n  },\n  \"api/Venflow.Enums.IdentityTruncateOptions.html\": {\n    \"href\": \"api/Venflow.Enums.IdentityTruncateOptions.html\",\n    \"title\": \"Enum IdentityTruncateOptions | Venflow Documentation\",\n    \"keywords\": \"Enum IdentityTruncateOptions Represents the identity truncate option for foreign keys. Namespace : Venflow.Enums Assembly : Venflow.dll Syntax public enum IdentityTruncateOptions : byte Fields Name Description Continue Do not change the values of sequences. This is the default. None Does nothing. Restart Automatically restart sequences owned by columns of the truncated table(s).\"\n  },\n  \"api/Venflow.Enums.JoinBehaviour.html\": {\n    \"href\": \"api/Venflow.Enums.JoinBehaviour.html\",\n    \"title\": \"Enum JoinBehaviour | Venflow Documentation\",\n    \"keywords\": \"Enum JoinBehaviour Specifies the behavior for a specific join between two tables. Namespace : Venflow.Enums Assembly : Venflow.dll Syntax public enum JoinBehaviour : byte Fields Name Description FullJoin Returns all records when there is a match in either left or right table InnerJoin Returns records that have matching values in both tables LeftJoin Returns all records from the left table, and the matched records from the right table RightJoin Returns all records from the right table, and the matched records from the left table\"\n  },\n  \"api/Venflow.Enums.LoggingBehavior.html\": {\n    \"href\": \"api/Venflow.Enums.LoggingBehavior.html\",\n    \"title\": \"Enum LoggingBehavior | Venflow Documentation\",\n    \"keywords\": \"Enum LoggingBehavior Specifies the logging behavior for Venflow commands. Namespace : Venflow.Enums Assembly : Venflow.dll Syntax public enum LoggingBehavior Fields Name Description Always Logs all commands. Never Never logs commands.\"\n  },\n  \"api/Venflow.html\": {\n    \"href\": \"api/Venflow.html\",\n    \"title\": \"Namespace Venflow | Venflow Documentation\",\n    \"keywords\": \"Namespace Venflow Classes Database A Database instance represents a session with the database and can be used to perform CRUD operations with your tables and entities. DatabaseOptionsBuilder Provides an option builder to further configure a Database instance. InvalidEntityRelationException Represents errors that occur during the relation entity generation. NpgsqlCommandExtensions Provides a set of useful extension methods for the Npgsql.NpgsqlCommand class. ParameterTypeHandler A class which contains methods to configure the used type handlers while parsing Interpolated arguments. Table<TEntity> A Table<TEntity> is used to perform CRUD operations against the table represented by TEntity . TableBase<TEntity> A TableBase<TEntity> is used to perform query operations of all sorts. TypeArgumentException Represents an error which occur when an invalid type argument gets passed to a generic method. VenflowConfiguration Contains methods to globally set the configuration of Venflow. Interfaces IParameterTypeHandler A parameter type handler which can be used with the AddTypeHandler(Type, IParameterTypeHandler) method.\"\n  },\n  \"api/Venflow.InvalidEntityRelationException.html\": {\n    \"href\": \"api/Venflow.InvalidEntityRelationException.html\",\n    \"title\": \"Class InvalidEntityRelationException | Venflow Documentation\",\n    \"keywords\": \"Class InvalidEntityRelationException Represents errors that occur during the relation entity generation. Inheritance System.Object System.Exception InvalidEntityRelationException Implements System.Runtime.Serialization.ISerializable Inherited Members System.Exception.GetBaseException() System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext) System.Exception.GetType() System.Exception.ToString() System.Exception.Data System.Exception.HelpLink System.Exception.HResult System.Exception.InnerException System.Exception.Message System.Exception.Source System.Exception.StackTrace System.Exception.TargetSite System.Exception.SerializeObjectState System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Venflow Assembly : Venflow.dll Syntax [Serializable] public class InvalidEntityRelationException : Exception, ISerializable Constructors | Improve this Doc View Source InvalidEntityRelationException() Initializes a new instance of the InvalidEntityRelationException class. Declaration public InvalidEntityRelationException() | Improve this Doc View Source InvalidEntityRelationException(SerializationInfo, StreamingContext) Initializes a new instance of the InvalidEntityRelationException class. Declaration protected InvalidEntityRelationException(SerializationInfo info, StreamingContext context) Parameters Type Name Description System.Runtime.Serialization.SerializationInfo info The System.Runtime.Serialization.SerializationInfo that holds the serialized object data about the exception being thrown. System.Runtime.Serialization.StreamingContext context The System.Runtime.Serialization.StreamingContext that contains contextual information about the source or destination. Exceptions Type Condition System.ArgumentNullException info is null. System.Runtime.Serialization.SerializationException The class name is null or System.Exception.HResult is zero (0). | Improve this Doc View Source InvalidEntityRelationException(String) Initializes a new instance of the InvalidEntityRelationException class. Declaration public InvalidEntityRelationException(string message) Parameters Type Name Description System.String message The message that describes the error. | Improve this Doc View Source InvalidEntityRelationException(String, Exception) Initializes a new instance of the InvalidEntityRelationException class. Declaration public InvalidEntityRelationException(string message, Exception inner) Parameters Type Name Description System.String message The message that describes the error. System.Exception inner The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. Implements System.Runtime.Serialization.ISerializable\"\n  },\n  \"api/Venflow.IParameterTypeHandler.html\": {\n    \"href\": \"api/Venflow.IParameterTypeHandler.html\",\n    \"title\": \"Interface IParameterTypeHandler | Venflow Documentation\",\n    \"keywords\": \"Interface IParameterTypeHandler A parameter type handler which can be used with the AddTypeHandler(Type, IParameterTypeHandler) method. Namespace : Venflow Assembly : Venflow.dll Syntax public interface IParameterTypeHandler Methods | Improve this Doc View Source Handle(String, Object) Is used to convert the given value and name to an Npgsql.NpgsqlParameter . Declaration NpgsqlParameter Handle(string name, object val) Parameters Type Name Description System.String name The name of the parameter. System.Object val The value of the parameter. Returns Type Description Npgsql.NpgsqlParameter The Npgsql.NpgsqlParameter containing the name and the value.\"\n  },\n  \"api/Venflow.Modeling.Definitions.Builder.html\": {\n    \"href\": \"api/Venflow.Modeling.Definitions.Builder.html\",\n    \"title\": \"Namespace Venflow.Modeling.Definitions.Builder | Venflow Documentation\",\n    \"keywords\": \"Namespace Venflow.Modeling.Definitions.Builder Interfaces IForeignKeyRelationBuilder<TEntity, TRelation> This interface hosts relation methods for the foreign key configurations. ILeftRelationBuilder<TEntity> This interface hosts relation methods for the left side of a relation. IMultiRightRelationBuilder<TEntity, TRelation> summary> Instances of this class are returned from methods inside the Table<TEntity> class when using the Fluid API and it is not designed to be directly constructed in your application code. INotRequiredMultiRightRelationBuilder<TEntity, TRelation> This interface hosts relation methods for the right side of a relation. INotRequiredSingleRightRelationBuilder<TEntity, TRelation> This interface hosts relation methods for the right side of a relation. IRequiredMultiRightRelationBuilder<TEntity, TRelation> This interface hosts relation methods for the right side of a relation. IRequiredSingleRightRelationBuilder<TEntity, TRelation> This interface hosts relation methods for the right side of a relation.\"\n  },\n  \"api/Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html\": {\n    \"href\": \"api/Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html\",\n    \"title\": \"Interface IForeignKeyRelationBuilder<TEntity, TRelation> | Venflow Documentation\",\n    \"keywords\": \"Interface IForeignKeyRelationBuilder<TEntity, TRelation> This interface hosts relation methods for the foreign key configurations. Namespace : Venflow.Modeling.Definitions.Builder Assembly : Venflow.dll Syntax public interface IForeignKeyRelationBuilder<TEntity, TRelation> where TEntity : class, new() where TRelation : class Type Parameters Name Description TEntity TRelation Methods | Improve this Doc View Source UsingForeignKey<TKey>(Expression<Func<TEntity, TKey>>) Configures the property to be used as the foreign key for this relationship. Declaration void UsingForeignKey<TKey>(Expression<Func<TEntity, TKey>> navigationProperty) Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TEntity, TKey>> navigationProperty A lambda expression representing the foreign key property (post => post.BlogId). Type Parameters Name Description TKey The type of the foreign key. | Improve this Doc View Source UsingForeignKey<TKey>(Expression<Func<TRelation, TKey>>) Configures the property to be used as the foreign key for this relationship. Declaration void UsingForeignKey<TKey>(Expression<Func<TRelation, TKey>> navigationProperty) Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRelation, TKey>> navigationProperty A lambda expression representing the foreign key property (post => post.BlogId). Type Parameters Name Description TKey The type of the foreign key.\"\n  },\n  \"api/Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html\": {\n    \"href\": \"api/Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html\",\n    \"title\": \"Interface ILeftRelationBuilder<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Interface ILeftRelationBuilder<TEntity> This interface hosts relation methods for the left side of a relation. Namespace : Venflow.Modeling.Definitions.Builder Assembly : Venflow.dll Syntax public interface ILeftRelationBuilder<TEntity> where TEntity : class, new() Type Parameters Name Description TEntity The entity type being configured. Methods | Improve this Doc View Source HasMany<TRelation>() Configures a relationship where this entity type has a collection that contains instances of the other type in the relationship. Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified. After calling this method, you should chain a call to WithOne(Expression<Func<TRelation, TEntity>>) to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship. Declaration IRequiredSingleRightRelationBuilder<TEntity, TRelation> HasMany<TRelation>() where TRelation : class Returns Type Description IRequiredSingleRightRelationBuilder <TEntity, TRelation> An object that can be used to configure the relationship. Type Parameters Name Description TRelation The entity type that this relationship targets. | Improve this Doc View Source HasMany<TRelation>(Expression<Func<TEntity, IList<TRelation>>>) Configures a relationship where this entity type has a collection that contains instances of the other type in the relationship. Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified. After calling this method, you should chain a call to WithOne() to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship. Declaration INotRequiredSingleRightRelationBuilder<TEntity, TRelation> HasMany<TRelation>(Expression<Func<TEntity, IList<TRelation>>> navigationProperty) where TRelation : class Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TEntity, System.Collections.Generic.IList <TRelation>>> navigationProperty Returns Type Description INotRequiredSingleRightRelationBuilder <TEntity, TRelation> An object that can be used to configure the relationship. Type Parameters Name Description TRelation The entity type that this relationship targets. | Improve this Doc View Source HasOne<TRelation>() Configures a relationship where this entity type has a reference that points to a single instance of the other type in the relationship. Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified. After calling this method, you should chain a call to WithMany(Expression<Func<TRelation, IList<TEntity>>>) or WithOne(Expression<Func<TRelation, TEntity>>) to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship. Declaration IRequiredMultiRightRelationBuilder<TEntity, TRelation> HasOne<TRelation>() where TRelation : class Returns Type Description IRequiredMultiRightRelationBuilder <TEntity, TRelation> An object that can be used to configure the relationship. Type Parameters Name Description TRelation The entity type that this relationship targets. | Improve this Doc View Source HasOne<TRelation>(Expression<Func<TEntity, TRelation>>) Configures a relationship where this entity type has a reference that points to a single instance of the other type in the relationship. Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified. After calling this method, you should chain a call to WithMany() or WithOne() to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship. Declaration INotRequiredMultiRightRelationBuilder<TEntity, TRelation> HasOne<TRelation>(Expression<Func<TEntity, TRelation>> navigationProperty) where TRelation : class Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TEntity, TRelation>> navigationProperty A lambda expression representing the reference navigation property on this entity type that represents the relationship (post => post.Blog). If no property is specified, the relationship will be configured without a navigation property on this end. Returns Type Description INotRequiredMultiRightRelationBuilder <TEntity, TRelation> An object that can be used to configure the relationship. Type Parameters Name Description TRelation The entity type that this relationship targets.\"\n  },\n  \"api/Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.html\": {\n    \"href\": \"api/Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.html\",\n    \"title\": \"Interface IMultiRightRelationBuilder<TEntity, TRelation> | Venflow Documentation\",\n    \"keywords\": \"Interface IMultiRightRelationBuilder<TEntity, TRelation> summary> Instances of this class are returned from methods inside the Table<TEntity> class when using the Fluid API and it is not designed to be directly constructed in your application code. Namespace : Venflow.Modeling.Definitions.Builder Assembly : Venflow.dll Syntax public interface IMultiRightRelationBuilder<TEntity, TRelation> where TEntity : class, new() where TRelation : class Type Parameters Name Description TEntity TRelation The entity type that this relationship targets. Methods | Improve this Doc View Source WithMany(Expression<Func<TRelation, IList<TEntity>>>) Configures this as a one-to-many relationship. Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified. Declaration IForeignKeyRelationBuilder<TEntity, TRelation> WithMany(Expression<Func<TRelation, IList<TEntity>>> navigationProperty) Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRelation, System.Collections.Generic.IList <TEntity>>> navigationProperty A lambda expression representing the collection navigation property on the other end of this relationship (blog => blog.Posts). If no property is specified, the relationship will be configured without a navigation property on the other end of the relationship. Returns Type Description IForeignKeyRelationBuilder <TEntity, TRelation> An object that can be used to configure the relationship.\"\n  },\n  \"api/Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder-2.html\": {\n    \"href\": \"api/Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder-2.html\",\n    \"title\": \"Interface INotRequiredMultiRightRelationBuilder<TEntity, TRelation> | Venflow Documentation\",\n    \"keywords\": \"Interface INotRequiredMultiRightRelationBuilder<TEntity, TRelation> This interface hosts relation methods for the right side of a relation. Inherited Members IMultiRightRelationBuilder<TEntity, TRelation>.WithMany(Expression<Func<TRelation, IList<TEntity>>>) INotRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne() IRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne(Expression<Func<TRelation, TEntity>>) Namespace : Venflow.Modeling.Definitions.Builder Assembly : Venflow.dll Syntax public interface INotRequiredMultiRightRelationBuilder<TEntity, TRelation> : IMultiRightRelationBuilder<TEntity, TRelation>, INotRequiredSingleRightRelationBuilder<TEntity, TRelation>, IRequiredSingleRightRelationBuilder<TEntity, TRelation> where TEntity : class, new() where TRelation : class Type Parameters Name Description TEntity TRelation Methods | Improve this Doc View Source WithMany() Configures this as a one-to-many relationship. Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified. Declaration IForeignKeyRelationBuilder<TEntity, TRelation> WithMany() Returns Type Description IForeignKeyRelationBuilder <TEntity, TRelation> An object that can be used to configure the relationship.\"\n  },\n  \"api/Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html\": {\n    \"href\": \"api/Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html\",\n    \"title\": \"Interface INotRequiredSingleRightRelationBuilder<TEntity, TRelation> | Venflow Documentation\",\n    \"keywords\": \"Interface INotRequiredSingleRightRelationBuilder<TEntity, TRelation> This interface hosts relation methods for the right side of a relation. Inherited Members IRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne(Expression<Func<TRelation, TEntity>>) Namespace : Venflow.Modeling.Definitions.Builder Assembly : Venflow.dll Syntax public interface INotRequiredSingleRightRelationBuilder<TEntity, TRelation> : IRequiredSingleRightRelationBuilder<TEntity, TRelation> where TEntity : class, new() where TRelation : class Type Parameters Name Description TEntity TRelation Methods | Improve this Doc View Source WithOne() Configures this as a one-to-one relationship. Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified. Declaration IForeignKeyRelationBuilder<TEntity, TRelation> WithOne() Returns Type Description IForeignKeyRelationBuilder <TEntity, TRelation> An object that can be used to configure the relationship.\"\n  },\n  \"api/Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder-2.html\": {\n    \"href\": \"api/Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder-2.html\",\n    \"title\": \"Interface IRequiredMultiRightRelationBuilder<TEntity, TRelation> | Venflow Documentation\",\n    \"keywords\": \"Interface IRequiredMultiRightRelationBuilder<TEntity, TRelation> This interface hosts relation methods for the right side of a relation. Inherited Members IMultiRightRelationBuilder<TEntity, TRelation>.WithMany(Expression<Func<TRelation, IList<TEntity>>>) IRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne(Expression<Func<TRelation, TEntity>>) Namespace : Venflow.Modeling.Definitions.Builder Assembly : Venflow.dll Syntax public interface IRequiredMultiRightRelationBuilder<TEntity, TRelation> : IMultiRightRelationBuilder<TEntity, TRelation>, IRequiredSingleRightRelationBuilder<TEntity, TRelation> where TEntity : class, new() where TRelation : class Type Parameters Name Description TEntity TRelation\"\n  },\n  \"api/Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html\": {\n    \"href\": \"api/Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html\",\n    \"title\": \"Interface IRequiredSingleRightRelationBuilder<TEntity, TRelation> | Venflow Documentation\",\n    \"keywords\": \"Interface IRequiredSingleRightRelationBuilder<TEntity, TRelation> This interface hosts relation methods for the right side of a relation. Namespace : Venflow.Modeling.Definitions.Builder Assembly : Venflow.dll Syntax public interface IRequiredSingleRightRelationBuilder<TEntity, TRelation> where TEntity : class, new() where TRelation : class Type Parameters Name Description TEntity TRelation Methods | Improve this Doc View Source WithOne(Expression<Func<TRelation, TEntity>>) Configures this as a one-to-one relationship. Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified. Declaration IForeignKeyRelationBuilder<TEntity, TRelation> WithOne(Expression<Func<TRelation, TEntity>> navigationProperty) Parameters Type Name Description System.Linq.Expressions.Expression < System.Func <TRelation, TEntity>> navigationProperty A lambda expression representing the reference navigation property on the other end of this relationship (blog => blog.BlogInfo). If no property is specified, the relationship will be configured without a navigation property on the other end of the relationship. Returns Type Description IForeignKeyRelationBuilder <TEntity, TRelation> An object that can be used to configure the relationship.\"\n  },\n  \"api/Venflow.Modeling.Definitions.EntityConfiguration-1.html\": {\n    \"href\": \"api/Venflow.Modeling.Definitions.EntityConfiguration-1.html\",\n    \"title\": \"Class EntityConfiguration<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Class EntityConfiguration<TEntity> Allows configuration for an entity type. Inherit from this class and override the Configure(IEntityBuilder<TEntity>) method to configure the entity TEntity . Inheritance System.Object EntityConfiguration<TEntity> Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Venflow.Modeling.Definitions Assembly : Venflow.dll Syntax public abstract class EntityConfiguration<TEntity> : IEntityConfiguration where TEntity : class, new() Type Parameters Name Description TEntity The entity to be configured. Remarks Classes which inherit from this one, have to be in the same assembly as the Database in order to be discoverable. Methods | Improve this Doc View Source Configure(IEntityBuilder<TEntity>) Allows for configuration of the entity TEntity . Declaration protected abstract void Configure(IEntityBuilder<TEntity> entityBuilder) Parameters Type Name Description IEntityBuilder <TEntity> entityBuilder The builder used to configure the entity.\"\n  },\n  \"api/Venflow.Modeling.Definitions.html\": {\n    \"href\": \"api/Venflow.Modeling.Definitions.html\",\n    \"title\": \"Namespace Venflow.Modeling.Definitions | Venflow Documentation\",\n    \"keywords\": \"Namespace Venflow.Modeling.Definitions Classes EntityConfiguration<TEntity> Allows configuration for an entity type. Inherit from this class and override the Configure(IEntityBuilder<TEntity>) method to configure the entity TEntity .\"\n  },\n  \"api/Venflow.NpgsqlCommandExtensions.html\": {\n    \"href\": \"api/Venflow.NpgsqlCommandExtensions.html\",\n    \"title\": \"Class NpgsqlCommandExtensions | Venflow Documentation\",\n    \"keywords\": \"Class NpgsqlCommandExtensions Provides a set of useful extension methods for the Npgsql.NpgsqlCommand class. Inheritance System.Object NpgsqlCommandExtensions Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Venflow Assembly : Venflow.dll Syntax public static class NpgsqlCommandExtensions Methods | Improve this Doc View Source AddParamter<TType>(NpgsqlCommand, String, TType) Adds a new Parameter to the Npgsql.NpgsqlCommand.Parameters collection. Declaration public static NpgsqlParameter<TType> AddParamter<TType>(this NpgsqlCommand command, string parameterName, TType value) Parameters Type Name Description Npgsql.NpgsqlCommand command The command to which the Parameter should be added. System.String parameterName The name of the Parameter. TType value The value of the Parameter. Returns Type Description Npgsql.NpgsqlParameter <TType> the just created Npgsql.NpgsqlParameter<T> . Type Parameters Name Description TType The value type of the Parameter. | Improve this Doc View Source SetInterpolatedCommandText(NpgsqlCommand, FormattableString) Sets the command text of the used Npgsql.NpgsqlCommand . This API does support string interpolation! Declaration public static void SetInterpolatedCommandText(this NpgsqlCommand command, FormattableString sql) Parameters Type Name Description Npgsql.NpgsqlCommand command The command of which the command text should be set. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation. System.FormattableString sql A string containing the SQL statement.\"\n  },\n  \"api/Venflow.ParameterTypeHandler.html\": {\n    \"href\": \"api/Venflow.ParameterTypeHandler.html\",\n    \"title\": \"Class ParameterTypeHandler | Venflow Documentation\",\n    \"keywords\": \"Class ParameterTypeHandler A class which contains methods to configure the used type handlers while parsing Interpolated arguments. Inheritance System.Object ParameterTypeHandler Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Venflow Assembly : Venflow.dll Syntax public static class ParameterTypeHandler Methods | Improve this Doc View Source AddTypeHandler(Type, IParameterTypeHandler) Adds a type handler. Declaration public static void AddTypeHandler(Type type, IParameterTypeHandler typeHandler) Parameters Type Name Description System.Type type The type to which the type handler should be mapped. IParameterTypeHandler typeHandler The type handler.\"\n  },\n  \"api/Venflow.Table-1.html\": {\n    \"href\": \"api/Venflow.Table-1.html\",\n    \"title\": \"Class Table<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Class Table<TEntity> A Table<TEntity> is used to perform CRUD operations against the table represented by TEntity . Inheritance System.Object TableBase <TEntity> Table<TEntity> Inherited Members TableBase<TEntity>.QueryAsync<TReturn>(IQueryCommand<TEntity, TReturn>, CancellationToken) TableBase<TEntity>.QuerySingle(String, Boolean) TableBase<TEntity>.QuerySingle(String, NpgsqlParameter[]) TableBase<TEntity>.QuerySingle(String, Boolean, NpgsqlParameter[]) TableBase<TEntity>.QueryInterpolatedSingle(FormattableString, Boolean) TableBase<TEntity>.QueryBatch(String, Boolean) TableBase<TEntity>.QueryBatch(String, NpgsqlParameter[]) TableBase<TEntity>.QueryBatch(String, Boolean, NpgsqlParameter[]) TableBase<TEntity>.QueryInterpolatedBatch(FormattableString, Boolean) System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Venflow Assembly : Venflow.dll Syntax public sealed class Table<TEntity> : TableBase<TEntity>, ITable where TEntity : class, new() Type Parameters Name Description TEntity The entity which represents a table in the Database. Methods | Improve this Doc View Source CountAsync(CancellationToken) Asynchronously counts the total rows the current table. Declaration public Task<long> CountAsync(CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.Task < System.Int64 > A task representing the asynchronous operation, with the number of rows. Remarks This method represents the following SQL statement \\\"SELECT COUNT(*) FROM table\\\". | Improve this Doc View Source Delete() Creates a new delete command. Declaration public IDeleteCommandBuilder<TEntity> Delete() Returns Type Description IDeleteCommandBuilder <TEntity> A Fluent API Builder for a delete command. Remarks The command will be automatically disposed the underlying Npgsql.NpgsqlCommand after the command got executed once. | Improve this Doc View Source Delete(Boolean) Creates a new delete command. Declaration public IDeleteCommandBuilder<TEntity> Delete(bool disposeCommand) Parameters Type Name Description System.Boolean disposeCommand Indicates whether or not to dispose the underlying Npgsql.NpgsqlCommand after the command got executed once. Returns Type Description IDeleteCommandBuilder <TEntity> A Fluent API Builder for a delete command. | Improve this Doc View Source DeleteAsync(TEntity, CancellationToken) Asynchronously deletes the provided entity by its defined primary key. Declaration public ValueTask<int> DeleteAsync(TEntity entity, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description TEntity entity A TEntity instance representing the row, which will be deleted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.ValueTask < System.Int32 > A task representing the asynchronous operation, with the number of rows deleted. Remarks This method represents the following SQL statement \\\"DELETE FROM table WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source DeleteAsync(TEntity[], CancellationToken) Asynchronously deletes the provided entities by their defined primary keys. Declaration public ValueTask<int> DeleteAsync(TEntity[] entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description TEntity[] entities A set of TEntity instances representing the rows, which will be deleted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.ValueTask < System.Int32 > A task representing the asynchronous operation, with the number of rows deleted. Remarks This method represents the following SQL statement \\\"DELETE FROM table WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source DeleteAsync(IEnumerable<TEntity>, CancellationToken) Asynchronously deletes the provided entities by their defined primary keys. Declaration public ValueTask<int> DeleteAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Collections.Generic.IEnumerable <TEntity> entities A set of TEntity instances representing the rows, which will be deleted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.ValueTask < System.Int32 > A task representing the asynchronous operation, with the number of rows deleted. Remarks This method represents the following SQL statement \\\"DELETE FROM table WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source DeleteAsync(IList<TEntity>, CancellationToken) Asynchronously deletes the provided entities by their defined primary keys. Declaration public ValueTask<int> DeleteAsync(IList<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Collections.Generic.IList <TEntity> entities A set of TEntity instances representing the rows, which will be deleted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.ValueTask < System.Int32 > A task representing the asynchronous operation, with the number of rows deleted. Remarks This method represents the following SQL statement \\\"DELETE FROM table WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source DeleteAsync(List<TEntity>, CancellationToken) Asynchronously deletes the provided entities by their defined primary keys. Declaration public ValueTask<int> DeleteAsync(List<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Collections.Generic.List <TEntity> entities A set of TEntity instances representing the rows, which will be deleted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.ValueTask < System.Int32 > A task representing the asynchronous operation, with the number of rows deleted. Remarks This method represents the following SQL statement \\\"DELETE FROM table WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source DeleteAsync(IDeleteCommand<TEntity>, TEntity, CancellationToken) Asynchronously deletes the provided entity by its defined primary key. Declaration public ValueTask<int> DeleteAsync(IDeleteCommand<TEntity> deleteCommand, TEntity entity, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description IDeleteCommand <TEntity> deleteCommand A IDeleteCommand<TEntity> instance which contains all the settings for this operation. TEntity entity A TEntity instance representing the row, which will be deleted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.ValueTask < System.Int32 > A task representing the asynchronous operation, with the number of rows deleted. Remarks This method represents the following SQL statement \\\"DELETE FROM table WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source DeleteAsync(IDeleteCommand<TEntity>, IEnumerable<TEntity>, CancellationToken) Asynchronously deletes the provided entities by their defined primary keys. Declaration public ValueTask<int> DeleteAsync(IDeleteCommand<TEntity> deleteCommand, IEnumerable<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description IDeleteCommand <TEntity> deleteCommand A IDeleteCommand<TEntity> instance which contains all the settings for this operation. System.Collections.Generic.IEnumerable <TEntity> entities A set of TEntity instances representing the rows, which will be deleted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.ValueTask < System.Int32 > A task representing the asynchronous operation, with the number of rows deleted. Remarks This method represents the following SQL statement \\\"DELETE FROM table WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source Insert() Creates a new insert command. Declaration public IBaseInsertRelationBuilder<TEntity, TEntity> Insert() Returns Type Description IBaseInsertRelationBuilder <TEntity, TEntity> A Fluent API Builder for a insert command. Remarks The command will be automatically disposed the underlying Npgsql.NpgsqlCommand after the command got executed once. | Improve this Doc View Source Insert(Boolean) Creates a new insert command. Declaration public IBaseInsertRelationBuilder<TEntity, TEntity> Insert(bool disposeCommand) Parameters Type Name Description System.Boolean disposeCommand Indicates whether or not to dispose the underlying Npgsql.NpgsqlCommand after the command got executed once. Returns Type Description IBaseInsertRelationBuilder <TEntity, TEntity> A Fluent API Builder for a insert command. | Improve this Doc View Source InsertAsync(TEntity, CancellationToken) Asynchronously inserts the entity and all entities reachable from the current provided instance into the current table. Declaration public Task<int> InsertAsync(TEntity entity, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description TEntity entity A TEntity instance representing the row, which will be inserted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.Task < System.Int32 > A task representing the asynchronous operation, with the number of rows inserted. Remarks This method represents the following SQL statement \\\"INSERT INTO table (foo, bar) VALUES ('foo', 'bar')\\\". This API is using parameterized commands. | Improve this Doc View Source InsertAsync(IList<TEntity>, CancellationToken) Asynchronously inserts a list of entities and all entities reachable from the current provided instances into the current table. Declaration public Task<int> InsertAsync(IList<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Collections.Generic.IList <TEntity> entities A list of TEntity instance representing the rows, which will be inserted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.Task < System.Int32 > A task representing the asynchronous operation, with the number of rows inserted. Remarks This method represents the following SQL statement \\\"INSERT INTO table (foo, bar) VALUES ('foo', 'bar'), ('foo', 'bar')\\\". This API is using parameterized commands. | Improve this Doc View Source InsertAsync(IInsertCommand<TEntity>, TEntity, CancellationToken) Asynchronously inserts the entity and all entities reachable from the current provided instance into the current table. Declaration public Task<int> InsertAsync(IInsertCommand<TEntity> insertCommand, TEntity entity, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description IInsertCommand <TEntity> insertCommand A IInsertCommand<TEntity> instance which contains all the settings for this operation. TEntity entity A TEntity instance representing the row, which will be inserted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.Task < System.Int32 > A task representing the asynchronous operation, with the number of rows inserted. Remarks This method represents the following SQL statement \\\"INSERT INTO table (foo, bar) VALUES ('foo', 'bar')\\\". This API is using parameterized commands. | Improve this Doc View Source InsertAsync(IInsertCommand<TEntity>, List<TEntity>, CancellationToken) Asynchronously inserts a list of entities and all entities reachable from the current provided instances into the current table. Declaration public Task<int> InsertAsync(IInsertCommand<TEntity> insertCommand, List<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description IInsertCommand <TEntity> insertCommand A IInsertCommand<TEntity> instance which contains all the settings for this operation. System.Collections.Generic.List <TEntity> entities A list of TEntity instance representing the rows, which will be inserted. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.Task < System.Int32 > A task representing the asynchronous operation, with the number of rows inserted. Remarks This method represents the following SQL statement \\\"INSERT INTO table (foo, bar) VALUES ('foo', 'bar'), ('foo', 'bar')\\\". This API is using parameterized commands. | Improve this Doc View Source TrackChanges(ref TEntity) Starts tracking the provided TEntity . Declaration public void TrackChanges(ref TEntity entity) Parameters Type Name Description TEntity entity A TEntity instance which will be change tracked. Remarks Any property which should be change tracked on an entity has to be marked virtual. Exceptions Type Condition System.InvalidOperationException Thrown when the provided entity does not contain any virtual properties. | Improve this Doc View Source TrackChanges(IList<TEntity>) Starts tracking the provided TEntity 's. Declaration public void TrackChanges(IList<TEntity> entities) Parameters Type Name Description System.Collections.Generic.IList <TEntity> entities A set of TEntity instances which will be change tracked. Remarks This method represents the following SQL statement \\\"UPDATE table SET foo = 'foo' WHERE pk = 0\\\". This API is using parameterized commands. Exceptions Type Condition System.InvalidOperationException Thrown when a provided entity does not contain any virtual properties. | Improve this Doc View Source TruncateAsync(ForeignTruncateOptions, CancellationToken) Asynchronously truncates the current table with the provided options. Declaration public Task TruncateAsync(ForeignTruncateOptions foreignOptions, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description ForeignTruncateOptions foreignOptions Specifies how the truncate operation should handle foreign tables. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.Task A task representing the asynchronous operation. Remarks This method represents the following SQL statement \\\"TRUNCATE table [CASCADE|RESTRICT|NONE]\\\". | Improve this Doc View Source TruncateAsync(IdentityTruncateOptions, ForeignTruncateOptions, CancellationToken) Asynchronously truncates the current table with the provided options. Declaration public Task TruncateAsync(IdentityTruncateOptions truncateOptions = IdentityTruncateOptions.None, ForeignTruncateOptions foreignOptions = ForeignTruncateOptions.None, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description IdentityTruncateOptions truncateOptions Specifies how the truncate operation should handle identities in the table. ForeignTruncateOptions foreignOptions Specifies how the truncate operation should handle foreign tables. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.Task A task representing the asynchronous operation. Remarks This method represents the following SQL statement \\\"TRUNCATE table [RESTART IDENTITY|CONTINUE IDENTITY|NONE] [CASCADE|RESTRICT|NONE]\\\". | Improve this Doc View Source Update() Creates a new update command. Declaration public IUpdateCommandBuilder<TEntity> Update() Returns Type Description IUpdateCommandBuilder <TEntity> A Fluent API Builder for a update command. | Improve this Doc View Source Update(Boolean) Creates a new update command. Declaration public IUpdateCommandBuilder<TEntity> Update(bool disposeCommand) Parameters Type Name Description System.Boolean disposeCommand Indicates whether or not to dispose the underlying Npgsql.NpgsqlCommand after the command got executed once. Returns Type Description IUpdateCommandBuilder <TEntity> A Fluent API Builder for a update command. | Improve this Doc View Source UpdateAsync(TEntity, CancellationToken) Asynchronously updates the provided entity by its defined primary keys. Declaration public ValueTask UpdateAsync(TEntity entity, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description TEntity entity A TEntity instance representing the row, which will be updated. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.ValueTask A task representing the asynchronous operation. Remarks This method represents the following SQL statement \\\"UPDATE table SET foo = 'foo' WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source UpdateAsync(TEntity[], CancellationToken) Asynchronously updates the provided entity by its defined primary keys. Declaration public ValueTask UpdateAsync(TEntity[] entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description TEntity[] entities A set of TEntity instances representing the rows, which will be updated. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.ValueTask A task representing the asynchronous operation. Remarks This method represents the following SQL statement \\\"UPDATE table SET foo = 'foo' WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source UpdateAsync(IEnumerable<TEntity>, CancellationToken) Asynchronously updates the provided entity by its defined primary keys. Declaration public ValueTask UpdateAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Collections.Generic.IEnumerable <TEntity> entities A set of TEntity instances representing the rows, which will be updated. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.ValueTask A task representing the asynchronous operation. Remarks This method represents the following SQL statement \\\"UPDATE table SET foo = 'foo' WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source UpdateAsync(IList<TEntity>, CancellationToken) Asynchronously updates the provided entity by its defined primary keys. Declaration public ValueTask UpdateAsync(IList<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Collections.Generic.IList <TEntity> entities A set of TEntity instances representing the rows, which will be updated. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.ValueTask A task representing the asynchronous operation. Remarks This method represents the following SQL statement \\\"UPDATE table SET foo = 'foo' WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source UpdateAsync(List<TEntity>, CancellationToken) Asynchronously updates the provided entity by its defined primary keys. Declaration public ValueTask UpdateAsync(List<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description System.Collections.Generic.List <TEntity> entities A set of TEntity instances representing the rows, which will be updated. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.ValueTask A task representing the asynchronous operation. Remarks This method represents the following SQL statement \\\"UPDATE table SET foo = 'foo' WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source UpdateAsync(IUpdateCommand<TEntity>, TEntity, CancellationToken) Asynchronously updates the provided entity by its defined primary keys. Declaration public ValueTask UpdateAsync(IUpdateCommand<TEntity> updateCommand, TEntity entity, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description IUpdateCommand <TEntity> updateCommand A IUpdateCommand<TEntity> instance which contains all the settings for this operation. TEntity entity A TEntity instance representing the row, which will be updated. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.ValueTask A task representing the asynchronous operation. Remarks This method represents the following SQL statement \\\"UPDATE table SET foo = 'foo' WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source UpdateAsync(IUpdateCommand<TEntity>, IEnumerable<TEntity>, CancellationToken) Asynchronously updates the provided entity by its defined primary keys. Declaration public ValueTask UpdateAsync(IUpdateCommand<TEntity> updateCommand, IEnumerable<TEntity> entities, CancellationToken cancellationToken = default(CancellationToken)) Parameters Type Name Description IUpdateCommand <TEntity> updateCommand A IUpdateCommand<TEntity> instance which contains all the settings for this operation. System.Collections.Generic.IEnumerable <TEntity> entities A set of TEntity instances representing the rows, which will be updated. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.ValueTask A task representing the asynchronous operation. Remarks This method represents the following SQL statement \\\"UPDATE table SET foo = 'foo' WHERE pk = 0\\\". This API is using parameterized commands.\"\n  },\n  \"api/Venflow.TableBase-1.html\": {\n    \"href\": \"api/Venflow.TableBase-1.html\",\n    \"title\": \"Class TableBase<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Class TableBase<TEntity> A TableBase<TEntity> is used to perform query operations of all sorts. Inheritance System.Object TableBase<TEntity> Table<TEntity> Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Venflow Assembly : Venflow.dll Syntax public class TableBase<TEntity> where TEntity : class, new() Type Parameters Name Description TEntity The entity which represents a table in the Database. Methods | Improve this Doc View Source QueryAsync<TReturn>(IQueryCommand<TEntity, TReturn>, CancellationToken) Asynchronously queries one or more entities with the configured joins. Declaration public Task<TReturn> QueryAsync<TReturn>(IQueryCommand<TEntity, TReturn> queryCommand, CancellationToken cancellationToken = default(CancellationToken)) where TReturn : class, new() Parameters Type Name Description IQueryCommand <TEntity, TReturn> queryCommand A IQueryCommand<TEntity, TReturn> instance representing the query which will be performed. System.Threading.CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description System.Threading.Tasks.Task <TReturn> A task representing the asynchronous operation, with the result of the executed query. Type Parameters Name Description TReturn Remarks This method could represents the following SQL statement \\\"SELECT * FROM table\\\". | Improve this Doc View Source QueryBatch(String, NpgsqlParameter[]) Creates a new query command, which expects a set of primary rows to be returned. This API does not support string interpolation! If you want to pass interpolated SQL use QueryInterpolatedSingle(FormattableString, Boolean) . Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(string sql, params NpgsqlParameter[] parameters) Parameters Type Name Description System.String sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Npgsql.NpgsqlParameter [] parameters A set of Npgsql.NpgsqlParameter which contain parameters for the sql command. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, System.Collections.Generic.List <TEntity>> A Fluent API Builder for a query command. Remarks The command will be automatically disposed the underlying Npgsql.NpgsqlCommand after the command got executed once. | Improve this Doc View Source QueryBatch(String, Boolean) Creates a new query command, which expects a set of primary rows to be returned. This API does not support string interpolation! If you need to pass parameters with the query, either use QuerySingle(String, NpgsqlParameter[]) or QueryInterpolatedSingle(FormattableString, Boolean) . Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(string sql, bool disposeCommand = true) Parameters Type Name Description System.String sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. System.Boolean disposeCommand Indicates whether or not to dispose the underlying Npgsql.NpgsqlCommand after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, System.Collections.Generic.List <TEntity>> A Fluent API Builder for a query command. | Improve this Doc View Source QueryBatch(String, Boolean, NpgsqlParameter[]) Creates a new query command, which expects a set of primary rows to be returned. This API does not support string interpolation! If you want to pass interpolated SQL use QueryInterpolatedSingle(FormattableString, Boolean) . Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(string sql, bool disposeCommand, params NpgsqlParameter[] parameters) Parameters Type Name Description System.String sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. System.Boolean disposeCommand Indicates whether or not to dispose the underlying Npgsql.NpgsqlCommand after the command got executed once. Npgsql.NpgsqlParameter [] parameters A set of Npgsql.NpgsqlParameter which contain parameters for the sql command. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, System.Collections.Generic.List <TEntity>> A Fluent API Builder for a query command. | Improve this Doc View Source QueryInterpolatedBatch(FormattableString, Boolean) Creates a new query command, which expects a set of primary rows to be returned. This API does support string interpolation! . Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryInterpolatedBatch(FormattableString sql, bool disposeCommand = true) Parameters Type Name Description System.FormattableString sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation. System.Boolean disposeCommand Indicates whether or not to dispose the underlying Npgsql.NpgsqlCommand after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, System.Collections.Generic.List <TEntity>> A Fluent API Builder for a query command. | Improve this Doc View Source QueryInterpolatedSingle(FormattableString, Boolean) Creates a new query command, which expects a single returned primary row. This API does support string interpolation! . Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QueryInterpolatedSingle(FormattableString sql, bool disposeCommand = true) Parameters Type Name Description System.FormattableString sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation. System.Boolean disposeCommand Indicates whether or not to dispose the underlying Npgsql.NpgsqlCommand after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. | Improve this Doc View Source QuerySingle(String, NpgsqlParameter[]) Creates a new query command, which expects a single returned primary row. This API does not support string interpolation! If you want to pass interpolated SQL use QueryInterpolatedSingle(FormattableString, Boolean) . Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(string sql, params NpgsqlParameter[] parameters) Parameters Type Name Description System.String sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Npgsql.NpgsqlParameter [] parameters A set of Npgsql.NpgsqlParameter which contain parameters for the sql command. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. Remarks The command will be automatically disposed the underlying Npgsql.NpgsqlCommand after the command got executed once. | Improve this Doc View Source QuerySingle(String, Boolean) Creates a new query command, which expects a single returned primary row. This API does not support string interpolation! If you need to pass parameters with the query, either use QuerySingle(String, NpgsqlParameter[]) or QueryInterpolatedSingle(FormattableString, Boolean) . Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(string sql, bool disposeCommand = true) Parameters Type Name Description System.String sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. System.Boolean disposeCommand Indicates whether or not to dispose the underlying Npgsql.NpgsqlCommand after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. | Improve this Doc View Source QuerySingle(String, Boolean, NpgsqlParameter[]) Creates a new query command, which expects a single returned primary row. This API does not support string interpolation! If you want to pass interpolated SQL use QueryInterpolatedSingle(FormattableString, Boolean) . Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(string sql, bool disposeCommand, params NpgsqlParameter[] parameters) Parameters Type Name Description System.String sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. System.Boolean disposeCommand Indicates whether or not to dispose the underlying Npgsql.NpgsqlCommand after the command got executed once. Npgsql.NpgsqlParameter [] parameters A set of Npgsql.NpgsqlParameter which contain parameters for the sql command. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command.\"\n  },\n  \"api/Venflow.TypeArgumentException.html\": {\n    \"href\": \"api/Venflow.TypeArgumentException.html\",\n    \"title\": \"Class TypeArgumentException | Venflow Documentation\",\n    \"keywords\": \"Class TypeArgumentException Represents an error which occur when an invalid type argument gets passed to a generic method. Inheritance System.Object System.Exception TypeArgumentException Implements System.Runtime.Serialization.ISerializable Inherited Members System.Exception.GetBaseException() System.Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext) System.Exception.GetType() System.Exception.ToString() System.Exception.Data System.Exception.HelpLink System.Exception.HResult System.Exception.InnerException System.Exception.Message System.Exception.Source System.Exception.StackTrace System.Exception.TargetSite System.Exception.SerializeObjectState System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Venflow Assembly : Venflow.dll Syntax [Serializable] public class TypeArgumentException : Exception, ISerializable Constructors | Improve this Doc View Source TypeArgumentException(String) Declaration public TypeArgumentException(string message) Parameters Type Name Description System.String message | Improve this Doc View Source TypeArgumentException(String, Exception) Declaration public TypeArgumentException(string message, Exception inner) Parameters Type Name Description System.String message System.Exception inner | Improve this Doc View Source TypeArgumentException(String, String) Declaration public TypeArgumentException(string message, string type) Parameters Type Name Description System.String message System.String type Implements System.Runtime.Serialization.ISerializable\"\n  },\n  \"api/Venflow.VenflowConfiguration.html\": {\n    \"href\": \"api/Venflow.VenflowConfiguration.html\",\n    \"title\": \"Class VenflowConfiguration | Venflow Documentation\",\n    \"keywords\": \"Class VenflowConfiguration Contains methods to globally set the configuration of Venflow. Inheritance System.Object VenflowConfiguration Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Venflow Assembly : Venflow.dll Syntax public static class VenflowConfiguration Properties | Improve this Doc View Source ShouldUseDeepValidation Determines whether or not Venflow will perform more extensive validation through out its usage. This setting will be set to true automatically, if you are in DEBUG, otherwise false . Declaration public static bool ShouldUseDeepValidation { get; } Property Value Type Description System.Boolean Methods | Improve this Doc View Source UseDeepValidation(Boolean) Changes the value of the ShouldUseDeepValidation property. Declaration public static void UseDeepValidation(bool validation) Parameters Type Name Description System.Boolean validation Determines if Venflow should use deep validation or not.\"\n  },\n  \"guides/advanced/enums.html\": {\n    \"href\": \"guides/advanced/enums.html\",\n    \"title\": \"Enums with Venflow | Venflow Documentation\",\n    \"keywords\": \"Enums with Venflow Enums are quite heavily used in C# and PostgreSQL, there are two different options of mapping you can choose from. By default any enum will be mapped as the underlying numeric data type in the database. However if you want to use a native PostgreSQL enum you have to specify that in the Configuration of your entity. public class FooConfiguration : EntityConfiguration<Foo> { protected override void Configure(IEntityBuilder<Foo> entityBuilder) { entityBuilder.MapPostgresEnum(x => x.Bar); } } Note By default the name of the enum within C# will be converted to a lower-cased _ separated name. That means FooBaz would be converted to foo_baz . If you want to override any of the naming behaviours you can pass a valid value to the name / npgsqlNameTranslator parameters.\"\n  },\n  \"guides/advanced/logging.html\": {\n    \"href\": \"guides/advanced/logging.html\",\n    \"title\": \"Logging with Venflow | Venflow Documentation\",\n    \"keywords\": \"Logging with Venflow Logging in general is a very important topic, especially in a scenario like this, in which the ORM partially creates SQL. At the current state Venflow supports logging only in a few specific cases. As of now this only covers all Query operations including QuerySingle and QueryBatch as well as their interpolation counterparts. Setup the logging provider You configure your logging provider on a Database basis, through the Configure method. Lets again use our database which we already used in the Setup Guide . Test Linq public class BlogDatabase : Database { public Table<Blog> Blogs { get; set; } public Table<Post> Posts { get; set; } public BlogDatabase() : base(\\\"Your connection string.\\\") { } }\"\n  },\n  \"guides/advanced/nullables.html\": {\n    \"href\": \"guides/advanced/nullables.html\",\n    \"title\": \"Nullables with Venflow | Venflow Documentation\",\n    \"keywords\": \"Nullables with Venflow Since C#8 null-able reference types are supported which help you writing better code and improves the IntelliSense. However for Venflow this also is a big deal. If you have specified <Nullable>enable</Nullable> in your .csproj file you opt-in for this feature. You will then be forced to mark all fields as null-able which are also marked as null-able in your database. That way Venflow can produce way more optimized code. Warning You will also be forced to apply the null-able identifiers for all foreign-keys and navigation properties, if they are indeed null-able.\"\n  },\n  \"guides/advanced/prepared_statements.html\": {\n    \"href\": \"guides/advanced/prepared_statements.html\",\n    \"title\": \"Statement Preparation with Venflow | Venflow Documentation\",\n    \"keywords\": \"Statement Preparation with Venflow You can also prepare Query statements with Venflow through the Query Builder. This would look something like the following. var someId = 10; var query = await database.Blogs.QueryInterpolatedBatch($@\\\"SELECT * FROM \\\"\\\"Blogs\\\"\\\" WHERE \\\"\\\"Id\\\"\\\" = {someId}\\\", false).Build().PrepareAsync(); // You need to store this stamenet in a field or similar and reuse it, every time you want to query through this prepared statment. var blogs = await _database.Blogs.QueryAsync(query); // You can also inline this with the line above. Note Also do not forget to call UnprepareAsync or DisposeAsync on this command once you no longer need it. Note One handy feature that comes in for you, is that you can use this prepared command with any Database instance.\"\n  },\n  \"guides/advanced/validation.html\": {\n    \"href\": \"guides/advanced/validation.html\",\n    \"title\": \"Validation with Venflow | Venflow Documentation\",\n    \"keywords\": \"Validation with Venflow Venflow performs a lot of validation under the hood, to perform the best possible UX. However this comes at a performance trade-off. Therefor Venflow only performs these validation, if you are using Venflow in a DEBUG build. If you would compile your assembly to RELEASE these validations wouldn't be performed. In order to manually override this behaviour you can configure this setting with the static VenflowConfiguration class. In the below example we would tell Venflow, to always use 'Deep Validation', no matter the configuration. You should place this at very beginning of your program, however you can change this value whenever you want. VenflowConfiguration.UseDeepValidation(true);\"\n  },\n  \"guides/getting_started/installation.html\": {\n    \"href\": \"guides/getting_started/installation.html\",\n    \"title\": \"Installing Venflow | Venflow Documentation\",\n    \"keywords\": \"Venflow Installation Supported Platforms Venflow supports .Net Framework 4.8 , .Net Standard 2.1 , .Net Core 3.1 and the latest pre-releases of .Net 5 . Installation from NuGet Venflow is distributed through the official NuGet feed as a lot of the other packages, which makes its install as easy as its get. Warning For now Venflow is published under the pre-release tag and might still contain bugs or other issues, if you encounter something please create an issue over on GitHub. Using Visual Studio Using the Nuget Package Manager Right click on 'References', and select 'Manage NuGet packages' Check the 'include prerelease' checkbox In the \\\"Browse\\\" tab, search for Venflow Click install. Click on 'Tools', 'Nuget Package Manager' and 'Package Manager Console' Enter Install-Package Venflow\"\n  },\n  \"guides/getting_started/setup.html\": {\n    \"href\": \"guides/getting_started/setup.html\",\n    \"title\": \"Setup Venflow | Venflow Documentation\",\n    \"keywords\": \"Venflow Setup Configure the Database Warning Be aware, that LINQPad may throw unexpected errors and you therefor should use a real .Net Project instead. In Venflow you are reflecting your PostgreSQL database with the Database class, which will host all of your tables. In the following example we will configure a database containing two tables, Blogs and Posts . One Blog contains many posts and a post contains a single Blog. public class BlogDatabase : Database { public Table<Blog> Blogs { get; set; } public Table<Post> Posts { get; set; } public BlogDatabase() : base(\\\"Your connection string.\\\") { } } Note Usually you would use your Database with an IOC Container and register it as a Transient / Scoped depending on the use. Warning This class represents a connection to your database and therefor doesn't support multi threaded use. Entities Entities represent a row inside a table of your database, for our current example this would look something like the following. Entities have to follow a specific schema: The Entity itself has to be public. All properties representing a column have to be public and need to have a public setter. public class Blog { public int Id { get; set; } public string Name { get; set; } public IList<Post> Posts { get; } public Blog() { Posts = new List<Post>(); } } public class Post { public int Id { get; set; } public string Title { get; set; } public string Content { get; set; } public int BlogId { get; set; } public Blog Blog { get; set; } } Note You don't necessarily need to instantiate the Posts navigation property on the Blog Entity, since Venflow will instantiate them otherwise. However in most cases it is more convenient to instantiate them on your own, otherwise foreign collections might be null ! Warning All properties which you want to be updateable by change-tracking have to be marked as virtual! Configuring Entities Now lets configure the actual relation between Blogs and Posts through the EntityConfiguration<T> class. In the Configure , method you can configure several things such as the name of the table this entity should map to and much more. These configuration classes do automatically get discovered, if they are in the same assembly as the Database class. If they are not in the same assembly, you can override the Configure method in the Database class which passes in a DatabaseOptionsBuilder , which will allow you to specify assemblies which should also be searched for entity configurations. public class BlogConfiguration : EntityConfiguration<Blog> { protected override void Configure(IEntityBuilder<Blog> entityBuilder) { entityBuilder.HasMany(b => b.Posts) .WithOne(p => p.Blog) .UsingForeignKey(p => p.PostId); } } Note Most of the configurations have to be configured with the EntityConfiguration<T> class, however there are a few exceptions to this rule. Primary Keys get automatically mapped if they are named Id or decorated with the KeyAttribute . A property can also be ignored with the NotMappedAttribute .\"\n  },\n  \"guides/introduction/intro.html\": {\n    \"href\": \"guides/introduction/intro.html\",\n    \"title\": \"Introduction to Venflow | Venflow Documentation\",\n    \"keywords\": \"Introduction Welcome to the documentation, there are a few requirements your skills should meet. Pretty solid understanding of C#, if not take a look at the C# Programming Guide Experience with SQL Queries and PostgreSQL in general In the guides section you can find information on how to install Venflow and articles which help you to get started. You need more help? Feel free to create a GitHub issue or join the Discord Server .\"\n  },\n  \"guides/operations/count.html\": {\n    \"href\": \"guides/operations/count.html\",\n    \"title\": \"Count with Venflow | Venflow Documentation\",\n    \"keywords\": \"Count Rows with Venflow Your Database class exposes Table<T> properties which expose count operations. In Venflow counts are always automatically generated. For this example, we want to get the amount of rows in the Posts table. await database.Posts.CountAsync();\"\n  },\n  \"guides/operations/delete.html\": {\n    \"href\": \"guides/operations/delete.html\",\n    \"title\": \"Delete with Venflow | Venflow Documentation\",\n    \"keywords\": \"Delete Data with Venflow Your Database class exposes Table<T> properties which expose delete operations. In Venflow deletes are always automatically generated. For this example, we want to delete a blog with all of its posts at once. var blog = await database.Blogs.QuerySingle(@\\\"SELECT * FROM \\\"\\\"Blogs\\\"\\\" LIMIT 1\\\").QueryAsync(); await database.Blogs.DeleteAsync(blog); As an alternative, if you already have the primary key of the blog you want to delete you can create a new Blog instance. await database.Blogs.DeleteAsync(new Blog { Id = 1 });\"\n  },\n  \"guides/operations/execute.html\": {\n    \"href\": \"guides/operations/execute.html\",\n    \"title\": \"Execute with Venflow | Venflow Documentation\",\n    \"keywords\": \"Execute SQL with Venflow Warning Be carful while dealing with raw SQL and ensure that you never pass user modified SQL to any of the methods. Instead use parameterized overloads or the Interpolated siblings. Your Database class exposes Execute methods which allow for fully custom SQL. In this example we drop a table. await database.ExecuteAsync(@\\\"DROP TABLE \\\"\\\"Foo\\\"\\\"\\\");\"\n  },\n  \"guides/operations/insert.html\": {\n    \"href\": \"guides/operations/insert.html\",\n    \"title\": \"Insert with Venflow | Venflow Documentation\",\n    \"keywords\": \"Insert Data with Venflow Your Database class exposes Table<T> properties which expose insert operations. In Venflow insert are always automatically generated. For this example, we want to insert a blog with a few posts at once. var blog = new Blog { Name = \\\"My new Blog\\\", Posts = new List<Post> { new Post { Title = \\\"This is my first Post\\\", Content = \\\"Hey there.\\\" }, new Post { Title = \\\"This is my second Post\\\", Content = \\\"Hey there again!\\\" } } }; await database.Blogs.InsertAsync(blog); Insert Data without relations One of the nice things with Venflow is, that you don't need to set all navigation properties to null, if you don't want to insert them. In this example we would have posts with a blog, but we only want to insert the blog. var blog = new Blog { Name = \\\"My new Blog\\\", Posts = new List<Post> { new Post { Title = \\\"This is my first Post\\\", Content = \\\"Hey there.\\\" }, new Post { Title = \\\"This is my second Post\\\", Content = \\\"Hey there again!\\\" } } }; await database.Blogs.Insert().InsertAsync(blog); Note This builder exposes similar methods to the Query builder, you can use InsertWith and AndWith to further configure the insert. Note The method InsertWithAll will insert with all populated and reachable relations. This is the equivalent to calling database.Blogs.InsertAsync() .\"\n  },\n  \"guides/operations/query.html\": {\n    \"href\": \"guides/operations/query.html\",\n    \"title\": \"Query with Venflow | Venflow Documentation\",\n    \"keywords\": \"Query Data with Venflow Warning Be carful while dealing with raw SQL and ensure that you never pass user modified SQL to any of the methods. Instead use parameterized overloads or the Interpolated siblings. Warning The primary key always has to be the first column of a given table returned by an SQL Query. Query data without relations Your Database class exposes Table<T> properties which expose query operations. In Venflow queries are based on hand-written SQL. In this case we query the first 10 blogs in the database. await using var database = new BlogDatabase(); // You should register this in a Transient/Scoped your IOC Container. // You can re-use this in different BlogDatabase instances through the database.Blogs.QueryAsync() method // If you intend to reuse the query below you need to pass the QueryBatch method false for the disposeCommand, // otherwise the underyling command will be disposed after the first use. var query = database.Blogs.QueryBatch(@\\\"SELECT * FROM \\\"\\\"Blogs\\\"\\\" LIMIT 10\\\").Build(); var blogs = await query.QueryAsync(); // You can also inline this with the line above. Additionally if you do not intend to reuse the the command instance you can omit the Build method call and directly call QueryAsync . Also, if you instead only wanted to query the first result, you can use the QuerySingle API. var blogs = await database.Blogs.QuerySingle(@\\\"SELECT * FROM \\\"\\\"Blogs\\\"\\\" LIMIT 1\\\").QueryAsync(); Query data with relations In this case we want to get the first 5 blogs with all of their posts. If you want to perform a join, the builder exposes the JoinWith and the ThenWith method to perform nested joins. const string sql = @\\\"SELECT * FROM ( SELECT * FROM \\\"\\\"Blogs\\\"\\\" LIMIT 5 ) AS \\\"\\\"Blogs\\\"\\\" JOIN \\\"\\\"Posts\\\"\\\" ON \\\"\\\"Posts\\\"\\\".\\\"\\\"BlogId\\\"\\\" = \\\"\\\"Blogs\\\"\\\".\\\"\\\"Id\\\"\\\"\\\"; var query = await database.Blogs.QueryBatch(sql).JoinWith(x => x.Posts).QueryAsync(); If you instead only wanted to query the first blog with all of its posts, you can again use the QuerySingle API. var blogs = await database.Blogs.QuerySingle().JoinWith(x => x.Posts).QueryAsync(); Queries with parameters Most of the times your query contains some sort of parameters. With Venflow you have two options, either by using the raw NpgsqlParameter class and the matching QuerySingle / QueryBatch overloads or the Interpolated SQL methods. In this example, we try to query the first blog with the id 5 with all of its posts. FormattableString sql = $@\\\"SELECT * FROM ( SELECT * FROM \\\"\\\"Blogs\\\"\\\" WHERE \\\"\\\"Id\\\"\\\" = {5} LIMIT 1 ) AS \\\"\\\"Blogs\\\"\\\" JOIN \\\"\\\"Posts\\\"\\\" ON \\\"\\\"Posts\\\"\\\".\\\"\\\"BlogId\\\"\\\" = \\\"\\\"Blogs\\\"\\\".\\\"\\\"Id\\\"\\\"\\\"; var blogs = await database.Blogs.QueryInterpolatedSingle(sql).JoinWith(x => x.Posts).QueryAsync(); Note Most of the methods in Venflow which accept raw SQL do have a sibling method called *Interpolated* . Query partial data The beautiful thing about Venflow is that you can only query for partial data, which means that a query doesn't necessarily has to return all column. There are only two thing you need to be aware of: The primary key always needs to be returned Assuming you have two tables, table A and table B, which you are joining together. Table A isn't allowed to contain a column (other than the primary key) to have the same name as the primary key of table B. Otherwise Venflow won't be able to know when to spilt the SQL result. A simple example of that would be something like the following, where we just query the name and the primary key of all blogs. const string sql = @\\\"SELECT \\\"\\\"Id\\\"\\\", \\\"\\\"Name\\\"\\\" FROM \\\"\\\"Blogs\\\"\\\"\\\"; var blogs = await database.Blogs.QueryBatch(sql).QueryAsync(); Queries which don't return entities In Venflow you have the option to construct queries which don't necessarily return a row of a table, in this case you can use the Custom<T> method on your Database class. In the following example we want to return the amount of rows in the Blogs table. public class CountReturn { public int Count { get; set; } } await database.Custom<CountReturn>().QuerySingle(@\\\"SELECT COUNT(*) FROM \\\"\\\"Blogs\\\"\\\"\\\").QueryAsync(); Warning This API does not support any of the usual methods available on regular entities, such as change tracking or joins.\"\n  },\n  \"guides/operations/truncate.html\": {\n    \"href\": \"guides/operations/truncate.html\",\n    \"title\": \"Truncate with Venflow | Venflow Documentation\",\n    \"keywords\": \"Truncate Table with Venflow Your Database class exposes Table<T> properties which expose truncate operations. In Venflow truncates are always automatically. For this example, we want to truncate the Blogs table. await database.Blogs.TruncateAsync();\"\n  },\n  \"guides/operations/update.html\": {\n    \"href\": \"guides/operations/update.html\",\n    \"title\": \"Update with Venflow | Venflow Documentation\",\n    \"keywords\": \"Update Data with Venflow Your Database class exposes Table<T> properties which expose update operations. In Venflow updates are always automatically generated. Updates of data happen through change-tracking of entities, however this does not include navigation properties. For this example, we want to update the title of a post. Warning All properties which you want to be updateable by change-tracking have to be marked as virtual! In order to get a change-tracked entity you can choose either of two ways. You can use the TrackChanges method on the query builder to immediately get change tracked entities. var post = await database.Posts.QuerySingle().TrackChanges().QueryAsync(); post.Title = \\\"This post was updated!\\\"; await database.Posts.UpdateAsync(post); Or you change track an entity after it was created. var post = new Post { Id = 1 }; database.Posts.TrackChanges(ref post); post.Title = \\\"This post was updated!\\\"; await database.Posts.UpdateAsync(post); Note Change tracking is not limited to one Database instance, additionally updating a change tracked entity is thread save. Warning Change tracking won't compare the old value and the new value of a property, this means that if you assign a property, no matter the value, it is considered to be changed.\"\n  },\n  \"index.html\": {\n    \"href\": \"index.html\",\n    \"title\": \"Venflow | Venflow Documentation\",\n    \"keywords\": \"Venflow Venflow is a brand new and from the ground up written ORM which tries to provide an alternative to EF-Core and many other ORMs. It allows you to define Models and their relations with each other. Additionally it maps all queries on its own while still maintaining great performance, with options for custom SQL. About Lets face it, EF-Core is awesome, but it can be slow, really slow. However this library tries to overcome that by providing similar features while maintaining great performance. Venflow comes with a very similar UX to Dapper and EF-Core, in order to keep the learning curve as low as possible. Features Simple change-tracking for update operations Autogenerated Inserts Autogenerated Deletes Autogenerated Query Materializer, Join Generator SQL Injection safe string Interpolated SQL Collaboration If you want to collaborate on this project more, than creating issues and PR's, feel free to contact me on any of the mentioned contacts at the bottom of the file. How you can help other than that? This can be done in numerous ways, over on the issue section, such as: Creating feature requests Creating pull requests Reporting bugs Installation The alpha versions of Venflow can currently be downloaded on nuget.org . However please do note that since this package is still in beta, it may still contain bugs and other issues. Also you can install it via the P ackage M anager C onsole: Install-Package Venflow Comparison Benchmarking ORM's isn't quite an easy task, since there are a bunch of different factors which can alter the result in one way or another. I do not show any beautiful graphs here for the simple reason, that showing them would be pretty impractical, since there would be just too many. That is also the reason why I tried to come up with a composite number based on the benchmark results. If you still want check all the individual benchmarks, which you defiantly should, the source code can be found here and the results as .csv and .md are over here . Lets just directly hop into the composite numbers of each tested ORM. ORM Name Composite Score* Mean Score* Allocation Score* #1 Venflow 9.204 8.463 0.741 #2 Dapper ** 16.794 13.076 3.718 #3 RepoDb ** 49.494 43.254 6.240 #4 EFCore 245.869 195.152 50.717 * Lower is considered to be better ** Do have missing benchmark entries for specific benchmark groups and therefor either might have better/worse scores. Now how do I calculate this magic number ? The formula is as following: compositeScore = Σ((meanTime / lowestMeanTimeOfGroup - 1) + (allocation / lowestAllocationOfGroup - 1) / 10) A group is considered as a list of benchmark entries which are inside the same file and have the same *count and target framework. Now as some ORM's don't have any benchmarks entries for specific benchmark groups it will take instead take the lowest mean and the lowest allocation from this group. The source code of the calculation can be found here . Disclaimer The benchmarks themselves or even the calculation of the composite numbers may not be right and contain bugs. Therefor consider these results with a grain of salt. If you find any bugs inside the calculations or in the benchmarks please create an issue and I'll try to fix it ASAP. Is this package for you? This package is more a competitor to Dapper than EF-Core since it supports Linq2Sql, Database first and migrations, which both Dapper and Venflow don't support out of the box. On the other hand you need to consider the Database you will end up using, if you aren't using PostgreSQL you will have to use a different ORM, at least at this state of the project. But why should I use Venflow over Dapper anyway? Venflow supports a lot more things out of the box, such as automatic generated Delete/Insert statements, as well as simple change tracking to easily update specific entities. Another big factor, which probably is one of the biggest differences to Dapper, are the automatically generated materializers for queries. A lot of the times a materializer generated by Venflow will always be faster, especially for bigger tables, than a hand written Dapper one. This is due to the nature of how Dapper and Venflow handle the parsing of SQL results. Road map Composed PK support Direct support for many to many relations Acknowledgements I also want to mention all the other great ORM's out there, build by awesome people, which helped with building Venflow in one way or another. EF-Core by Microsoft and the .Net team RepoDb by mikependon Notes Contact information If you feel like something is not working as intended or you are experiencing issues, feel free to create an issue. Also for feature requests just create an issue. For further information feel free to send me a mail to office@twenty-four.dev or message me on Discord 24_minutes#7496 . Sponsors I wanna thank JetBrains for providing me and the project with a free Open Source license for their whole JetBrains suite. Their Tools greatly improve the development speed of this Project. If you want to get a free Open Source license for your own project and their collaborators, visit their Open Source page .\"\n  }\n}"
  },
  {
    "path": "docs/docfx/index.md",
    "content": "<p align=\"center\">\n <h1 align=\"center\">Venflow</h1>\n <p align=\"center\">A brand new, fast, and lightweight ORM. | <a href=\"https://twentyfourminutes.github.io/Venflow/\">Documentation</a></p>\n</p>\n<p align=\"center\">\n<a href=\"https://www.nuget.org/packages/Venflow\"><img alt=\"Nuget\" src=\"https://img.shields.io/nuget/v/Venflow\"></a> <a href=\"https://www.nuget.org/packages/Venflow\"><img alt=\"Nuget\" src=\"https://img.shields.io/nuget/dt/Venflow\"></a> <a href=\"https://github.com/TwentyFourMinutes/Venflow/issues\"><img alt=\"GitHub issues\" src=\"https://img.shields.io/github/issues-raw/TwentyFourMinutes/Venflow\"></a> <a href='https://coveralls.io/github/TwentyFourMinutes/Venflow?branch=dev'><img src='https://coveralls.io/repos/github/TwentyFourMinutes/Venflow/badge.svg?branch=dev' alt='Coverage Status' /></a> <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/master/LICENSE\"><img alt=\"GitHub\" src=\"https://img.shields.io/github/license/TwentyFourMinutes/DulcisX\"></a> <a href=\"https://discordapp.com/invite/EYKxkce\"><img alt=\"Discord\" src=\"https://discordapp.com/api/guilds/275377268728135680/widget.png\"></a>\n</p>\n\n\n## About\n\nVenflow is a brand new ORM, written from the ground up to try and provide an alternative to EF-Core and many other ORMs. It allows you to define Models and their relations with each other. Additionally it maps all queries on its own while still maintaining great performance.\n\nLets face it, EF-Core is awesome, but it can be slow, really slow. However this library tries to overcome that by providing similar features while maintaining great performance. Venflow comes with a very similar UX to Dapper and EF-Core, in order to keep the learning curve as low as possible. \n\n#### Features\n\n- Simple change-tracking for update operations\n- Autogenerated Inserts\n- Autogenerated Deletes\n- Autogenerated Query Materializer, Join Generator\n- SQL Injection safe string Interpolated SQL\n\n\n### Collaboration\n\nThe simplest way to do so, is by giving the project a :star: and sharing the project to others. How you can help other than that? This can be done in numerous ways, over on the issue section, such as:\n\n- Creating feature requests\n- Creating pull requests\n- Reporting bugs\n\nFor more information take a look at our [contribution guideline](https://github.com/TwentyFourMinutes/Venflow/blob/dev/CONTRIBUTING.md).\n\n## Installation\n\nVenflow can currently be downloaded on [nuget.org](https://www.nuget.org/packages/Venflow).\n\nAlso you can install it via the **P**ackage **M**anager **C**onsole:\n\n```\nInstall-Package Venflow\n```\n\n## Comparison\n\nBenchmarking ORM's isn't an easy task, since there are a bunch of different factors which can alter the result in one way or another. I do not present any beautiful graphs here simply because they would get too complex and it would require too many graphs to remain practical. This is also the reason why I tried to come up with a composite number based on benchmark results. If you still want check all the individual benchmarks, which you definitely should, the source code can be found [here](../../src/Venflow/Venflow.Benchmarks) and the results as `.csv` and `.md` are over [here](../../benchmarks).\n\nLets just directly hop into the composite numbers of each tested ORM.\n<!--Benchmark Start-->\n| ORM Name | Composite Score\\* | Mean Score\\* | Allocation Score\\* |\n| :- | :-: | :-: | :-: |\n| #1 [Dapper](https://github.com/StackExchange/Dapper) | 2,917 | 2,813 | 0,104 |\n| #2 [Venflow](https://github.com/TwentyFourMinutes/Venflow) | 4,567 | 3,851 | 0,716 |\n| #3 [RepoDb](https://github.com/mikependon/RepoDb) | 50,295 | 48,043 | 2,252 |\n| #4 [EFCore](https://github.com/dotnet/efcore) | 109,965 | 91,581 | 18,385 |\n<!--Benchmark End-->\n\\* Lower is considered to be better </br>\n\\*\\* Do have missing benchmark entries for specific benchmark groups and therefor might have either better or worse scores.\n\nNow how do I calculate this _magic number_? The formula is as following: \n```\ncompositeScore = Σ((meanTime / lowestMeanTimeOfGroup - 1) + (allocation / lowestAllocationOfGroup - 1) / 10)\n```\nA group is considered to be a list of benchmark entries which are inside the same file and have the same count and target framework. Now as some ORM's don't have any benchmarks entries for specific benchmark groups it will instead take the _lowest_ mean and the _lowest_  allocation from this group. The source code of the calculation can be found [here](../../src/Venflow/Venflow.Score).\n\n#### Disclaimer\n\nThe benchmarks themselves or even the calculation of the composite numbers may not be right and contain bugs. Therefor take these results with a grain of salt. If you find any bugs inside the calculations or in the benchmarks please create an issue and I'll try to fix it ASAP.\n\n## Is this package for you?\n\nEspecially for ORM's it is becoming a harder challenge than ever before, to choose the right one for you. This project tries to be as transparent as possible, so if any of the following points apply to you or your project, choose a different ORM at least for your current project.\n\n- You are feeling unsure about writing raw SQL.\n- <sup>†</sup> You are using a database other than PostgreSQL.\n- <sup>†</sup> You rely on a code-first implementation.\n- You require Linq2Sql.\n\n*<sup>†</sup> indicates that this point might change it the future*\n\n#### But why should I use Venflow over EF-Core anyway?\n\nObviously this project is nowhere near as mature as EF-Core as it already covers all your needs. However Venflow is all about performance in every way. You might ask yourself now, why would I even care? Well, especially for Web-Apps it really matters! Your response times for all requests involving some sort of Database interaction will immediately decrease. This also means that your application will not take up as much resources on your server. Obviously this only is applicable, if the website encounters somewhat high traffic.     \n\n#### But why should I use Venflow over Dapper anyway?\n\nVenflow supports a lot more things out of the box, such as automatically generated Delete/Insert statements, as well as simple change tracking to easily update specific entities. Another big factor, which probably is one of the biggest differences to Dapper, are the automatically generated materializers for queries. A lot of the times a materializer generated by Venflow will be faster, especially for bigger tables, than a hand written Dapper one. This is due to the nature of how Dapper and Venflow handle parsing of SQL results.\n\n## Basic usage\n\nAs already mentioned, Venflow tries to keep the learning curve from other ORM's as low as possible, therefore a lot of patterns will seem familiar to either EFCore or Dapper.\n\n### Basic configuration\n\n_The official documentation and guides can be found [here](https://twentyfourminutes.github.io/Venflow/)_\n\nIn Venflow you are reflecting your PostgreSQL database with the `Database` class, which will host all of your tables. This class represents a connection to your database and therefor doesn't support multi threaded use. In the following example we will configure a database containing two tables, `Blogs` and `Posts`. One Blog contains many posts and a post contains a single Blog.\n\n```cs\npublic class BlogDatabase : Database\n{\n    public Table<Blog> Blogs { get; set; }\n    public Table<Post> Posts { get; set; }\n\n    public BlogDatabase() : base(\"Your connection string.\")\n    {\n    }\n}\n```\n\nNow lets configure the actual relation between Blogs and Posts through the `EntityConfiguration<T>` class. In the `Configure` , method you can configure several things such as the name of the table this entity should map to and much more. These configuration classes do automatically get discovered, if they are in the same assembly as the `Database` class. If they are not in the same assembly, you can override the `Configure` method in the `Database` class which passes in a `DatabaseOptionsBuilder`, which will allow you to specify assemblies which should also be searched for entity configurations.\n\n```cs\npublic class BlogConfiguration : EntityConfiguration<Blog>\n{\n    protected override void Configure(IEntityBuilder<Blog> entityBuilder)\n    {\n        entityBuilder.HasMany(b => b.Posts)\n                     .WithOne(p => p.Blog)\n                     .UsingForeignKey(p => p.PostId);\n    }\n}\n```\n\nAn instance of your `Database` class exposes the underlying connection and the actual CRUD builders. In the example below you can see how you would query a set of Blogs with their posts.\n\n```cs\nawait using var database = new BlogDatabase(); // You should register a Transient/Scoped your DI Container.\n\nconst string sql = @\"SELECT * FROM \"\"Blogs\"\" JOIN \"\"Posts\"\" ON \"\"Posts\"\".\"\"BlogId\"\" = \"\"Blogs\"\".\"\"Id\"\"\";\n\n// You can re-use this in different BlogDatabase instances through the database.Blogs.QueryAsync() method\n// If you intend to reuse the query below you need to pass the QueryBatch method false for the disposeCommand,\n// otherwise the underyling command will be disposed after the first use.\nvar blogs = database.Blogs.QueryBatch(sql).JoinWith(x => x.Posts).QueryAsync();\n```\n\nSubsequent joins can be configured using the `ThenWith` method. Do note, that one handy feature of Venflow is string interpolated SQL. This means that most of the methods which accept SQL also have a sibling named `*Interpolated*` which will automatically extract the used variables and use a parameterized query instead.\n\n## Road map\n\n- Composed PK support\n- Direct support for many to many relations\n- Support for materialized Views\n- Bulk operation support from [`PostgreSQL.Bulk`](https://github.com/TwentyFourMinutes/PostgreSQL.Bulk)\n- Code-First\n- AOT proxy/entity generation with Source Generators\n\n### Acknowledgements\n\nI also want to mention all the other great packages out there, build by awesome people, which helped with building Venflow in one way or another such as being open-source.\n\n- [Npgsql](https://github.com/npgsql/npgsql) by [the Npgsql core contributers](https://github.com/npgsql/) for providing an awesome and fast PostgreSQL data provider.\n- [Sharplab](https://github.com/ashmind/SharpLab) by [ashmind](https://github.com/ashmind) and the [sharplab.io](https://sharplab.io) website for immensely simplify the generation for IL.\n- [EF-Core](https://github.com/dotnet/efcore) by [Microsoft and the .Net team](https://github.com/dotnet) for providing the inspiration for such an awesome surface API.\n- [RepoDb](https://github.com/mikependon/RepoDb) by [mikependon](https://github.com/mikependon) for providing the idea of generating runtime IL/Expressions to boost performance.\n- [Fody](https://github.com/Fody/Fody) by [the Fody core contributers](https://github.com/Fody) for providing an easy way to IL weave Venflow.\n- [GitHub](https://github.com/) for hosting the documentation with [GitHub Pages](https://pages.github.com/) and the repository itself.\n- [DocFX](https://github.com/dotnet/docfx) by [Microsoft and the .Net team](https://github.com/dotnet) for providing a great any easy static markdown/documentation html generator.\n- [Typora](https://typora.io/) for being a fully extensive and great markdown editor.\n- [GitKraken](https://www.gitkraken.com/) for providing a full fledged git UI with a bunch of great features.\n- [Shields](https://shields.io/) for providing awesome badges for the README.\n\n#### Awesome people which helped in the development\n\n- [LunarLite](https://github.com/LunarLite) for helping me with highly complex logically issues.\n- [AnotherZane](https://github.com/AnotherZane) for being one of the early preview testers. \n- [Jas](https://github.com/jas777) and [Altrius](https://github.com/AltriusRS) for providing general surface API ideas.\n\n## Notes\n\n### Contact information\n\nIf you feel like something is not working as intended or you are experiencing issues, feel free to create an issue. Also for feature requests just create an issue. For further information feel free to send me an [email](mailto:office@twenty-four.dev) at `office@twenty-four.dev` or message me on Discord `24_minutes#7496`.\n\n## Sponsors\n\nI wanna thank [JetBrains](https://www.jetbrains.com/?from=DulcisX) for providing me and the project with a free Open Source license for their whole JetBrains suite. Their tools greatly improve the development speed of this project. If you want to get a free Open Source license for your own project and their collaborators, visit their [Open Source page](https://www.jetbrains.com/opensource/).\n\n<a href=\"https://www.jetbrains.com/?from=DulcisX\"><img width=\"350px\" src=\"images/jetbrains_logo.png\"></a>\n"
  },
  {
    "path": "docs/docfx/search-stopwords.json",
    "content": "[\n  \"a\",\n  \"able\",\n  \"about\",\n  \"across\",\n  \"after\",\n  \"all\",\n  \"almost\",\n  \"also\",\n  \"am\",\n  \"among\",\n  \"an\",\n  \"and\",\n  \"any\",\n  \"are\",\n  \"as\",\n  \"at\",\n  \"be\",\n  \"because\",\n  \"been\",\n  \"but\",\n  \"by\",\n  \"can\",\n  \"cannot\",\n  \"could\",\n  \"dear\",\n  \"did\",\n  \"do\",\n  \"does\",\n  \"either\",\n  \"else\",\n  \"ever\",\n  \"every\",\n  \"for\",\n  \"from\",\n  \"get\",\n  \"got\",\n  \"had\",\n  \"has\",\n  \"have\",\n  \"he\",\n  \"her\",\n  \"hers\",\n  \"him\",\n  \"his\",\n  \"how\",\n  \"however\",\n  \"i\",\n  \"if\",\n  \"in\",\n  \"into\",\n  \"is\",\n  \"it\",\n  \"its\",\n  \"just\",\n  \"least\",\n  \"let\",\n  \"like\",\n  \"likely\",\n  \"may\",\n  \"me\",\n  \"might\",\n  \"most\",\n  \"must\",\n  \"my\",\n  \"neither\",\n  \"no\",\n  \"nor\",\n  \"not\",\n  \"of\",\n  \"off\",\n  \"often\",\n  \"on\",\n  \"only\",\n  \"or\",\n  \"other\",\n  \"our\",\n  \"own\",\n  \"rather\",\n  \"said\",\n  \"say\",\n  \"says\",\n  \"she\",\n  \"should\",\n  \"since\",\n  \"so\",\n  \"some\",\n  \"than\",\n  \"that\",\n  \"the\",\n  \"their\",\n  \"them\",\n  \"then\",\n  \"there\",\n  \"these\",\n  \"they\",\n  \"this\",\n  \"tis\",\n  \"to\",\n  \"too\",\n  \"twas\",\n  \"us\",\n  \"wants\",\n  \"was\",\n  \"we\",\n  \"were\",\n  \"what\",\n  \"when\",\n  \"where\",\n  \"which\",\n  \"while\",\n  \"who\",\n  \"whom\",\n  \"why\",\n  \"will\",\n  \"with\",\n  \"would\",\n  \"yet\",\n  \"you\",\n  \"your\"\n]\n"
  },
  {
    "path": "docs/docfx/styles/dark.css",
    "content": "/* Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information. */\n\n@import url('vs2015.css');\nhtml,\nbody {\n    background: #212121;\n    color: #C0C0C0;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n    color: #E0E0E0;\n}\n\nbutton,\na {\n    color: #64B5F6;\n}\n\n.sidenav{\n  background-color: rgb(30, 30, 30);\n}\n\nbutton:hover,\nbutton:focus,\na:hover,\na:focus,\n.btn:focus,\n.btn:hover{\n    color: #2196F3;\n}\n\na.disable,\na.disable:hover {\n    color: #EEEEEE;\n}\n\n.divider {\n    color: #37474F;\n}\n\nhr {\n    border-color: #37474F;\n}\n\n.subnav {\n    background: #383838\n}\n\n.inheritance h5,\n.inheritedMembers h5 {\n    border-bottom: 1px solid #37474F;\n}\n\narticle h4 {\n    border-bottom: 1px solid #37474F;\n}\n\n.docs-search {\n    background: #424242;\n}\n\n.search-results-group-heading {\n    color: #424242;\n}\n\n.search-close {\n    color: #424242;\n}\n\n.sidetoc {\n    background-color: #1b1b1b;\n    border-left: 0px solid #37474F;\n    border-right: 0px solid #37474F;\n}\n\n.sideaffix {\n    overflow: visible;\n}\n\n.sideaffix>div.contribution>ul>li>a.contribution-link:hover {\n    background-color: #333333;\n}\n\n/* toc */\n\n.toc .nav>li>a {\n    color: rgb(218, 218, 218);\n}\n\n.toc .nav>li>a:hover,\n.toc .nav>li>a:focus {\n    color: #E0E0E0;\n}\n\n.toc .nav>li.active>a {\n    color: #90CAF9;\n}\n\n.toc .nav>li.active>a:hover,\n.toc .nav>li.active>a:focus {\n    background-color: #37474F;\n    color: #4FC3F7;\n}\n\n.sidefilter {\n    background-color: #1b1b1b;\n    border-left: 0px solid #37474F;\n    border-right: 0px solid #37474F;\n}\n\n.affix ul>li>a:hover {\n    background: none;\n    color: #EEEEEE;\n}\n\n.affix ul>li.active>a,\n.affix ul>li.active>a:before {\n    color: #B3E5FC;\n}\n\n.affix ul>li>a {\n    color: #EEEEEE;\n}\n\n.affix>ul>li.active>a,\n.affix>ul>li.active>a:before {\n    color: #B3E5FC;\n}\n\n.tryspan {\n    border-color: #37474F;\n}\n\n.footer {\n    border-top: 1px solid #5F5F5F;\n    background: #616161;\n}\n\n/* alert */\n.alert-info {\n    color: #d9edf7;\n    background: #004458;\n    border-color: #005873;\n}\n\n.alert-warning {\n    color: #fffaf2;\n    background: #80551a;\n    border-color: #99661f;\n}\n\n.alert-danger {\n    color: #fff2f2;\n    background: #4d0000;\n    border-color: #660000;\n}\n\n/* For tabbed content */\n\n.tabGroup {\n    margin-top: 1rem;\n}\n\n.tabGroup ul[role=\"tablist\"] {\n    margin: 0;\n    padding: 0;\n    list-style: none;\n}\n\n.tabGroup ul[role=\"tablist\"]>li {\n    list-style: none;\n    display: inline-block;\n}\n\n.tabGroup a[role=\"tab\"] {\n    color: white;\n    box-sizing: border-box;\n    display: inline-block;\n    padding: 5px 7.5px;\n    text-decoration: none;\n    border-bottom: 2px solid #fff;\n}\n\n.tabGroup a[role=\"tab\"]:hover,\n.tabGroup a[role=\"tab\"]:focus,\n.tabGroup a[role=\"tab\"][aria-selected=\"true\"] {\n    border-bottom: 2px solid #607D8B;\n}\n\n.tabGroup a[role=\"tab\"][aria-selected=\"true\"] {\n    color: #81D4FA;\n}\n\n.tabGroup a[role=\"tab\"]:hover,\n.tabGroup a[role=\"tab\"]:focus {\n    color: #29B6F6;\n}\n\n.tabGroup a[role=\"tab\"]:focus {\n    outline: 1px solid #607D8B;\n    outline-offset: -1px;\n}\n\n@media (min-width: 768px) {\n    .tabGroup a[role=\"tab\"] {\n        padding: 5px 15px;\n    }\n}\n\n.tabGroup section[role=\"tabpanel\"] {\n    border: 1px solid #607D8B;\n    padding: 15px;\n    margin: 0;\n    overflow: hidden;\n}\n\n.tabGroup section[role=\"tabpanel\"]>.codeHeader,\n.tabGroup section[role=\"tabpanel\"]>pre {\n    margin-left: -16px;\n    margin-right: -16px;\n}\n\n.tabGroup section[role=\"tabpanel\"]> :first-child {\n    margin-top: 0;\n}\n\n.tabGroup section[role=\"tabpanel\"]>pre:last-child {\n    display: block;\n    margin-bottom: -16px;\n}\n\n.mainContainer[dir='rtl'] main ul[role=\"tablist\"] {\n    margin: 0;\n}\n\n/* code */\n\ncode {\n    color: white;\n    background-color: #4a4c52;\n    border-radius: 4px;\n    padding: 3px 7px;\n}\n\npre {\n    background-color: #282a36;\n}\n\n/* table */\n\n.table-striped>tbody>tr:nth-of-type(odd) {\n    background-color: #333333;\n    color: #d3d3d3\n}\n\ntbody>tr {\n    background-color: #424242;\n    color: #c0c0c0\n}\n\n.table>tbody+tbody {\n    border-top: 2px solid rgb(173, 173, 173)\n}\n\n/* top navbar */\n.navbar-inverse[role=\"navigation\"] {\n    background-color: #2C2F33;\n}\n\n/* select */\n\nselect {\n    background-color: #3b3b3b;\n    border-color: #2e2e2e;\n}\n\n/* \n    Following code regarding collapse container are fetched \n    or modified from the Materialize project.\n\n    The MIT License (MIT)\n    Copyright (c) 2014-2018 Materialize\n    https://github.com/Dogfalo/materialize\n*/\n\n/* all collapse container */\n.collapse-container.last-modified {\n    -webkit-box-shadow: 0 2px 2px 0 rgba(50, 50, 50, 0.64), 0 3px 1px -2px rgba(50, 50, 50, 0.62), 0 1px 5px 0 rgba(50, 50, 50, 0.7);\n    box-shadow: 0 2px 2px 0 rgba(50, 50, 50, 0.64), 0 3px 1px -2px rgba(50, 50, 50, 0.62), 0 1px 5px 0 rgba(50, 50, 50, 0.7);\n    border-top: 1px solid rgba(96, 96, 96, 0.7);\n    border-right: 1px solid rgba(96, 96, 96, 0.7);\n    border-left: 1px solid rgba(96, 96, 96, 0.7);\n}\n\n/* header */\n.collapse-container.last-modified>:nth-child(odd) {\n    background-color: #3f3f3f;\n    border-bottom: 1px solid rgba(96, 96, 96, 0.7);\n}\n\n/* body */\n.collapse-container.last-modified>:nth-child(even) {\n    border-bottom: 1px solid rgba(96, 96, 96, 0.7);\n    background-color: inherit;\n}\n\nspan.arrow-d{\n    border-top: 5px solid white\n}\n\nspan.arrow-r{\n    border-left: 5px solid white\n}\n\n.logo-switcher {\n    background: url(\"../marketing/logo/SVG/Combinationmark White.svg\") no-repeat;\n}\n"
  },
  {
    "path": "docs/docfx/styles/docfx.css",
    "content": "/* Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information. */\nhtml,\nbody {\n  font-family: 'Segoe UI', Tahoma, Helvetica, sans-serif;\n  height: 100%;\n}\nbutton,\na {\n  color: #337ab7;\n  cursor: pointer;\n}\nbutton:hover,\nbutton:focus,\na:hover,\na:focus {\n  color: #23527c;\n  text-decoration: none;\n}\na.disable,\na.disable:hover {\n  text-decoration: none;\n  cursor: default;\n  color: #000000;\n}\n\nh1, h2, h3, h4, h5, h6, .text-break {\n    word-wrap: break-word;\n    word-break: break-word;\n}\n\nh1 mark,\nh2 mark,\nh3 mark,\nh4 mark,\nh5 mark,\nh6 mark {\n  padding: 0;\n}\n\n.inheritance .level0:before,\n.inheritance .level1:before,\n.inheritance .level2:before,\n.inheritance .level3:before,\n.inheritance .level4:before,\n.inheritance .level5:before {\n    content: '↳';\n    margin-right: 5px;\n}\n\n.inheritance .level0 {\n    margin-left: 0em;\n}\n\n.inheritance .level1 {\n    margin-left: 1em;\n}\n\n.inheritance .level2 {\n    margin-left: 2em;\n}\n\n.inheritance .level3 {\n    margin-left: 3em;\n}\n\n.inheritance .level4 {\n    margin-left: 4em;\n}\n\n.inheritance .level5 {\n    margin-left: 5em;\n}\n\n.level0.summary {\n  margin: 2em 0 2em 0;\n}\n\n.level1.summary {\n  margin: 1em 0 1em 0;\n}\n\nspan.parametername,\nspan.paramref,\nspan.typeparamref {\n    font-style: italic;\n}\nspan.languagekeyword{\n    font-weight: bold;\n}\n\nsvg:hover path {\n    fill: #ffffff;\n}\n\n.hljs {\n  display: inline;\n  background-color: inherit;\n  padding: 0;\n}\n/* additional spacing fixes */\n.btn + .btn {\n  margin-left: 10px;\n}\n.btn.pull-right {\n  margin-left: 10px;\n  margin-top: 5px;\n}\n.table {\n  margin-bottom: 10px;\n}\ntable p {\n  margin-bottom: 0;\n}\ntable a {\n  display: inline-block;\n}\n\n/* Make hidden attribute compatible with old browser.*/\n[hidden] {\n  display: none !important;\n}\n\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n  margin-top: 15px;\n  margin-bottom: 10px;\n  font-weight: 400;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n  margin-top: 10px;\n  margin-bottom: 5px;\n}\n.navbar {\n  margin-bottom: 0;\n}\n#wrapper {\n  min-height: 100%;\n  position: relative;\n}\n/* blends header footer and content together with gradient effect */\n.grad-top {\n  /* For Safari 5.1 to 6.0 */\n  /* For Opera 11.1 to 12.0 */\n  /* For Firefox 3.6 to 15 */\n  background: linear-gradient(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0));\n  /* Standard syntax */\n  height: 5px;\n}\n.grad-bottom {\n  /* For Safari 5.1 to 6.0 */\n  /* For Opera 11.1 to 12.0 */\n  /* For Firefox 3.6 to 15 */\n  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.05));\n  /* Standard syntax */\n  height: 5px;\n}\n.divider {\n  margin: 0 5px;\n  color: #cccccc;\n}\nhr {\n  border-color: #cccccc;\n}\nheader {\n  position: fixed;\n  top: 0;\n  left: 0;\n  right: 0;\n  z-index: 1000;\n}\nheader .navbar {\n  border-width: 0 0 1px;\n  border-radius: 0;\n}\n.navbar-brand {\n  font-size: inherit;\n  padding: 0;\n}\n.navbar-collapse {\n  margin: 0 -15px;\n}\n.subnav {\n  min-height: 40px;\n}\n\n.inheritance h5, .inheritedMembers h5{\n  padding-bottom: 5px;\n  border-bottom: 1px solid #ccc;\n}\n\narticle h1, article h2, article h3, article h4{\n  margin-top: 25px;\n}\n\narticle h4{\n  border: 0;\n  font-weight: bold;\n  margin-top: 2em;\n}\n\narticle span.small.pull-right{\n  margin-top: 20px;\n}\n\narticle section {\n  margin-left: 1em;\n}\n\n/*.expand-all {\n  padding: 10px 0;\n}*/\n.breadcrumb {\n  margin: 0;\n  padding: 10px 0;\n  background-color: inherit;\n  white-space: nowrap;\n}\n.breadcrumb > li + li:before {\n  content: \"\\00a0/\";\n}\n#autocollapse.collapsed .navbar-header {\n  float: none;\n}\n#autocollapse.collapsed .navbar-toggle {\n  display: block;\n}\n#autocollapse.collapsed .navbar-collapse {\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n#autocollapse.collapsed .navbar-collapse.collapse {\n  display: none !important;\n}\n#autocollapse.collapsed .navbar-nav {\n  float: none !important;\n  margin: 7.5px -15px;\n}\n#autocollapse.collapsed .navbar-nav > li {\n  float: none;\n}\n#autocollapse.collapsed .navbar-nav > li > a {\n  padding-top: 10px;\n  padding-bottom: 10px;\n}\n#autocollapse.collapsed .collapse.in,\n#autocollapse.collapsed .collapsing {\n  display: block !important;\n}\n#autocollapse.collapsed .collapse.in .navbar-right,\n#autocollapse.collapsed .collapsing .navbar-right {\n  float: none !important;\n}\n#autocollapse .form-group {\n  width: 100%;\n}\n#autocollapse .form-control {\n  width: 100%;\n}\n#autocollapse .navbar-header {\n  margin-left: 0;\n  margin-right: 0;\n}\n#autocollapse .navbar-brand {\n  margin-left: 0;\n}\n.collapse.in,\n.collapsing {\n  text-align: center;\n}\n.collapsing .navbar-form {\n  margin: 0 auto;\n  max-width: 400px;\n  padding: 10px 15px;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n.collapsed .collapse.in .navbar-form {\n  margin: 0 auto;\n  max-width: 400px;\n  padding: 10px 15px;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n.navbar .navbar-nav {\n  display: inline-block;\n}\n.docs-search {\n  background: white;\n  vertical-align: middle;\n}\n.docs-search > .search-query {\n  font-size: 14px;\n  border: 0;\n  width: 120%;\n  color: #555;\n}\n.docs-search > .search-query:focus {\n  outline: 0;\n}\n.search-results-frame {\n  clear: both;\n  display: table;\n  width: 100%;\n}\n.search-results.ng-hide {\n  display: none;\n}\n.search-results-container {\n  padding-bottom: 1em;\n  border-top: 1px solid #111;\n  background: rgba(25, 25, 25, 0.5);\n}\n.search-results-container .search-results-group {\n  padding-top: 50px !important;\n  padding: 10px;\n}\n.search-results-group-heading {\n  font-family: \"Open Sans\";\n  padding-left: 10px;\n  color: white;\n}\n.search-close {\n  position: absolute;\n  left: 50%;\n  margin-left: -100px;\n  color: white;\n  text-align: center;\n  padding: 5px;\n  background: #333;\n  border-top-right-radius: 5px;\n  border-top-left-radius: 5px;\n  width: 200px;\n  box-shadow: 0 0 10px #111;\n}\n#search {\n  display: none;\n}\n\n/* Search results display*/\n#search-results {\n  max-width: 960px !important;\n  margin-top: 120px;\n  margin-bottom: 115px;\n  margin-left: auto;\n  margin-right: auto;\n  line-height: 1.8;\n  display: none;\n}\n\n#search-results>.search-list {\n  text-align: center;\n  font-size: 2.5rem;\n  margin-bottom: 50px;\n}\n\n#search-results p {\n  text-align: center;\n}\n\n#search-results p .index-loading {\n  animation: index-loading 1.5s infinite linear;\n  -webkit-animation: index-loading 1.5s infinite linear;\n  -o-animation: index-loading 1.5s infinite linear;\n  font-size: 2.5rem;\n}\n\n@keyframes index-loading {\n    from { transform: scale(1) rotate(0deg);}\n    to { transform: scale(1) rotate(360deg);}\n}\n\n@-webkit-keyframes index-loading {\n    from { -webkit-transform: rotate(0deg);}\n    to { -webkit-transform: rotate(360deg);}\n}\n\n@-o-keyframes index-loading {\n    from { -o-transform: rotate(0deg);}\n    to { -o-transform: rotate(360deg);}\n}\n\n#search-results .sr-items {\n  font-size: 24px;\n}\n\n.sr-item {\n  margin-bottom: 25px;\n}\n\n.sr-item>.item-href {\n  font-size: 14px;\n  color: #093;\n}\n\n.sr-item>.item-brief {\n  font-size: 13px;\n}\n\n.pagination>li>a {\n  color: #47A7A0\n}\n\n.pagination>.active>a {\n  background-color: #47A7A0;\n  border-color: #47A7A0;\n}\n\n.fixed_header {\n  position: fixed;\n  width: 100%;\n  padding-bottom: 10px;\n  padding-top: 10px;\n  margin: 0px;\n  top: 0;\n  z-index: 9999;\n  left: 0;\n}\n\n.fixed_header+.toc{\n  margin-top: 50px;\n  margin-left: 0;\n}\n\n.sidenav, .fixed_header, .toc  {\n  background-color: #f1f1f1;\n}\n\n.sidetoc {\n  position: fixed;\n  width: 260px;\n  top: 150px;\n  bottom: 0;\n  overflow-x: hidden;\n  overflow-y: auto;\n  background-color: #f1f1f1;\n  border-left: 1px solid #e7e7e7;\n  border-right: 1px solid #e7e7e7;\n  z-index: 1;\n}\n\n.sidetoc.shiftup {\n  bottom: 70px;\n}\n\nbody .toc{\n  background-color: #f1f1f1;\n  overflow-x: hidden;\n}\n\n.sidetoggle.ng-hide {\n  display: block !important;\n}\n.sidetoc-expand > .caret {\n  margin-left: 0px;\n  margin-top: -2px;\n}\n.sidetoc-expand > .caret-side {\n  border-left: 4px solid;\n  border-top: 4px solid transparent;\n  border-bottom: 4px solid transparent;\n  margin-left: 4px;\n  margin-top: -4px;\n}\n.sidetoc-heading {\n  font-weight: 500;\n}\n\n.toc {\n  margin: 0px 0 0 10px;\n  padding: 0 10px;\n}\n.expand-stub {\n  position: absolute;\n  left: -10px;\n}\n.toc .nav > li > a.sidetoc-expand {\n  position: absolute;\n  top: 0;\n  left: 0;\n}\n.toc .nav > li > a {\n  color: #666666;\n  margin-left: 5px;\n  display: block;\n  padding: 0;\n}\n.toc .nav > li > a:hover,\n.toc .nav > li > a:focus {\n  color: #000000;\n  background: none;\n  text-decoration: inherit;\n}\n.toc .nav > li.active > a {\n  color: #337ab7;\n}\n.toc .nav > li.active > a:hover,\n.toc .nav > li.active > a:focus {\n  color: #23527c;\n}\n\n.toc .nav > li> .expand-stub {\n  cursor: pointer;\n}\n\n.toc .nav > li.active > .expand-stub::before,\n.toc .nav > li.in > .expand-stub::before,\n.toc .nav > li.in.active > .expand-stub::before,\n.toc .nav > li.filtered > .expand-stub::before {\n    content: \"-\";\n}\n\n.toc .nav > li > .expand-stub::before,\n.toc .nav > li.active > .expand-stub::before {\n    content: \"+\";\n}\n\n.toc .nav > li.filtered > ul,\n.toc .nav > li.in > ul {\n  display: block;\n}\n\n.toc .nav > li > ul {\n  display: none;\n}\n\n.toc ul{\n  font-size: 12px;\n  margin: 0 0 0 3px;\n}\n\n.toc .level1 > li {\n  font-weight: bold;\n  margin-top: 10px;\n  position: relative;\n  font-size: 16px;\n}\n.toc .level2 {\n  font-weight: normal;\n  margin: 5px 0 0 15px;\n  font-size: 14px;\n}\n.toc-toggle {\n  display: none;\n  margin: 0 15px 0px 15px;\n}\n.sidefilter {\n  position: fixed;\n  top: 90px;\n  width: 260px;\n  background-color: #f1f1f1;\n  padding: 15px;\n  border-left: 1px solid #e7e7e7;\n  border-right: 1px solid #e7e7e7;\n  z-index: 1;\n}\n.toc-filter {\n  border-radius: 5px;\n  background: #fff;\n  color: #666666;\n  padding: 5px;\n  position: relative;\n  margin: 0 5px 0 5px;\n}\n.toc-filter > input {\n  border: 0;\n  color: #666666;\n  padding-left: 20px;\n  padding-right: 20px;\n  width: 100%;\n}\n.toc-filter > input:focus {\n  outline: 0;\n}\n.toc-filter > .filter-icon {\n  position: absolute;\n  top: 10px;\n  left: 5px;\n}\n.toc-filter > .clear-icon {\n  position: absolute;\n  top: 10px;\n  right: 5px;\n}\n.article {\n  margin-top: 120px;\n  margin-bottom: 115px;\n}\n\n#_content>a{\n  margin-top: 105px;\n}\n\n.article.grid-right {\n  margin-left: 280px;\n}\n\n.inheritance hr {\n  margin-top: 5px;\n  margin-bottom: 5px;\n}\n.article img {\n  max-width: 100%;\n}\n.sideaffix {\n  margin-top: 50px;\n  font-size: 12px;\n  max-height: 100%;\n  overflow: hidden;\n  top: 100px;\n  bottom: 10px;\n  position: fixed;\n}\n.sideaffix.shiftup {\n  bottom: 70px;\n}\n.affix {\n  position: relative;\n  height: 100%;\n}\n.sideaffix > div.contribution {\n  margin-bottom: 20px;\n}\n.sideaffix > div.contribution > ul > li > a.contribution-link {\n  padding: 6px 10px;\n  font-weight: bold;\n  font-size: 14px;\n}\n.sideaffix > div.contribution > ul > li > a.contribution-link:hover {\n  background-color: #ffffff;\n}\n.sideaffix ul.nav > li > a:focus {\n  background: none;\n}\n.affix h5 {\n  font-weight: bold;\n  text-transform: uppercase;\n  padding-left: 10px;\n  font-size: 12px;\n}\n.affix > ul.level1 {\n  overflow: hidden;\n  padding-bottom: 10px;\n  height: calc(100% - 100px);\n}\n.affix ul > li > a:before {\n  color: #cccccc;\n  position: absolute;\n}\n.affix ul > li > a:hover {\n  background: none;\n  color: #666666;\n}\n.affix ul > li.active > a,\n.affix ul > li.active > a:before {\n  color: #337ab7;\n}\n.affix ul > li > a {\n  padding: 5px 12px;\n  color: #666666;\n}\n.affix > ul > li.active:last-child {\n  margin-bottom: 50px;\n}\n.affix > ul > li > a:before {\n  content: \"|\";\n  font-size: 16px;\n  top: 1px;\n  left: 0;\n}\n.affix > ul > li.active > a,\n.affix > ul > li.active > a:before {\n  color: #337ab7;\n  font-weight: bold;\n}\n.affix ul ul > li > a {\n  padding: 2px 15px;\n}\n.affix ul ul > li > a:before {\n  content: \">\";\n  font-size: 14px;\n  top: -1px;\n  left: 5px;\n}\n.affix ul > li > a:before,\n.affix ul ul {\n  display: none;\n}\n.affix ul > li.active > ul,\n.affix ul > li.active > a:before,\n.affix ul > li > a:hover:before {\n  display: block;\n  white-space: nowrap;\n}\n.codewrapper {\n  position: relative;\n}\n.trydiv {\n  height: 0px;\n}\n.tryspan {\n  position: absolute;\n  top: 0px;\n  right: 0px;\n  border-style: solid;\n  border-radius: 0px 4px;\n  box-sizing: border-box;\n  border-width: 1px;\n  border-color: #cccccc;\n  text-align: center;\n  padding: 2px 8px;\n  background-color: white;\n  font-size: 12px;\n  cursor: pointer;\n  z-index: 100;\n  display: none;\n  color: #767676;\n}\n.tryspan:hover {\n  background-color: #3b8bd0;\n  color: white;\n  border-color: #3b8bd0;\n}\n.codewrapper:hover .tryspan {\n  display: block;\n}\n.sample-response .response-content{\n  max-height: 200px;\n}\nfooter {\n  position: absolute;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 1000;\n}\n.footer {\n  border-top: 1px solid #e7e7e7;\n  background-color: #f8f8f8;\n  padding: 15px 0;\n}\n@media (min-width: 768px) {\n  #sidetoggle.collapse {\n    display: block;\n  }\n  .topnav .navbar-nav {\n    float: none;\n    white-space: nowrap;\n  }\n  .topnav .navbar-nav > li {\n    float: none;\n    display: inline-block;\n  }\n}\n@media only screen and (max-width: 768px) {\n  #mobile-indicator {\n    display: block;\n  }\n  /* TOC display for responsive */\n  .article {\n    margin-top: 30px !important;\n  }\n  header {\n    position: static;\n  }\n  .topnav {\n    text-align: center;\n  }\n  .sidenav {\n    padding: 15px 0;\n    margin-left: -15px;\n    margin-right: -15px;\n  }\n  .sidefilter {\n    position: static;\n    width: auto;\n    float: none;\n    border: none;\n  }\n  .sidetoc {\n    position: static;\n    width: auto;\n    float: none;\n    padding-bottom: 0px;\n    border: none;\n  }\n  .toc .nav > li, .toc .nav > li >a {\n    display: inline-block;\n  }\n  .toc li:after {\n    margin-left: -3px;\n    margin-right: 5px;\n    content: \", \";\n    color: #666666;\n  }\n  .toc .level1 > li {\n    display: block;\n  }\n  \n  .toc .level1 > li:after {\n    display: none;\n  }\n  .article.grid-right {\n    margin-left: 0;\n  }\n  .grad-top,\n  .grad-bottom {\n    display: none;\n  }\n  .toc-toggle {\n    display: block;\n  }\n  .sidetoggle.ng-hide {\n    display: none !important;\n  }\n  /*.expand-all {\n    display: none;\n  }*/\n  .sideaffix {\n    display: none;\n  }\n  .mobile-hide {\n    display: none;\n  }\n  .breadcrumb {\n    white-space: inherit;\n  }\n\n  /* workaround for #hashtag url is no longer needed*/\n  h1:before,\n  h2:before,\n  h3:before,\n  h4:before {\n      content: '';\n      display: none;\n  }\n}\n\n/* For toc iframe */\n@media (max-width: 260px) {\n  .toc .level2 > li {\n    display: block;\n  }\n\n  .toc .level2 > li:after {\n    display: none;\n  }\n}\n\n/* Code snippet */\ncode {\n  color: #717374;\n  background-color: #f1f2f3;\n}\n\na code {\n  color: #337ab7;\n  background-color: #f1f2f3;\n}\n\na code:hover {\n  text-decoration: underline;\n}\n\n.hljs-keyword {\n  color: rgb(86,156,214);\n}\n\n.hljs-string {\n  color: rgb(214, 157, 133);\n}\n\npre {\n  border: 0;\n}\n\n/* For code snippet line highlight */\npre > code .line-highlight {\n  background-color: #ffffcc;\n}\n\n/* Alerts */\n.alert h5 {\n    text-transform: uppercase;\n    font-weight: bold;\n    margin-top: 0;\n}\n\n.alert h5:before {\n    position:relative;\n    top:1px;\n    display:inline-block;\n    font-family:'Glyphicons Halflings';\n    line-height:1;\n    -webkit-font-smoothing:antialiased;\n    -moz-osx-font-smoothing:grayscale;\n    margin-right: 5px;\n    font-weight: normal;\n}\n\n.alert-info h5:before {\n    content:\"\\e086\"\n}\n\n.alert-warning h5:before {\n    content:\"\\e127\"\n}\n\n.alert-danger h5:before {\n    content:\"\\e107\"\n}\n\n/* For Embedded Video */\ndiv.embeddedvideo {\n    padding-top: 56.25%;\n    position: relative;\n    width: 100%;\n}\n\ndiv.embeddedvideo iframe {\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    width: 100%;\n    height: 100%;\n}\n\n/* For printer */\n@media print{\n  .article.grid-right {\n    margin-top: 0px;\n    margin-left: 0px;\n  }\n  .sideaffix {\n    display: none;\n  }\n  .mobile-hide {\n    display: none;\n  }\n  .footer {\n    display: none;\n  }\n}\n\n/* For tabbed content */\n\n.tabGroup {\n  margin-top: 1rem; }\n  .tabGroup ul[role=\"tablist\"] {\n    margin: 0;\n    padding: 0;\n    list-style: none; }\n    .tabGroup ul[role=\"tablist\"] > li {\n      list-style: none;\n      display: inline-block; }\n  .tabGroup a[role=\"tab\"] {\n    color: #6e6e6e;\n    box-sizing: border-box;\n    display: inline-block;\n    padding: 5px 7.5px;\n    text-decoration: none;\n    border-bottom: 2px solid #fff; }\n    .tabGroup a[role=\"tab\"]:hover, .tabGroup a[role=\"tab\"]:focus, .tabGroup a[role=\"tab\"][aria-selected=\"true\"] {\n      border-bottom: 2px solid #0050C5; }\n    .tabGroup a[role=\"tab\"][aria-selected=\"true\"] {\n      color: #222; }\n    .tabGroup a[role=\"tab\"]:hover, .tabGroup a[role=\"tab\"]:focus {\n      color: #0050C5; }\n    .tabGroup a[role=\"tab\"]:focus {\n      outline: 1px solid #0050C5;\n      outline-offset: -1px; }\n  @media (min-width: 768px) {\n    .tabGroup a[role=\"tab\"] {\n      padding: 5px 15px; } }\n  .tabGroup section[role=\"tabpanel\"] {\n    border: 1px solid #e0e0e0;\n    padding: 15px;\n    margin: 0;\n    overflow: hidden; }\n    .tabGroup section[role=\"tabpanel\"] > .codeHeader,\n    .tabGroup section[role=\"tabpanel\"] > pre {\n      margin-left: -16px;\n      margin-right: -16px; }\n    .tabGroup section[role=\"tabpanel\"] > :first-child {\n      margin-top: 0; }\n    .tabGroup section[role=\"tabpanel\"] > pre:last-child {\n      display: block;\n      margin-bottom: -16px; }\n\n.mainContainer[dir='rtl'] main ul[role=\"tablist\"] {\n  margin: 0; }\n\n/* Color theme */\n\n/* These are not important, tune down **/\n.decalaration, .fieldValue, .parameters, .returns {\n  color: #a2a2a2;\n}\n\n/* Major sections, increase visibility **/\n#fields, #properties, #methods, #events {\n    font-weight: bold;\n    margin-top: 2em;\n}\n"
  },
  {
    "path": "docs/docfx/styles/docfx.js",
    "content": "// Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.\n$(function () {\n  var active = 'active';\n  var expanded = 'in';\n  var collapsed = 'collapsed';\n  var filtered = 'filtered';\n  var show = 'show';\n  var hide = 'hide';\n  var util = new utility();\n\n  workAroundFixedHeaderForAnchors();\n  highlight();\n  enableSearch();\n\n  renderTables();\n  renderAlerts();\n  renderLinks();\n  renderNavbar();\n  renderSidebar();\n  renderAffix();\n  renderFooter();\n  renderLogo();\n\n  breakText();\n  renderTabs();\n\n  window.refresh = function (article) {\n    // Update markup result\n    if (typeof article == 'undefined' || typeof article.content == 'undefined')\n      console.error(\"Null Argument\");\n    $(\"article.content\").html(article.content);\n\n    highlight();\n    renderTables();\n    renderAlerts();\n    renderAffix();\n    renderTabs();\n  }\n\n  // Add this event listener when needed\n  // window.addEventListener('content-update', contentUpdate);\n\n  function breakText() {\n    $(\".xref\").addClass(\"text-break\");\n    var texts = $(\".text-break\");\n    texts.each(function () {\n      $(this).breakWord();\n    });\n  }\n\n  // Styling for tables in conceptual documents using Bootstrap.\n  // See http://getbootstrap.com/css/#tables\n  function renderTables() {\n    $('table').addClass('table table-bordered table-striped table-condensed').wrap('<div class=\\\"table-responsive\\\"></div>');\n  }\n\n  // Styling for alerts.\n  function renderAlerts() {\n    $('.NOTE, .TIP').addClass('alert alert-info');\n    $('.WARNING').addClass('alert alert-warning');\n    $('.IMPORTANT, .CAUTION').addClass('alert alert-danger');\n  }\n\n  // Enable anchors for headings.\n  (function () {\n    anchors.options = {\n      placement: 'left',\n      visible: 'touch'\n    };\n    anchors.add('article h2:not(.no-anchor), article h3:not(.no-anchor), article h4:not(.no-anchor)');\n  })();\n\n  // Open links to different host in a new window.\n  function renderLinks() {\n    if ($(\"meta[property='docfx:newtab']\").attr(\"content\") === \"true\") {\n      $(document.links).filter(function () {\n        return this.hostname !== window.location.hostname;\n      }).attr('target', '_blank');\n    }\n  }\n\n  // Enable highlight.js\n  function highlight() {\n    $('pre code').each(function (i, block) {\n      hljs.highlightBlock(block);\n    });\n    $('pre code[highlight-lines]').each(function (i, block) {\n      if (block.innerHTML === \"\") return;\n      var lines = block.innerHTML.split('\\n');\n\n      queryString = block.getAttribute('highlight-lines');\n      if (!queryString) return;\n\n      var ranges = queryString.split(',');\n      for (var j = 0, range; range = ranges[j++];) {\n        var found = range.match(/^(\\d+)\\-(\\d+)?$/);\n        if (found) {\n          // consider region as `{startlinenumber}-{endlinenumber}`, in which {endlinenumber} is optional\n          var start = +found[1];\n          var end = +found[2];\n          if (isNaN(end) || end > lines.length) {\n            end = lines.length;\n          }\n        } else {\n          // consider region as a sigine line number\n          if (isNaN(range)) continue;\n          var start = +range;\n          var end = start;\n        }\n        if (start <= 0 || end <= 0 || start > end || start > lines.length) {\n          // skip current region if invalid\n          continue;\n        }\n        lines[start - 1] = '<span class=\"line-highlight\">' + lines[start - 1];\n        lines[end - 1] = lines[end - 1] + '</span>';\n      }\n\n      block.innerHTML = lines.join('\\n');\n    });\n  }\n\n  // Support full-text-search\n  function enableSearch() {\n    var query;\n    var relHref = $(\"meta[property='docfx\\\\:rel']\").attr(\"content\");\n    if (typeof relHref === 'undefined') {\n      return;\n    }\n    try {\n      var worker = new Worker(relHref + 'styles/search-worker.js');\n      if (!worker && !window.worker) {\n        localSearch();\n      } else {\n        webWorkerSearch();\n      }\n\n      renderSearchBox();\n      highlightKeywords();\n      addSearchEvent();\n    } catch (e) {\n      console.error(e);\n    }\n\n    //Adjust the position of search box in navbar\n    function renderSearchBox() {\n      autoCollapse();\n      $(window).on('resize', autoCollapse);\n      $(document).on('click', '.navbar-collapse.in', function (e) {\n        if ($(e.target).is('a')) {\n          $(this).collapse('hide');\n        }\n      });\n\n      function autoCollapse() {\n        var navbar = $('#autocollapse');\n        if (navbar.height() === null) {\n          setTimeout(autoCollapse, 300);\n        }\n        navbar.removeClass(collapsed);\n        if (navbar.height() > 60) {\n          navbar.addClass(collapsed);\n        }\n      }\n    }\n\n    // Search factory\n    function localSearch() {\n      console.log(\"using local search\");\n      var lunrIndex = lunr(function () {\n        this.ref('href');\n        this.field('title', { boost: 50 });\n        this.field('keywords', { boost: 20 });\n      });\n      lunr.tokenizer.seperator = /[\\s\\-\\.]+/;\n      var searchData = {};\n      var searchDataRequest = new XMLHttpRequest();\n\n      var indexPath = relHref + \"index.json\";\n      if (indexPath) {\n        searchDataRequest.open('GET', indexPath);\n        searchDataRequest.onload = function () {\n          if (this.status != 200) {\n            return;\n          }\n          searchData = JSON.parse(this.responseText);\n          for (var prop in searchData) {\n            if (searchData.hasOwnProperty(prop)) {\n              lunrIndex.add(searchData[prop]);\n            }\n          }\n        }\n        searchDataRequest.send();\n      }\n\n      $(\"body\").bind(\"queryReady\", function () {\n        var hits = lunrIndex.search(query);\n        var results = [];\n        hits.forEach(function (hit) {\n          var item = searchData[hit.ref];\n          results.push({ 'href': item.href, 'title': item.title, 'keywords': item.keywords });\n        });\n        handleSearchResults(results);\n      });\n    }\n\n    function webWorkerSearch() {\n      console.log(\"using Web Worker\");\n      var indexReady = $.Deferred();\n\n      worker.onmessage = function (oEvent) {\n        switch (oEvent.data.e) {\n          case 'index-ready':\n            indexReady.resolve();\n            break;\n          case 'query-ready':\n            var hits = oEvent.data.d;\n            handleSearchResults(hits);\n            break;\n        }\n      }\n\n      indexReady.promise().done(function () {\n        $(\"body\").bind(\"queryReady\", function () {\n          worker.postMessage({ q: query });\n        });\n        if (query && (query.length >= 3)) {\n          worker.postMessage({ q: query });\n        }\n      });\n    }\n\n    // Highlight the searching keywords\n    function highlightKeywords() {\n      var q = url('?q');\n      if (q !== null) {\n        var keywords = q.split(\"%20\");\n        keywords.forEach(function (keyword) {\n          if (keyword !== \"\") {\n            $('.data-searchable *').mark(keyword);\n            $('article *').mark(keyword);\n          }\n        });\n      }\n    }\n\n    function addSearchEvent() {\n      $('body').bind(\"searchEvent\", function () {\n        $('#search-query').keypress(function (e) {\n          return e.which !== 13;\n        });\n\n        $('#search-query').keyup(function () {\n          query = $(this).val();\n          if (query.length < 3) {\n            flipContents(\"show\");\n          } else {\n            flipContents(\"hide\");\n            $(\"body\").trigger(\"queryReady\");\n            $('#search-results>.search-list>span').text('\"' + query + '\"');\n          }\n        }).off(\"keydown\");\n      });\n    }\n\n    function flipContents(action) {\n      if (action === \"show\") {\n        $('.hide-when-search').show();\n        $('#search-results').hide();\n      } else {\n        $('.hide-when-search').hide();\n        $('#search-results').show();\n      }\n    }\n\n    function relativeUrlToAbsoluteUrl(currentUrl, relativeUrl) {\n      var currentItems = currentUrl.split(/\\/+/);\n      var relativeItems = relativeUrl.split(/\\/+/);\n      var depth = currentItems.length - 1;\n      var items = [];\n      for (var i = 0; i < relativeItems.length; i++) {\n        if (relativeItems[i] === '..') {\n          depth--;\n        } else if (relativeItems[i] !== '.') {\n          items.push(relativeItems[i]);\n        }\n      }\n      return currentItems.slice(0, depth).concat(items).join('/');\n    }\n\n    function extractContentBrief(content) {\n      var briefOffset = 512;\n      var words = query.split(/\\s+/g);\n      var queryIndex = content.indexOf(words[0]);\n      var briefContent;\n      if (queryIndex > briefOffset) {\n        return \"...\" + content.slice(queryIndex - briefOffset, queryIndex + briefOffset) + \"...\";\n      } else if (queryIndex <= briefOffset) {\n        return content.slice(0, queryIndex + briefOffset) + \"...\";\n      }\n    }\n\n    function handleSearchResults(hits) {\n      var numPerPage = 10;\n      var pagination = $('#pagination');\n      pagination.empty();\n      pagination.removeData(\"twbs-pagination\");\n      if (hits.length === 0) {\n        $('#search-results>.sr-items').html('<p>No results found</p>');\n      } else {        \n        pagination.twbsPagination({\n          first: pagination.data('first'),\n          prev: pagination.data('prev'),\n          next: pagination.data('next'),\n          last: pagination.data('last'),\n          totalPages: Math.ceil(hits.length / numPerPage),\n          visiblePages: 5,\n          onPageClick: function (event, page) {\n            var start = (page - 1) * numPerPage;\n            var curHits = hits.slice(start, start + numPerPage);\n            $('#search-results>.sr-items').empty().append(\n              curHits.map(function (hit) {\n                var currentUrl = window.location.href;\n                var itemRawHref = relativeUrlToAbsoluteUrl(currentUrl, relHref + hit.href);\n                var itemHref = relHref + hit.href + \"?q=\" + query;\n                var itemTitle = hit.title;\n                var itemBrief = extractContentBrief(hit.keywords);\n\n                var itemNode = $('<div>').attr('class', 'sr-item');\n                var itemTitleNode = $('<div>').attr('class', 'item-title').append($('<a>').attr('href', itemHref).attr(\"target\", \"_blank\").text(itemTitle));\n                var itemHrefNode = $('<div>').attr('class', 'item-href').text(itemRawHref);\n                var itemBriefNode = $('<div>').attr('class', 'item-brief').text(itemBrief);\n                itemNode.append(itemTitleNode).append(itemHrefNode).append(itemBriefNode);\n                return itemNode;\n              })\n            );\n            query.split(/\\s+/).forEach(function (word) {\n              if (word !== '') {\n                $('#search-results>.sr-items *').mark(word);\n              }\n            });\n          }\n        });\n      }\n    }\n  };\n\n  // Update href in navbar\n  function renderNavbar() {\n    var navbar = $('#navbar ul')[0];\n    if (typeof (navbar) === 'undefined') {\n      loadNavbar();\n    } else {\n      $('#navbar ul a.active').parents('li').addClass(active);\n      renderBreadcrumb();\n      showSearch();\n    }\n    \n    function showSearch() {\n      if ($('#search-results').length !== 0) {\n          $('#search').show();\n          $('body').trigger(\"searchEvent\");\n      }\n    }\n\n    function loadNavbar() {\n      var navbarPath = $(\"meta[property='docfx\\\\:navrel']\").attr(\"content\");\n      if (!navbarPath) {\n        return;\n      }\n      navbarPath = navbarPath.replace(/\\\\/g, '/');\n      var tocPath = $(\"meta[property='docfx\\\\:tocrel']\").attr(\"content\") || '';\n      if (tocPath) tocPath = tocPath.replace(/\\\\/g, '/');\n      $.get(navbarPath, function (data) {\n        $(data).find(\"#toc>ul\").appendTo(\"#navbar\");\n        showSearch();\n        var index = navbarPath.lastIndexOf('/');\n        var navrel = '';\n        if (index > -1) {\n          navrel = navbarPath.substr(0, index + 1);\n        }\n        $('#navbar>ul').addClass('navbar-nav');\n        var currentAbsPath = util.getAbsolutePath(window.location.pathname);\n        // set active item\n        $('#navbar').find('a[href]').each(function (i, e) {\n          var href = $(e).attr(\"href\");\n          if (util.isRelativePath(href)) {\n            href = navrel + href;\n            $(e).attr(\"href\", href);\n\n            var isActive = false;\n            var originalHref = e.name;\n            if (originalHref) {\n              originalHref = navrel + originalHref;\n              if (util.getDirectory(util.getAbsolutePath(originalHref)) === util.getDirectory(util.getAbsolutePath(tocPath))) {\n                isActive = true;\n              }\n            } else {\n              if (util.getAbsolutePath(href) === currentAbsPath) {\n                var dropdown = $(e).attr('data-toggle') == \"dropdown\"\n                if (!dropdown) {\n                  isActive = true;\n                }\n              }\n            }\n            if (isActive) {\n              $(e).addClass(active);\n            }\n          }\n        });\n        renderNavbar();\n      });\n    }\n  }\n\n  function renderSidebar() {\n    var sidetoc = $('#sidetoggle .sidetoc')[0];\n    if (typeof (sidetoc) === 'undefined') {\n      loadToc();\n    } else {\n      registerTocEvents();\n      if ($('footer').is(':visible')) {\n        $('.sidetoc').addClass('shiftup');\n      }\n\n      // Scroll to active item\n      var top = 0;\n      $('#toc a.active').parents('li').each(function (i, e) {\n        $(e).addClass(active).addClass(expanded);\n        $(e).children('a').addClass(active);\n      })\n      $('#toc a.active').parents('li').each(function (i, e) {\n        top += $(e).position().top;\n      })\n      $('.sidetoc').scrollTop(top - 50);\n\n      if ($('footer').is(':visible')) {\n        $('.sidetoc').addClass('shiftup');\n      }\n\n      renderBreadcrumb();\n    }\n\n    function registerTocEvents() {\n      var tocFilterInput = $('#toc_filter_input');\n      var tocFilterClearButton = $('#toc_filter_clear');\n        \n      $('.toc .nav > li > .expand-stub').click(function (e) {\n        $(e.target).parent().toggleClass(expanded);\n      });\n      $('.toc .nav > li > .expand-stub + a:not([href])').click(function (e) {\n        $(e.target).parent().toggleClass(expanded);\n      });\n      tocFilterInput.on('input', function (e) {\n        var val = this.value;\n        //Save filter string to local session storage\n        if (typeof(Storage) !== \"undefined\") {\n          try {\n            sessionStorage.filterString = val;\n            }\n          catch(e)\n            {}\n        }\n        if (val === '') {\n          // Clear 'filtered' class\n          $('#toc li').removeClass(filtered).removeClass(hide);\n          tocFilterClearButton.fadeOut();\n          return;\n        }\n        tocFilterClearButton.fadeIn();\n\n        // set all parent nodes status\n        $('#toc li>a').filter(function (i, e) {\n          return $(e).siblings().length > 0\n        }).each(function (i, anchor) {\n          var parent = $(anchor).parent();\n          parent.addClass(hide);\n          parent.removeClass(show);\n          parent.removeClass(filtered);\n        })\n        \n        // Get leaf nodes\n        $('#toc li>a').filter(function (i, e) {\n          return $(e).siblings().length === 0\n        }).each(function (i, anchor) {\n          var text = $(anchor).attr('title');\n          var parent = $(anchor).parent();\n          var parentNodes = parent.parents('ul>li');\n          for (var i = 0; i < parentNodes.length; i++) {\n            var parentText = $(parentNodes[i]).children('a').attr('title');\n            if (parentText) text = parentText + '.' + text;\n          };\n          if (filterNavItem(text, val)) {\n            parent.addClass(show);\n            parent.removeClass(hide);\n          } else {\n            parent.addClass(hide);\n            parent.removeClass(show);\n          }\n        });\n        $('#toc li>a').filter(function (i, e) {\n          return $(e).siblings().length > 0\n        }).each(function (i, anchor) {\n          var parent = $(anchor).parent();\n          if (parent.find('li.show').length > 0) {\n            parent.addClass(show);\n            parent.addClass(filtered);\n            parent.removeClass(hide);\n          } else {\n            parent.addClass(hide);\n            parent.removeClass(show);\n            parent.removeClass(filtered);\n          }\n        })\n\n        function filterNavItem(name, text) {\n          if (!text) return true;\n          if (name && name.toLowerCase().indexOf(text.toLowerCase()) > -1) return true;\n          return false;\n        }\n      });\n      \n      // toc filter clear button\n      tocFilterClearButton.hide();\n      tocFilterClearButton.on(\"click\", function(e){\n        tocFilterInput.val(\"\");\n        tocFilterInput.trigger('input');\n        if (typeof(Storage) !== \"undefined\") {\n          try {\n            sessionStorage.filterString = \"\";\n            }\n          catch(e)\n            {}\n        }\n      });\n\n      //Set toc filter from local session storage on page load\n      if (typeof(Storage) !== \"undefined\") {\n        try {\n          tocFilterInput.val(sessionStorage.filterString);\n          tocFilterInput.trigger('input');\n          }\n        catch(e)\n          {}\n      }\n    }\n\n    function loadToc() {\n      var tocPath = $(\"meta[property='docfx\\\\:tocrel']\").attr(\"content\");\n      if (!tocPath) {\n        return;\n      }\n      tocPath = tocPath.replace(/\\\\/g, '/');\n      $('#sidetoc').load(tocPath + \" #sidetoggle > div\", function () {\n        var index = tocPath.lastIndexOf('/');\n        var tocrel = '';\n        if (index > -1) {\n          tocrel = tocPath.substr(0, index + 1);\n        }\n        var currentHref = util.getAbsolutePath(window.location.pathname);\n        $('#sidetoc').find('a[href]').each(function (i, e) {\n          var href = $(e).attr(\"href\");\n          if (util.isRelativePath(href)) {\n            href = tocrel + href;\n            $(e).attr(\"href\", href);\n          }\n\n          if (util.getAbsolutePath(e.href) === currentHref) {\n            $(e).addClass(active);\n          }\n\n          $(e).breakWord();\n        });\n\n        renderSidebar();\n      });\n    }\n  }\n\n  function renderBreadcrumb() {\n    var breadcrumb = [];\n    $('#navbar a.active').each(function (i, e) {\n      breadcrumb.push({\n        href: e.href,\n        name: e.innerHTML\n      });\n    })\n    $('#toc a.active').each(function (i, e) {\n      breadcrumb.push({\n        href: e.href,\n        name: e.innerHTML\n      });\n    })\n\n    var html = util.formList(breadcrumb, 'breadcrumb');\n    $('#breadcrumb').html(html);\n  }\n\n  //Setup Affix\n  function renderAffix() {\n    var hierarchy = getHierarchy();\n    if (!hierarchy || hierarchy.length <= 0) {\n      $(\"#affix\").hide();\n    }\n    else {\n      var html = util.formList(hierarchy, ['nav', 'bs-docs-sidenav']);\n      $(\"#affix>div\").empty().append(html);\n      if ($('footer').is(':visible')) {\n        $(\".sideaffix\").css(\"bottom\", \"70px\");\n      }\n      $('#affix a').click(function(e) {\n        var scrollspy = $('[data-spy=\"scroll\"]').data()['bs.scrollspy'];\n        var target = e.target.hash;\n        if (scrollspy && target) {\n          scrollspy.activate(target);\n        }\n      });\n    }\n\n    function getHierarchy() {\n      // supported headers are h1, h2, h3, and h4\n      var $headers = $($.map(['h1', 'h2', 'h3', 'h4'], function (h) { return \".article article \" + h; }).join(\", \"));\n\n      // a stack of hierarchy items that are currently being built\n      var stack = [];\n      $headers.each(function (i, e) {\n        if (!e.id) {\n          return;\n        }\n\n        var item = {\n          name: htmlEncode($(e).text()),\n          href: \"#\" + e.id,\n          items: []\n        };\n\n        if (!stack.length) {\n          stack.push({ type: e.tagName, siblings: [item] });\n          return;\n        }\n\n        var frame = stack[stack.length - 1];\n        if (e.tagName === frame.type) {\n          frame.siblings.push(item);\n        } else if (e.tagName[1] > frame.type[1]) {\n          // we are looking at a child of the last element of frame.siblings.\n          // push a frame onto the stack. After we've finished building this item's children,\n          // we'll attach it as a child of the last element\n          stack.push({ type: e.tagName, siblings: [item] });\n        } else {  // e.tagName[1] < frame.type[1]\n          // we are looking at a sibling of an ancestor of the current item.\n          // pop frames from the stack, building items as we go, until we reach the correct level at which to attach this item.\n          while (e.tagName[1] < stack[stack.length - 1].type[1]) {\n            buildParent();\n          }\n          if (e.tagName === stack[stack.length - 1].type) {\n            stack[stack.length - 1].siblings.push(item);\n          } else {\n            stack.push({ type: e.tagName, siblings: [item] });\n          }\n        }\n      });\n      while (stack.length > 1) {\n        buildParent();\n      }\n\n      function buildParent() {\n        var childrenToAttach = stack.pop();\n        var parentFrame = stack[stack.length - 1];\n        var parent = parentFrame.siblings[parentFrame.siblings.length - 1];\n        $.each(childrenToAttach.siblings, function (i, child) {\n          parent.items.push(child);\n        });\n      }\n      if (stack.length > 0) {\n\n        var topLevel = stack.pop().siblings;\n        if (topLevel.length === 1) {  // if there's only one topmost header, dump it\n          return topLevel[0].items;\n        }\n        return topLevel;\n      }\n      return undefined;\n    }\n\n    function htmlEncode(str) {\n      if (!str) return str;\n      return str\n        .replace(/&/g, '&amp;')\n        .replace(/\"/g, '&quot;')\n        .replace(/'/g, '&#39;')\n        .replace(/</g, '&lt;')\n        .replace(/>/g, '&gt;');\n    }\n\n    function htmlDecode(value) {\n      if (!str) return str;\n      return value\n        .replace(/&quot;/g, '\"')\n        .replace(/&#39;/g, \"'\")\n        .replace(/&lt;/g, '<')\n        .replace(/&gt;/g, '>')\n        .replace(/&amp;/g, '&');\n    }\n\n    function cssEscape(str) {\n      // see: http://stackoverflow.com/questions/2786538/need-to-escape-a-special-character-in-a-jquery-selector-string#answer-2837646\n      if (!str) return str;\n      return str\n        .replace(/[!\"#$%&'()*+,.\\/:;<=>?@[\\\\\\]^`{|}~]/g, \"\\\\$&\");\n    }\n  }\n\n  // Show footer\n  function renderFooter() {\n    initFooter();\n    $(window).on(\"scroll\", showFooterCore);\n\n    function initFooter() {\n      if (needFooter()) {\n        shiftUpBottomCss();\n        $(\"footer\").show();\n      } else {\n        resetBottomCss();\n        $(\"footer\").hide();\n      }\n    }\n\n    function showFooterCore() {\n      if (needFooter()) {\n        shiftUpBottomCss();\n        $(\"footer\").fadeIn();\n      } else {\n        resetBottomCss();\n        $(\"footer\").fadeOut();\n      }\n    }\n\n    function needFooter() {\n      var scrollHeight = $(document).height();\n      var scrollPosition = $(window).height() + $(window).scrollTop();\n      return (scrollHeight - scrollPosition) < 1;\n    }\n\n    function resetBottomCss() {\n      $(\".sidetoc\").removeClass(\"shiftup\");\n      $(\".sideaffix\").removeClass(\"shiftup\");\n    }\n\n    function shiftUpBottomCss() {\n      $(\".sidetoc\").addClass(\"shiftup\");\n      $(\".sideaffix\").addClass(\"shiftup\");\n    }\n  }\n\n  function renderLogo() {\n    // For LOGO SVG\n    // Replace SVG with inline SVG\n    // http://stackoverflow.com/questions/11978995/how-to-change-color-of-svg-image-using-css-jquery-svg-image-replacement\n    jQuery('img.svg').each(function () {\n      var $img = jQuery(this);\n      var imgID = $img.attr('id');\n      var imgClass = $img.attr('class');\n      var imgURL = $img.attr('src');\n\n      jQuery.get(imgURL, function (data) {\n        // Get the SVG tag, ignore the rest\n        var $svg = jQuery(data).find('svg');\n\n        // Add replaced image's ID to the new SVG\n        if (typeof imgID !== 'undefined') {\n          $svg = $svg.attr('id', imgID);\n        }\n        // Add replaced image's classes to the new SVG\n        if (typeof imgClass !== 'undefined') {\n          $svg = $svg.attr('class', imgClass + ' replaced-svg');\n        }\n\n        // Remove any invalid XML tags as per http://validator.w3.org\n        $svg = $svg.removeAttr('xmlns:a');\n\n        // Replace image with new SVG\n        $img.replaceWith($svg);\n\n      }, 'xml');\n    });\n  }\n\n  function renderTabs() {\n    var contentAttrs = {\n      id: 'data-bi-id',\n      name: 'data-bi-name',\n      type: 'data-bi-type'\n    };\n\n    var Tab = (function () {\n      function Tab(li, a, section) {\n        this.li = li;\n        this.a = a;\n        this.section = section;\n      }\n      Object.defineProperty(Tab.prototype, \"tabIds\", {\n        get: function () { return this.a.getAttribute('data-tab').split(' '); },\n        enumerable: true,\n        configurable: true\n      });\n      Object.defineProperty(Tab.prototype, \"condition\", {\n        get: function () { return this.a.getAttribute('data-condition'); },\n        enumerable: true,\n        configurable: true\n      });\n      Object.defineProperty(Tab.prototype, \"visible\", {\n        get: function () { return !this.li.hasAttribute('hidden'); },\n        set: function (value) {\n          if (value) {\n            this.li.removeAttribute('hidden');\n            this.li.removeAttribute('aria-hidden');\n          }\n          else {\n            this.li.setAttribute('hidden', 'hidden');\n            this.li.setAttribute('aria-hidden', 'true');\n          }\n        },\n        enumerable: true,\n        configurable: true\n      });\n      Object.defineProperty(Tab.prototype, \"selected\", {\n        get: function () { return !this.section.hasAttribute('hidden'); },\n        set: function (value) {\n          if (value) {\n            this.a.setAttribute('aria-selected', 'true');\n            this.a.tabIndex = 0;\n            this.section.removeAttribute('hidden');\n            this.section.removeAttribute('aria-hidden');\n          }\n          else {\n            this.a.setAttribute('aria-selected', 'false');\n            this.a.tabIndex = -1;\n            this.section.setAttribute('hidden', 'hidden');\n            this.section.setAttribute('aria-hidden', 'true');\n          }\n        },\n        enumerable: true,\n        configurable: true\n      });\n      Tab.prototype.focus = function () {\n        this.a.focus();\n      };\n      return Tab;\n    }());\n\n    initTabs(document.body);\n\n    function initTabs(container) {\n      var queryStringTabs = readTabsQueryStringParam();\n      var elements = container.querySelectorAll('.tabGroup');\n      var state = { groups: [], selectedTabs: [] };\n      for (var i = 0; i < elements.length; i++) {\n        var group = initTabGroup(elements.item(i));\n        if (!group.independent) {\n          updateVisibilityAndSelection(group, state);\n          state.groups.push(group);\n        }\n      }\n      container.addEventListener('click', function (event) { return handleClick(event, state); });\n      if (state.groups.length === 0) {\n        return state;\n      }\n      selectTabs(queryStringTabs, container);\n      updateTabsQueryStringParam(state);\n      notifyContentUpdated();\n      return state;\n    }\n\n    function initTabGroup(element) {\n      var group = {\n        independent: element.hasAttribute('data-tab-group-independent'),\n        tabs: []\n      };\n      var li = element.firstElementChild.firstElementChild;\n      while (li) {\n        var a = li.firstElementChild;\n        a.setAttribute(contentAttrs.name, 'tab');\n        var dataTab = a.getAttribute('data-tab').replace(/\\+/g, ' ');\n        a.setAttribute('data-tab', dataTab);\n        var section = element.querySelector(\"[id=\\\"\" + a.getAttribute('aria-controls') + \"\\\"]\");\n        var tab = new Tab(li, a, section);\n        group.tabs.push(tab);\n        li = li.nextElementSibling;\n      }\n      element.setAttribute(contentAttrs.name, 'tab-group');\n      element.tabGroup = group;\n      return group;\n    }\n\n    function updateVisibilityAndSelection(group, state) {\n      var anySelected = false;\n      var firstVisibleTab;\n      for (var _i = 0, _a = group.tabs; _i < _a.length; _i++) {\n        var tab = _a[_i];\n        tab.visible = tab.condition === null || state.selectedTabs.indexOf(tab.condition) !== -1;\n        if (tab.visible) {\n          if (!firstVisibleTab) {\n            firstVisibleTab = tab;\n          }\n        }\n        tab.selected = tab.visible && arraysIntersect(state.selectedTabs, tab.tabIds);\n        anySelected = anySelected || tab.selected;\n      }\n      if (!anySelected) {\n        for (var _b = 0, _c = group.tabs; _b < _c.length; _b++) {\n          var tabIds = _c[_b].tabIds;\n          for (var _d = 0, tabIds_1 = tabIds; _d < tabIds_1.length; _d++) {\n            var tabId = tabIds_1[_d];\n            var index = state.selectedTabs.indexOf(tabId);\n            if (index === -1) {\n              continue;\n            }\n            state.selectedTabs.splice(index, 1);\n          }\n        }\n        var tab = firstVisibleTab;\n        tab.selected = true;\n        state.selectedTabs.push(tab.tabIds[0]);\n      }\n    }\n\n    function getTabInfoFromEvent(event) {\n      if (!(event.target instanceof HTMLElement)) {\n        return null;\n      }\n      var anchor = event.target.closest('a[data-tab]');\n      if (anchor === null) {\n        return null;\n      }\n      var tabIds = anchor.getAttribute('data-tab').split(' ');\n      var group = anchor.parentElement.parentElement.parentElement.tabGroup;\n      if (group === undefined) {\n        return null;\n      }\n      return { tabIds: tabIds, group: group, anchor: anchor };\n    }\n\n    function handleClick(event, state) {\n      var info = getTabInfoFromEvent(event);\n      if (info === null) {\n        return;\n      }\n      event.preventDefault();\n      info.anchor.href = 'javascript:';\n      setTimeout(function () { return info.anchor.href = '#' + info.anchor.getAttribute('aria-controls'); });\n      var tabIds = info.tabIds, group = info.group;\n      var originalTop = info.anchor.getBoundingClientRect().top;\n      if (group.independent) {\n        for (var _i = 0, _a = group.tabs; _i < _a.length; _i++) {\n          var tab = _a[_i];\n          tab.selected = arraysIntersect(tab.tabIds, tabIds);\n        }\n      }\n      else {\n        if (arraysIntersect(state.selectedTabs, tabIds)) {\n          return;\n        }\n        var previousTabId = group.tabs.filter(function (t) { return t.selected; })[0].tabIds[0];\n        state.selectedTabs.splice(state.selectedTabs.indexOf(previousTabId), 1, tabIds[0]);\n        for (var _b = 0, _c = state.groups; _b < _c.length; _b++) {\n          var group_1 = _c[_b];\n          updateVisibilityAndSelection(group_1, state);\n        }\n        updateTabsQueryStringParam(state);\n      }\n      notifyContentUpdated();\n      var top = info.anchor.getBoundingClientRect().top;\n      if (top !== originalTop && event instanceof MouseEvent) {\n        window.scrollTo(0, window.pageYOffset + top - originalTop);\n      }\n    }\n\n    function selectTabs(tabIds) {\n      for (var _i = 0, tabIds_1 = tabIds; _i < tabIds_1.length; _i++) {\n        var tabId = tabIds_1[_i];\n        var a = document.querySelector(\".tabGroup > ul > li > a[data-tab=\\\"\" + tabId + \"\\\"]:not([hidden])\");\n        if (a === null) {\n          return;\n        }\n        a.dispatchEvent(new CustomEvent('click', { bubbles: true }));\n      }\n    }\n\n    function readTabsQueryStringParam() {\n      var qs = parseQueryString();\n      var t = qs.tabs;\n      if (t === undefined || t === '') {\n        return [];\n      }\n      return t.split(',');\n    }\n\n    function updateTabsQueryStringParam(state) {\n      var qs = parseQueryString();\n      qs.tabs = state.selectedTabs.join();\n      var url = location.protocol + \"//\" + location.host + location.pathname + \"?\" + toQueryString(qs) + location.hash;\n      if (location.href === url) {\n        return;\n      }\n      history.replaceState({}, document.title, url);\n    }\n\n    function toQueryString(args) {\n      var parts = [];\n      for (var name_1 in args) {\n        if (args.hasOwnProperty(name_1) && args[name_1] !== '' && args[name_1] !== null && args[name_1] !== undefined) {\n          parts.push(encodeURIComponent(name_1) + '=' + encodeURIComponent(args[name_1]));\n        }\n      }\n      return parts.join('&');\n    }\n\n    function parseQueryString(queryString) {\n      var match;\n      var pl = /\\+/g;\n      var search = /([^&=]+)=?([^&]*)/g;\n      var decode = function (s) { return decodeURIComponent(s.replace(pl, ' ')); };\n      if (queryString === undefined) {\n        queryString = '';\n      }\n      queryString = queryString.substring(1);\n      var urlParams = {};\n      while (match = search.exec(queryString)) {\n        urlParams[decode(match[1])] = decode(match[2]);\n      }\n      return urlParams;\n    }\n\n    function arraysIntersect(a, b) {\n      for (var _i = 0, a_1 = a; _i < a_1.length; _i++) {\n        var itemA = a_1[_i];\n        for (var _a = 0, b_1 = b; _a < b_1.length; _a++) {\n          var itemB = b_1[_a];\n          if (itemA === itemB) {\n            return true;\n          }\n        }\n      }\n      return false;\n    }\n\n    function notifyContentUpdated() {\n      // Dispatch this event when needed\n      // window.dispatchEvent(new CustomEvent('content-update'));\n    }\n  }\n\n  function utility() {\n    this.getAbsolutePath = getAbsolutePath;\n    this.isRelativePath = isRelativePath;\n    this.isAbsolutePath = isAbsolutePath;\n    this.getDirectory = getDirectory;\n    this.formList = formList;\n\n    function getAbsolutePath(href) {\n      // Use anchor to normalize href\n      var anchor = $('<a href=\"' + href + '\"></a>')[0];\n      // Ignore protocal, remove search and query\n      return anchor.host + anchor.pathname;\n    }\n\n    function isRelativePath(href) {\n      if (href === undefined || href === '' || href[0] === '/') {\n        return false;\n      }\n      return !isAbsolutePath(href);\n    }\n\n    function isAbsolutePath(href) {\n      return (/^(?:[a-z]+:)?\\/\\//i).test(href);\n    }\n\n    function getDirectory(href) {\n      if (!href) return '';\n      var index = href.lastIndexOf('/');\n      if (index == -1) return '';\n      if (index > -1) {\n        return href.substr(0, index);\n      }\n    }\n\n    function formList(item, classes) {\n      var level = 1;\n      var model = {\n        items: item\n      };\n      var cls = [].concat(classes).join(\" \");\n      return getList(model, cls);\n\n      function getList(model, cls) {\n        if (!model || !model.items) return null;\n        var l = model.items.length;\n        if (l === 0) return null;\n        var html = '<ul class=\"level' + level + ' ' + (cls || '') + '\">';\n        level++;\n        for (var i = 0; i < l; i++) {\n          var item = model.items[i];\n          var href = item.href;\n          var name = item.name;\n          if (!name) continue;\n          html += href ? '<li><a href=\"' + href + '\">' + name + '</a>' : '<li>' + name;\n          html += getList(item, cls) || '';\n          html += '</li>';\n        }\n        html += '</ul>';\n        return html;\n      }\n    }\n\n    /**\n     * Add <wbr> into long word.\n     * @param {String} text - The word to break. It should be in plain text without HTML tags.\n     */\n    function breakPlainText(text) {\n      if (!text) return text;\n      return text.replace(/([a-z])([A-Z])|(\\.)(\\w)/g, '$1$3<wbr>$2$4')\n    }\n\n    /**\n     * Add <wbr> into long word. The jQuery element should contain no html tags.\n     * If the jQuery element contains tags, this function will not change the element.\n     */\n    $.fn.breakWord = function () {\n      if (this.html() == this.text()) {\n        this.html(function (index, text) {\n          return breakPlainText(text);\n        })\n      }\n      return this;\n    }\n  }\n\n  // adjusted from https://stackoverflow.com/a/13067009/1523776\n  function workAroundFixedHeaderForAnchors() {\n    var HISTORY_SUPPORT = !!(history && history.pushState);\n    var ANCHOR_REGEX = /^#[^ ]+$/;\n\n    function getFixedOffset() {\n      return $('header').first().height();\n    }\n\n    /**\n     * If the provided href is an anchor which resolves to an element on the\n     * page, scroll to it.\n     * @param  {String} href\n     * @return {Boolean} - Was the href an anchor.\n     */\n    function scrollIfAnchor(href, pushToHistory) {\n      var match, rect, anchorOffset;\n\n      if (!ANCHOR_REGEX.test(href)) {\n        return false;\n      }\n\n      match = document.getElementById(href.slice(1));\n\n      if (match) {\n        rect = match.getBoundingClientRect();\n        anchorOffset = window.pageYOffset + rect.top - getFixedOffset();\n        window.scrollTo(window.pageXOffset, anchorOffset);\n\n        // Add the state to history as-per normal anchor links\n        if (HISTORY_SUPPORT && pushToHistory) {\n          history.pushState({}, document.title, location.pathname + href);\n        }\n      }\n\n      return !!match;\n    }\n\n    /**\n     * Attempt to scroll to the current location's hash.\n     */\n    function scrollToCurrent() {\n      scrollIfAnchor(window.location.hash);\n    }\n\n    /**\n     * If the click event's target was an anchor, fix the scroll position.\n     */\n    function delegateAnchors(e) {\n      var elem = e.target;\n\n      if (scrollIfAnchor(elem.getAttribute('href'), true)) {\n        e.preventDefault();\n      }\n    }\n\n    $(window).on('hashchange', scrollToCurrent);\n\n    $(window).on('load', function () {\n        // scroll to the anchor if present, offset by the header\n        scrollToCurrent();\n    });\n\n    $(document).ready(function () {\n        // Exclude tabbed content case\n        $('a:not([data-tab])').click(function (e) { delegateAnchors(e); });\n    });\n  }\n});\n"
  },
  {
    "path": "docs/docfx/styles/docfx.vendor.css",
    "content": "/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n.label,sub,sup{vertical-align:baseline}\nhr,img{border:0}\nbody,figure{margin:0}\n.btn-group>.btn-group,.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.dropdown-menu{float:left}\n.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.pre-scrollable{max-height:340px}\nhtml{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}\narticle,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}\naudio,canvas,progress,video{display:inline-block;vertical-align:baseline}\naudio:not([controls]){display:none;height:0}\n[hidden],template{display:none}\na{background-color:transparent}\na:active,a:hover{outline:0}\nabbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}\nb,optgroup,strong{font-weight:700}\ndfn{font-style:italic}\nh1{margin:.67em 0}\nmark{background:#ff0;color:#000}\nsub,sup{font-size:75%;line-height:0;position:relative}\nsup{top:-.5em}\nsub{bottom:-.25em}\nimg{vertical-align:middle}\nsvg:not(:root){overflow:hidden}\nhr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}\npre,textarea{overflow:auto}\ncode,kbd,pre,samp{font-size:1em}\nbutton,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}\n.glyphicon,address{font-style:normal}\nbutton{overflow:visible}\nbutton,select{text-transform:none}\nbutton,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}\nbutton[disabled],html input[disabled]{cursor:default}\nbutton::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}\ninput[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}\ninput[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}\ninput[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}\ntable{border-collapse:collapse;border-spacing:0}\ntd,th{padding:0}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print{blockquote,img,pre,tr{page-break-inside:avoid}\n*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}\na,a:visited{text-decoration:underline}\na[href]:after{content:\" (\" attr(href) \")\"}\nabbr[title]:after{content:\" (\" attr(title) \")\"}\na[href^=\"javascript:\"]:after,a[href^=\"#\"]:after{content:\"\"}\nblockquote,pre{border:1px solid #999}\nthead{display:table-header-group}\nimg{max-width:100%!important}\nh2,h3,p{orphans:3;widows:3}\nh2,h3{page-break-after:avoid}\n.navbar{display:none}\n.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}\n.label{border:1px solid #000}\n.table{border-collapse:collapse!important}\n.table td,.table th{background-color:#fff!important}\n.table-bordered td,.table-bordered th{border:1px solid #ddd!important}\n}\n.img-thumbnail,body{background-color:#fff}\n@font-face{font-family:\"Glyphicons Halflings\";src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format(\"embedded-opentype\"),url(../fonts/glyphicons-halflings-regular.woff2) format(\"woff2\"),url(../fonts/glyphicons-halflings-regular.woff) format(\"woff\"),url(../fonts/glyphicons-halflings-regular.ttf) format(\"truetype\"),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format(\"svg\")}\n.glyphicon{position:relative;top:1px;display:inline-block;font-family:\"Glyphicons Halflings\";font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}\n.glyphicon-asterisk:before{content:\"\\002a\"}\n.glyphicon-plus:before{content:\"\\002b\"}\n.glyphicon-eur:before,.glyphicon-euro:before{content:\"\\20ac\"}\n.glyphicon-minus:before{content:\"\\2212\"}\n.glyphicon-cloud:before{content:\"\\2601\"}\n.glyphicon-envelope:before{content:\"\\2709\"}\n.glyphicon-pencil:before{content:\"\\270f\"}\n.glyphicon-glass:before{content:\"\\e001\"}\n.glyphicon-music:before{content:\"\\e002\"}\n.glyphicon-search:before{content:\"\\e003\"}\n.glyphicon-heart:before{content:\"\\e005\"}\n.glyphicon-star:before{content:\"\\e006\"}\n.glyphicon-star-empty:before{content:\"\\e007\"}\n.glyphicon-user:before{content:\"\\e008\"}\n.glyphicon-film:before{content:\"\\e009\"}\n.glyphicon-th-large:before{content:\"\\e010\"}\n.glyphicon-th:before{content:\"\\e011\"}\n.glyphicon-th-list:before{content:\"\\e012\"}\n.glyphicon-ok:before{content:\"\\e013\"}\n.glyphicon-remove:before{content:\"\\e014\"}\n.glyphicon-zoom-in:before{content:\"\\e015\"}\n.glyphicon-zoom-out:before{content:\"\\e016\"}\n.glyphicon-off:before{content:\"\\e017\"}\n.glyphicon-signal:before{content:\"\\e018\"}\n.glyphicon-cog:before{content:\"\\e019\"}\n.glyphicon-trash:before{content:\"\\e020\"}\n.glyphicon-home:before{content:\"\\e021\"}\n.glyphicon-file:before{content:\"\\e022\"}\n.glyphicon-time:before{content:\"\\e023\"}\n.glyphicon-road:before{content:\"\\e024\"}\n.glyphicon-download-alt:before{content:\"\\e025\"}\n.glyphicon-download:before{content:\"\\e026\"}\n.glyphicon-upload:before{content:\"\\e027\"}\n.glyphicon-inbox:before{content:\"\\e028\"}\n.glyphicon-play-circle:before{content:\"\\e029\"}\n.glyphicon-repeat:before{content:\"\\e030\"}\n.glyphicon-refresh:before{content:\"\\e031\"}\n.glyphicon-list-alt:before{content:\"\\e032\"}\n.glyphicon-lock:before{content:\"\\e033\"}\n.glyphicon-flag:before{content:\"\\e034\"}\n.glyphicon-headphones:before{content:\"\\e035\"}\n.glyphicon-volume-off:before{content:\"\\e036\"}\n.glyphicon-volume-down:before{content:\"\\e037\"}\n.glyphicon-volume-up:before{content:\"\\e038\"}\n.glyphicon-qrcode:before{content:\"\\e039\"}\n.glyphicon-barcode:before{content:\"\\e040\"}\n.glyphicon-tag:before{content:\"\\e041\"}\n.glyphicon-tags:before{content:\"\\e042\"}\n.glyphicon-book:before{content:\"\\e043\"}\n.glyphicon-bookmark:before{content:\"\\e044\"}\n.glyphicon-print:before{content:\"\\e045\"}\n.glyphicon-camera:before{content:\"\\e046\"}\n.glyphicon-font:before{content:\"\\e047\"}\n.glyphicon-bold:before{content:\"\\e048\"}\n.glyphicon-italic:before{content:\"\\e049\"}\n.glyphicon-text-height:before{content:\"\\e050\"}\n.glyphicon-text-width:before{content:\"\\e051\"}\n.glyphicon-align-left:before{content:\"\\e052\"}\n.glyphicon-align-center:before{content:\"\\e053\"}\n.glyphicon-align-right:before{content:\"\\e054\"}\n.glyphicon-align-justify:before{content:\"\\e055\"}\n.glyphicon-list:before{content:\"\\e056\"}\n.glyphicon-indent-left:before{content:\"\\e057\"}\n.glyphicon-indent-right:before{content:\"\\e058\"}\n.glyphicon-facetime-video:before{content:\"\\e059\"}\n.glyphicon-picture:before{content:\"\\e060\"}\n.glyphicon-map-marker:before{content:\"\\e062\"}\n.glyphicon-adjust:before{content:\"\\e063\"}\n.glyphicon-tint:before{content:\"\\e064\"}\n.glyphicon-edit:before{content:\"\\e065\"}\n.glyphicon-share:before{content:\"\\e066\"}\n.glyphicon-check:before{content:\"\\e067\"}\n.glyphicon-move:before{content:\"\\e068\"}\n.glyphicon-step-backward:before{content:\"\\e069\"}\n.glyphicon-fast-backward:before{content:\"\\e070\"}\n.glyphicon-backward:before{content:\"\\e071\"}\n.glyphicon-play:before{content:\"\\e072\"}\n.glyphicon-pause:before{content:\"\\e073\"}\n.glyphicon-stop:before{content:\"\\e074\"}\n.glyphicon-forward:before{content:\"\\e075\"}\n.glyphicon-fast-forward:before{content:\"\\e076\"}\n.glyphicon-step-forward:before{content:\"\\e077\"}\n.glyphicon-eject:before{content:\"\\e078\"}\n.glyphicon-chevron-left:before{content:\"\\e079\"}\n.glyphicon-chevron-right:before{content:\"\\e080\"}\n.glyphicon-plus-sign:before{content:\"\\e081\"}\n.glyphicon-minus-sign:before{content:\"\\e082\"}\n.glyphicon-remove-sign:before{content:\"\\e083\"}\n.glyphicon-ok-sign:before{content:\"\\e084\"}\n.glyphicon-question-sign:before{content:\"\\e085\"}\n.glyphicon-info-sign:before{content:\"\\e086\"}\n.glyphicon-screenshot:before{content:\"\\e087\"}\n.glyphicon-remove-circle:before{content:\"\\e088\"}\n.glyphicon-ok-circle:before{content:\"\\e089\"}\n.glyphicon-ban-circle:before{content:\"\\e090\"}\n.glyphicon-arrow-left:before{content:\"\\e091\"}\n.glyphicon-arrow-right:before{content:\"\\e092\"}\n.glyphicon-arrow-up:before{content:\"\\e093\"}\n.glyphicon-arrow-down:before{content:\"\\e094\"}\n.glyphicon-share-alt:before{content:\"\\e095\"}\n.glyphicon-resize-full:before{content:\"\\e096\"}\n.glyphicon-resize-small:before{content:\"\\e097\"}\n.glyphicon-exclamation-sign:before{content:\"\\e101\"}\n.glyphicon-gift:before{content:\"\\e102\"}\n.glyphicon-leaf:before{content:\"\\e103\"}\n.glyphicon-fire:before{content:\"\\e104\"}\n.glyphicon-eye-open:before{content:\"\\e105\"}\n.glyphicon-eye-close:before{content:\"\\e106\"}\n.glyphicon-warning-sign:before{content:\"\\e107\"}\n.glyphicon-plane:before{content:\"\\e108\"}\n.glyphicon-calendar:before{content:\"\\e109\"}\n.glyphicon-random:before{content:\"\\e110\"}\n.glyphicon-comment:before{content:\"\\e111\"}\n.glyphicon-magnet:before{content:\"\\e112\"}\n.glyphicon-chevron-up:before{content:\"\\e113\"}\n.glyphicon-chevron-down:before{content:\"\\e114\"}\n.glyphicon-retweet:before{content:\"\\e115\"}\n.glyphicon-shopping-cart:before{content:\"\\e116\"}\n.glyphicon-folder-close:before{content:\"\\e117\"}\n.glyphicon-folder-open:before{content:\"\\e118\"}\n.glyphicon-resize-vertical:before{content:\"\\e119\"}\n.glyphicon-resize-horizontal:before{content:\"\\e120\"}\n.glyphicon-hdd:before{content:\"\\e121\"}\n.glyphicon-bullhorn:before{content:\"\\e122\"}\n.glyphicon-bell:before{content:\"\\e123\"}\n.glyphicon-certificate:before{content:\"\\e124\"}\n.glyphicon-thumbs-up:before{content:\"\\e125\"}\n.glyphicon-thumbs-down:before{content:\"\\e126\"}\n.glyphicon-hand-right:before{content:\"\\e127\"}\n.glyphicon-hand-left:before{content:\"\\e128\"}\n.glyphicon-hand-up:before{content:\"\\e129\"}\n.glyphicon-hand-down:before{content:\"\\e130\"}\n.glyphicon-circle-arrow-right:before{content:\"\\e131\"}\n.glyphicon-circle-arrow-left:before{content:\"\\e132\"}\n.glyphicon-circle-arrow-up:before{content:\"\\e133\"}\n.glyphicon-circle-arrow-down:before{content:\"\\e134\"}\n.glyphicon-globe:before{content:\"\\e135\"}\n.glyphicon-wrench:before{content:\"\\e136\"}\n.glyphicon-tasks:before{content:\"\\e137\"}\n.glyphicon-filter:before{content:\"\\e138\"}\n.glyphicon-briefcase:before{content:\"\\e139\"}\n.glyphicon-fullscreen:before{content:\"\\e140\"}\n.glyphicon-dashboard:before{content:\"\\e141\"}\n.glyphicon-paperclip:before{content:\"\\e142\"}\n.glyphicon-heart-empty:before{content:\"\\e143\"}\n.glyphicon-link:before{content:\"\\e144\"}\n.glyphicon-phone:before{content:\"\\e145\"}\n.glyphicon-pushpin:before{content:\"\\e146\"}\n.glyphicon-usd:before{content:\"\\e148\"}\n.glyphicon-gbp:before{content:\"\\e149\"}\n.glyphicon-sort:before{content:\"\\e150\"}\n.glyphicon-sort-by-alphabet:before{content:\"\\e151\"}\n.glyphicon-sort-by-alphabet-alt:before{content:\"\\e152\"}\n.glyphicon-sort-by-order:before{content:\"\\e153\"}\n.glyphicon-sort-by-order-alt:before{content:\"\\e154\"}\n.glyphicon-sort-by-attributes:before{content:\"\\e155\"}\n.glyphicon-sort-by-attributes-alt:before{content:\"\\e156\"}\n.glyphicon-unchecked:before{content:\"\\e157\"}\n.glyphicon-expand:before{content:\"\\e158\"}\n.glyphicon-collapse-down:before{content:\"\\e159\"}\n.glyphicon-collapse-up:before{content:\"\\e160\"}\n.glyphicon-log-in:before{content:\"\\e161\"}\n.glyphicon-flash:before{content:\"\\e162\"}\n.glyphicon-log-out:before{content:\"\\e163\"}\n.glyphicon-new-window:before{content:\"\\e164\"}\n.glyphicon-record:before{content:\"\\e165\"}\n.glyphicon-save:before{content:\"\\e166\"}\n.glyphicon-open:before{content:\"\\e167\"}\n.glyphicon-saved:before{content:\"\\e168\"}\n.glyphicon-import:before{content:\"\\e169\"}\n.glyphicon-export:before{content:\"\\e170\"}\n.glyphicon-send:before{content:\"\\e171\"}\n.glyphicon-floppy-disk:before{content:\"\\e172\"}\n.glyphicon-floppy-saved:before{content:\"\\e173\"}\n.glyphicon-floppy-remove:before{content:\"\\e174\"}\n.glyphicon-floppy-save:before{content:\"\\e175\"}\n.glyphicon-floppy-open:before{content:\"\\e176\"}\n.glyphicon-credit-card:before{content:\"\\e177\"}\n.glyphicon-transfer:before{content:\"\\e178\"}\n.glyphicon-cutlery:before{content:\"\\e179\"}\n.glyphicon-header:before{content:\"\\e180\"}\n.glyphicon-compressed:before{content:\"\\e181\"}\n.glyphicon-earphone:before{content:\"\\e182\"}\n.glyphicon-phone-alt:before{content:\"\\e183\"}\n.glyphicon-tower:before{content:\"\\e184\"}\n.glyphicon-stats:before{content:\"\\e185\"}\n.glyphicon-sd-video:before{content:\"\\e186\"}\n.glyphicon-hd-video:before{content:\"\\e187\"}\n.glyphicon-subtitles:before{content:\"\\e188\"}\n.glyphicon-sound-stereo:before{content:\"\\e189\"}\n.glyphicon-sound-dolby:before{content:\"\\e190\"}\n.glyphicon-sound-5-1:before{content:\"\\e191\"}\n.glyphicon-sound-6-1:before{content:\"\\e192\"}\n.glyphicon-sound-7-1:before{content:\"\\e193\"}\n.glyphicon-copyright-mark:before{content:\"\\e194\"}\n.glyphicon-registration-mark:before{content:\"\\e195\"}\n.glyphicon-cloud-download:before{content:\"\\e197\"}\n.glyphicon-cloud-upload:before{content:\"\\e198\"}\n.glyphicon-tree-conifer:before{content:\"\\e199\"}\n.glyphicon-tree-deciduous:before{content:\"\\e200\"}\n.glyphicon-cd:before{content:\"\\e201\"}\n.glyphicon-save-file:before{content:\"\\e202\"}\n.glyphicon-open-file:before{content:\"\\e203\"}\n.glyphicon-level-up:before{content:\"\\e204\"}\n.glyphicon-copy:before{content:\"\\e205\"}\n.glyphicon-paste:before{content:\"\\e206\"}\n.glyphicon-alert:before{content:\"\\e209\"}\n.glyphicon-equalizer:before{content:\"\\e210\"}\n.glyphicon-king:before{content:\"\\e211\"}\n.glyphicon-queen:before{content:\"\\e212\"}\n.glyphicon-pawn:before{content:\"\\e213\"}\n.glyphicon-bishop:before{content:\"\\e214\"}\n.glyphicon-knight:before{content:\"\\e215\"}\n.glyphicon-baby-formula:before{content:\"\\e216\"}\n.glyphicon-tent:before{content:\"\\26fa\"}\n.glyphicon-blackboard:before{content:\"\\e218\"}\n.glyphicon-bed:before{content:\"\\e219\"}\n.glyphicon-apple:before{content:\"\\f8ff\"}\n.glyphicon-erase:before{content:\"\\e221\"}\n.glyphicon-hourglass:before{content:\"\\231b\"}\n.glyphicon-lamp:before{content:\"\\e223\"}\n.glyphicon-duplicate:before{content:\"\\e224\"}\n.glyphicon-piggy-bank:before{content:\"\\e225\"}\n.glyphicon-scissors:before{content:\"\\e226\"}\n.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:\"\\e227\"}\n.glyphicon-jpy:before,.glyphicon-yen:before{content:\"\\00a5\"}\n.glyphicon-rub:before,.glyphicon-ruble:before{content:\"\\20bd\"}\n.glyphicon-scale:before{content:\"\\e230\"}\n.glyphicon-ice-lolly:before{content:\"\\e231\"}\n.glyphicon-ice-lolly-tasted:before{content:\"\\e232\"}\n.glyphicon-education:before{content:\"\\e233\"}\n.glyphicon-option-horizontal:before{content:\"\\e234\"}\n.glyphicon-option-vertical:before{content:\"\\e235\"}\n.glyphicon-menu-hamburger:before{content:\"\\e236\"}\n.glyphicon-modal-window:before{content:\"\\e237\"}\n.glyphicon-oil:before{content:\"\\e238\"}\n.glyphicon-grain:before{content:\"\\e239\"}\n.glyphicon-sunglasses:before{content:\"\\e240\"}\n.glyphicon-text-size:before{content:\"\\e241\"}\n.glyphicon-text-color:before{content:\"\\e242\"}\n.glyphicon-text-background:before{content:\"\\e243\"}\n.glyphicon-object-align-top:before{content:\"\\e244\"}\n.glyphicon-object-align-bottom:before{content:\"\\e245\"}\n.glyphicon-object-align-horizontal:before{content:\"\\e246\"}\n.glyphicon-object-align-left:before{content:\"\\e247\"}\n.glyphicon-object-align-vertical:before{content:\"\\e248\"}\n.glyphicon-object-align-right:before{content:\"\\e249\"}\n.glyphicon-triangle-right:before{content:\"\\e250\"}\n.glyphicon-triangle-left:before{content:\"\\e251\"}\n.glyphicon-triangle-bottom:before{content:\"\\e252\"}\n.glyphicon-triangle-top:before{content:\"\\e253\"}\n.glyphicon-console:before{content:\"\\e254\"}\n.glyphicon-superscript:before{content:\"\\e255\"}\n.glyphicon-subscript:before{content:\"\\e256\"}\n.glyphicon-menu-left:before{content:\"\\e257\"}\n.glyphicon-menu-right:before{content:\"\\e258\"}\n.glyphicon-menu-down:before{content:\"\\e259\"}\n.glyphicon-menu-up:before{content:\"\\e260\"}\n*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}\nhtml{font-size:10px;-webkit-tap-highlight-color:transparent}\nbody{font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333}\nbutton,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}\na{color:#337ab7;text-decoration:none}\na:focus,a:hover{color:#23527c;text-decoration:underline}\na:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}\n.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}\n.img-rounded{border-radius:6px}\n.img-thumbnail{padding:4px;line-height:1.42857143;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}\n.img-circle{border-radius:50%}\nhr{margin-top:20px;margin-bottom:20px;border-top:1px solid #eee}\n.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}\n.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}\n[role=button]{cursor:pointer}\n.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}\n.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}\n.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}\n.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}\n.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}\n.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}\n.h1,h1{font-size:36px}\n.h2,h2{font-size:30px}\n.h3,h3{font-size:24px}\n.h4,h4{font-size:18px}\n.h5,h5{font-size:14px}\n.h6,h6{font-size:12px}\np{margin:0 0 10px}\n.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}\ndt,kbd kbd,label{font-weight:700}\naddress,blockquote .small,blockquote footer,blockquote small,dd,dt,pre{line-height:1.42857143}\n@media (min-width:768px){.lead{font-size:21px}\n}\n.small,small{font-size:85%}\n.mark,mark{padding:.2em;background-color:#fcf8e3}\n.list-inline,.list-unstyled{padding-left:0;list-style:none}\n.text-left{text-align:left}\n.text-right{text-align:right}\n.text-center{text-align:center}\n.text-justify{text-align:justify}\n.text-nowrap{white-space:nowrap}\n.text-lowercase{text-transform:lowercase}\n.text-uppercase{text-transform:uppercase}\n.text-capitalize{text-transform:capitalize}\n.text-muted{color:#777}\n.text-primary{color:#337ab7}\na.text-primary:focus,a.text-primary:hover{color:#286090}\n.text-success{color:#3c763d}\na.text-success:focus,a.text-success:hover{color:#2b542c}\n.text-info{color:#31708f}\na.text-info:focus,a.text-info:hover{color:#245269}\n.text-warning{color:#8a6d3b}\na.text-warning:focus,a.text-warning:hover{color:#66512c}\n.text-danger{color:#a94442}\na.text-danger:focus,a.text-danger:hover{color:#843534}\n.bg-primary{color:#fff;background-color:#337ab7}\na.bg-primary:focus,a.bg-primary:hover{background-color:#286090}\n.bg-success{background-color:#dff0d8}\na.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}\n.bg-info{background-color:#d9edf7}\na.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}\n.bg-warning{background-color:#fcf8e3}\na.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}\n.bg-danger{background-color:#f2dede}\na.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}\npre code,table{background-color:transparent}\n.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}\ndl,ol,ul{margin-top:0}\nblockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}\naddress,dl{margin-bottom:20px}\nol,ul{margin-bottom:10px}\n.list-inline{margin-left:-5px}\n.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}\ndd{margin-left:0}\n@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.dl-horizontal dd{margin-left:180px}\n.container{width:750px}\n}\nabbr[data-original-title],abbr[title]{cursor:help}\n.checkbox.disabled label,.form-control[disabled],.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .form-control,fieldset[disabled] .radio label,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}\n.initialism{font-size:90%;text-transform:uppercase}\nblockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}\nblockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;color:#777}\nlegend,pre{display:block;color:#333}\nblockquote .small:before,blockquote footer:before,blockquote small:before{content:\"\\2014 \\00A0\"}\n.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}\ncode,kbd{padding:2px 4px;font-size:90%}\ncaption,th{text-align:left}\n.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:\"\"}\n.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:\"\\00A0 \\2014\"}\ncode,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,\"Courier New\",monospace}\ncode{color:#c7254e;background-color:#f9f2f4;border-radius:4px}\nkbd{color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}\nkbd kbd{padding:0;font-size:100%;-webkit-box-shadow:none;box-shadow:none}\npre{padding:9.5px;margin:0 0 10px;font-size:13px;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}\npre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;border-radius:0}\n.container,.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}\n.pre-scrollable{overflow-y:scroll}\n@media (min-width:992px){.container{width:970px}\n}\n@media (min-width:1200px){.container{width:1170px}\n}\n.row{margin-right:-15px;margin-left:-15px}\n.row-no-gutters{margin-right:0;margin-left:0}\n.row-no-gutters [class*=col-]{padding-right:0;padding-left:0}\n.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}\n.col-xs-12{width:100%}\n.col-xs-11{width:91.66666667%}\n.col-xs-10{width:83.33333333%}\n.col-xs-9{width:75%}\n.col-xs-8{width:66.66666667%}\n.col-xs-7{width:58.33333333%}\n.col-xs-6{width:50%}\n.col-xs-5{width:41.66666667%}\n.col-xs-4{width:33.33333333%}\n.col-xs-3{width:25%}\n.col-xs-2{width:16.66666667%}\n.col-xs-1{width:8.33333333%}\n.col-xs-pull-12{right:100%}\n.col-xs-pull-11{right:91.66666667%}\n.col-xs-pull-10{right:83.33333333%}\n.col-xs-pull-9{right:75%}\n.col-xs-pull-8{right:66.66666667%}\n.col-xs-pull-7{right:58.33333333%}\n.col-xs-pull-6{right:50%}\n.col-xs-pull-5{right:41.66666667%}\n.col-xs-pull-4{right:33.33333333%}\n.col-xs-pull-3{right:25%}\n.col-xs-pull-2{right:16.66666667%}\n.col-xs-pull-1{right:8.33333333%}\n.col-xs-pull-0{right:auto}\n.col-xs-push-12{left:100%}\n.col-xs-push-11{left:91.66666667%}\n.col-xs-push-10{left:83.33333333%}\n.col-xs-push-9{left:75%}\n.col-xs-push-8{left:66.66666667%}\n.col-xs-push-7{left:58.33333333%}\n.col-xs-push-6{left:50%}\n.col-xs-push-5{left:41.66666667%}\n.col-xs-push-4{left:33.33333333%}\n.col-xs-push-3{left:25%}\n.col-xs-push-2{left:16.66666667%}\n.col-xs-push-1{left:8.33333333%}\n.col-xs-push-0{left:auto}\n.col-xs-offset-12{margin-left:100%}\n.col-xs-offset-11{margin-left:91.66666667%}\n.col-xs-offset-10{margin-left:83.33333333%}\n.col-xs-offset-9{margin-left:75%}\n.col-xs-offset-8{margin-left:66.66666667%}\n.col-xs-offset-7{margin-left:58.33333333%}\n.col-xs-offset-6{margin-left:50%}\n.col-xs-offset-5{margin-left:41.66666667%}\n.col-xs-offset-4{margin-left:33.33333333%}\n.col-xs-offset-3{margin-left:25%}\n.col-xs-offset-2{margin-left:16.66666667%}\n.col-xs-offset-1{margin-left:8.33333333%}\n.col-xs-offset-0{margin-left:0}\n@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}\n.col-sm-12{width:100%}\n.col-sm-11{width:91.66666667%}\n.col-sm-10{width:83.33333333%}\n.col-sm-9{width:75%}\n.col-sm-8{width:66.66666667%}\n.col-sm-7{width:58.33333333%}\n.col-sm-6{width:50%}\n.col-sm-5{width:41.66666667%}\n.col-sm-4{width:33.33333333%}\n.col-sm-3{width:25%}\n.col-sm-2{width:16.66666667%}\n.col-sm-1{width:8.33333333%}\n.col-sm-pull-12{right:100%}\n.col-sm-pull-11{right:91.66666667%}\n.col-sm-pull-10{right:83.33333333%}\n.col-sm-pull-9{right:75%}\n.col-sm-pull-8{right:66.66666667%}\n.col-sm-pull-7{right:58.33333333%}\n.col-sm-pull-6{right:50%}\n.col-sm-pull-5{right:41.66666667%}\n.col-sm-pull-4{right:33.33333333%}\n.col-sm-pull-3{right:25%}\n.col-sm-pull-2{right:16.66666667%}\n.col-sm-pull-1{right:8.33333333%}\n.col-sm-pull-0{right:auto}\n.col-sm-push-12{left:100%}\n.col-sm-push-11{left:91.66666667%}\n.col-sm-push-10{left:83.33333333%}\n.col-sm-push-9{left:75%}\n.col-sm-push-8{left:66.66666667%}\n.col-sm-push-7{left:58.33333333%}\n.col-sm-push-6{left:50%}\n.col-sm-push-5{left:41.66666667%}\n.col-sm-push-4{left:33.33333333%}\n.col-sm-push-3{left:25%}\n.col-sm-push-2{left:16.66666667%}\n.col-sm-push-1{left:8.33333333%}\n.col-sm-push-0{left:auto}\n.col-sm-offset-12{margin-left:100%}\n.col-sm-offset-11{margin-left:91.66666667%}\n.col-sm-offset-10{margin-left:83.33333333%}\n.col-sm-offset-9{margin-left:75%}\n.col-sm-offset-8{margin-left:66.66666667%}\n.col-sm-offset-7{margin-left:58.33333333%}\n.col-sm-offset-6{margin-left:50%}\n.col-sm-offset-5{margin-left:41.66666667%}\n.col-sm-offset-4{margin-left:33.33333333%}\n.col-sm-offset-3{margin-left:25%}\n.col-sm-offset-2{margin-left:16.66666667%}\n.col-sm-offset-1{margin-left:8.33333333%}\n.col-sm-offset-0{margin-left:0}\n}\n@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}\n.col-md-12{width:100%}\n.col-md-11{width:91.66666667%}\n.col-md-10{width:83.33333333%}\n.col-md-9{width:75%}\n.col-md-8{width:66.66666667%}\n.col-md-7{width:58.33333333%}\n.col-md-6{width:50%}\n.col-md-5{width:41.66666667%}\n.col-md-4{width:33.33333333%}\n.col-md-3{width:25%}\n.col-md-2{width:16.66666667%}\n.col-md-1{width:8.33333333%}\n.col-md-pull-12{right:100%}\n.col-md-pull-11{right:91.66666667%}\n.col-md-pull-10{right:83.33333333%}\n.col-md-pull-9{right:75%}\n.col-md-pull-8{right:66.66666667%}\n.col-md-pull-7{right:58.33333333%}\n.col-md-pull-6{right:50%}\n.col-md-pull-5{right:41.66666667%}\n.col-md-pull-4{right:33.33333333%}\n.col-md-pull-3{right:25%}\n.col-md-pull-2{right:16.66666667%}\n.col-md-pull-1{right:8.33333333%}\n.col-md-pull-0{right:auto}\n.col-md-push-12{left:100%}\n.col-md-push-11{left:91.66666667%}\n.col-md-push-10{left:83.33333333%}\n.col-md-push-9{left:75%}\n.col-md-push-8{left:66.66666667%}\n.col-md-push-7{left:58.33333333%}\n.col-md-push-6{left:50%}\n.col-md-push-5{left:41.66666667%}\n.col-md-push-4{left:33.33333333%}\n.col-md-push-3{left:25%}\n.col-md-push-2{left:16.66666667%}\n.col-md-push-1{left:8.33333333%}\n.col-md-push-0{left:auto}\n.col-md-offset-12{margin-left:100%}\n.col-md-offset-11{margin-left:91.66666667%}\n.col-md-offset-10{margin-left:83.33333333%}\n.col-md-offset-9{margin-left:75%}\n.col-md-offset-8{margin-left:66.66666667%}\n.col-md-offset-7{margin-left:58.33333333%}\n.col-md-offset-6{margin-left:50%}\n.col-md-offset-5{margin-left:41.66666667%}\n.col-md-offset-4{margin-left:33.33333333%}\n.col-md-offset-3{margin-left:25%}\n.col-md-offset-2{margin-left:16.66666667%}\n.col-md-offset-1{margin-left:8.33333333%}\n.col-md-offset-0{margin-left:0}\n}\n@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}\n.col-lg-12{width:100%}\n.col-lg-11{width:91.66666667%}\n.col-lg-10{width:83.33333333%}\n.col-lg-9{width:75%}\n.col-lg-8{width:66.66666667%}\n.col-lg-7{width:58.33333333%}\n.col-lg-6{width:50%}\n.col-lg-5{width:41.66666667%}\n.col-lg-4{width:33.33333333%}\n.col-lg-3{width:25%}\n.col-lg-2{width:16.66666667%}\n.col-lg-1{width:8.33333333%}\n.col-lg-pull-12{right:100%}\n.col-lg-pull-11{right:91.66666667%}\n.col-lg-pull-10{right:83.33333333%}\n.col-lg-pull-9{right:75%}\n.col-lg-pull-8{right:66.66666667%}\n.col-lg-pull-7{right:58.33333333%}\n.col-lg-pull-6{right:50%}\n.col-lg-pull-5{right:41.66666667%}\n.col-lg-pull-4{right:33.33333333%}\n.col-lg-pull-3{right:25%}\n.col-lg-pull-2{right:16.66666667%}\n.col-lg-pull-1{right:8.33333333%}\n.col-lg-pull-0{right:auto}\n.col-lg-push-12{left:100%}\n.col-lg-push-11{left:91.66666667%}\n.col-lg-push-10{left:83.33333333%}\n.col-lg-push-9{left:75%}\n.col-lg-push-8{left:66.66666667%}\n.col-lg-push-7{left:58.33333333%}\n.col-lg-push-6{left:50%}\n.col-lg-push-5{left:41.66666667%}\n.col-lg-push-4{left:33.33333333%}\n.col-lg-push-3{left:25%}\n.col-lg-push-2{left:16.66666667%}\n.col-lg-push-1{left:8.33333333%}\n.col-lg-push-0{left:auto}\n.col-lg-offset-12{margin-left:100%}\n.col-lg-offset-11{margin-left:91.66666667%}\n.col-lg-offset-10{margin-left:83.33333333%}\n.col-lg-offset-9{margin-left:75%}\n.col-lg-offset-8{margin-left:66.66666667%}\n.col-lg-offset-7{margin-left:58.33333333%}\n.col-lg-offset-6{margin-left:50%}\n.col-lg-offset-5{margin-left:41.66666667%}\n.col-lg-offset-4{margin-left:33.33333333%}\n.col-lg-offset-3{margin-left:25%}\n.col-lg-offset-2{margin-left:16.66666667%}\n.col-lg-offset-1{margin-left:8.33333333%}\n.col-lg-offset-0{margin-left:0}\n}\ntable col[class*=col-]{position:static;display:table-column;float:none}\ntable td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}\ncaption{padding-top:8px;padding-bottom:8px;color:#777}\n.table{width:100%;max-width:100%;margin-bottom:20px}\n.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}\n.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}\n.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}\n.table>tbody+tbody{border-top:2px solid #ddd}\n.table .table{background-color:#fff}\n.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}\n.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}\n.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}\n.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}\n.table-hover>tbody>tr:hover,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}\n.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}\n.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}\n.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}\n.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}\n.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}\n.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}\n.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}\n.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}\n.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}\n.table-responsive{min-height:.01%;overflow-x:auto}\n.checkbox label,.radio label,.well{min-height:20px}\n@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}\n.table-responsive>.table{margin-bottom:0}\n.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}\n.table-responsive>.table-bordered{border:0}\n.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}\n.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}\n.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}\n}\nfieldset,legend{padding:0;border:0}\nfieldset{min-width:0;margin:0}\nlegend{width:100%;margin-bottom:20px;font-size:21px;line-height:inherit;border-bottom:1px solid #e5e5e5}\nlabel{display:inline-block;max-width:100%;margin-bottom:5px}\ninput[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}\ninput[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\\9;line-height:normal}\n.form-control,output{font-size:14px;line-height:1.42857143;color:#555;display:block}\ninput[type=file]{display:block}\ninput[type=range]{display:block;width:100%}\nselect[multiple],select[size]{height:auto}\ninput[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}\noutput{padding-top:7px}\n.form-control{width:100%;height:34px;padding:6px 12px;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}\n.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}\n.form-control::-moz-placeholder{color:#999;opacity:1}\n.form-control:-ms-input-placeholder{color:#999}\n.form-control::-webkit-input-placeholder{color:#999}\n.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}\n.form-control::-ms-expand{background-color:transparent;border:0}\n.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}\ntextarea.form-control{height:auto}\n@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}\n.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}\n.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}\n}\n.form-group{margin-bottom:15px}\n.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}\n.checkbox label,.checkbox-inline,.radio label,.radio-inline{padding-left:20px;cursor:pointer;margin-bottom:0;font-weight:400}\n.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\\9;margin-left:-20px}\n.checkbox+.checkbox,.radio+.radio{margin-top:-5px}\n.checkbox-inline,.radio-inline{position:relative;display:inline-block;vertical-align:middle}\n.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}\n.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}\n.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}\n.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}\n.form-group-sm .form-control,.input-sm{padding:5px 10px;border-radius:3px;font-size:12px}\n.input-sm{height:30px;line-height:1.5}\nselect.input-sm{height:30px;line-height:30px}\nselect[multiple].input-sm,textarea.input-sm{height:auto}\n.form-group-sm .form-control{height:30px;line-height:1.5}\n.form-group-lg .form-control,.input-lg{border-radius:6px;padding:10px 16px;font-size:18px}\n.form-group-sm select.form-control{height:30px;line-height:30px}\n.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}\n.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}\n.input-lg{height:46px;line-height:1.3333333}\nselect.input-lg{height:46px;line-height:46px}\nselect[multiple].input-lg,textarea.input-lg{height:auto}\n.form-group-lg .form-control{height:46px;line-height:1.3333333}\n.form-group-lg select.form-control{height:46px;line-height:46px}\n.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}\n.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}\n.has-feedback{position:relative}\n.has-feedback .form-control{padding-right:42.5px}\n.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}\n.collapsing,.dropdown,.dropup{position:relative}\n.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}\n.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}\n.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}\n.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}\n.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}\n.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}\n.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}\n.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}\n.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}\n.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}\n.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}\n.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}\n.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}\n.has-feedback label~.form-control-feedback{top:25px}\n.has-feedback label.sr-only~.form-control-feedback{top:0}\n.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}\n@media (min-width:768px){.form-inline .form-control-static,.form-inline .form-group{display:inline-block}\n.form-inline .control-label,.form-inline .form-group{margin-bottom:0;vertical-align:middle}\n.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}\n.form-inline .input-group{display:inline-table;vertical-align:middle}\n.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}\n.form-inline .input-group>.form-control{width:100%}\n.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}\n.form-inline .checkbox label,.form-inline .radio label{padding-left:0}\n.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}\n.form-inline .has-feedback .form-control-feedback{top:0}\n.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}\n}\n.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}\n.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}\n.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}\n.form-horizontal .has-feedback .form-control-feedback{right:15px}\n@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}\n.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}\n}\n.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}\n.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}\n.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}\n.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}\n.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;-webkit-box-shadow:none;box-shadow:none}\na.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}\n.btn-default{color:#333;background-color:#fff;border-color:#ccc}\n.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}\n.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}\n.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}\n.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}\n.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}\n.btn-default .badge{color:#fff;background-color:#333}\n.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}\n.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}\n.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}\n.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;background-image:none;border-color:#204d74}\n.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}\n.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}\n.btn-primary .badge{color:#337ab7;background-color:#fff}\n.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}\n.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}\n.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}\n.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;background-image:none;border-color:#398439}\n.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}\n.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}\n.btn-success .badge{color:#5cb85c;background-color:#fff}\n.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}\n.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}\n.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}\n.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc}\n.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}\n.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}\n.btn-info .badge{color:#5bc0de;background-color:#fff}\n.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}\n.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}\n.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}\n.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512}\n.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}\n.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}\n.btn-warning .badge{color:#f0ad4e;background-color:#fff}\n.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}\n.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}\n.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}\n.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;background-image:none;border-color:#ac2925}\n.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}\n.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}\n.btn-danger .badge{color:#d9534f;background-color:#fff}\n.btn-link{font-weight:400;color:#337ab7;border-radius:0}\n.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}\n.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}\n.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}\n.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}\n.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}\n.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}\n.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}\n.btn-block{display:block;width:100%}\n.btn-block+.btn-block{margin-top:5px}\ninput[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}\n.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}\n.fade.in{opacity:1}\n.collapse{display:none}\n.collapse.in{display:block}\ntr.collapse.in{display:table-row}\ntbody.collapse.in{display:table-row-group}\n.collapsing{height:0;overflow:hidden;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}\n.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\\9;border-right:4px solid transparent;border-left:4px solid transparent}\n.dropdown-toggle:focus{outline:0}\n.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}\n.dropdown-menu-right,.dropdown-menu.pull-right{right:0;left:auto}\n.dropdown-header,.dropdown-menu>li>a{display:block;padding:3px 20px;line-height:1.42857143;white-space:nowrap}\n.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle,.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}\n.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child,.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}\n.btn-group-vertical>.btn:not(:first-child):not(:last-child),.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn,.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}\n.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}\n.dropdown-menu>li>a{clear:both;font-weight:400;color:#333}\n.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}\n.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}\n.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}\n.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}\n.open>.dropdown-menu{display:block}\n.open>a{outline:0}\n.dropdown-menu-left{right:auto;left:0}\n.dropdown-header{font-size:12px;color:#777}\n.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}\n.nav-justified>.dropdown .dropdown-menu,.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}\n.pull-right>.dropdown-menu{right:0;left:auto}\n.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:\"\";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\\9}\n.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}\n@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}\n.navbar-right .dropdown-menu-left{right:auto;left:0}\n}\n.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}\n.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}\n.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}\n.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}\n.btn-toolbar{margin-left:-5px}\n.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}\n.btn .caret,.btn-group>.btn:first-child{margin-left:0}\n.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}\n.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}\n.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}\n.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}\n.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}\n.btn-lg .caret{border-width:5px 5px 0}\n.dropup .btn-lg .caret{border-width:0 5px 5px}\n.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}\n.btn-group-vertical>.btn-group>.btn{float:none}\n.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}\n.btn-group-vertical>.btn:first-child:not(:last-child){border-radius:4px 4px 0 0}\n.btn-group-vertical>.btn:last-child:not(:first-child){border-radius:0 0 4px 4px}\n.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}\n.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}\n.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}\n.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}\n.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}\n.btn-group-justified>.btn-group .btn{width:100%}\n.btn-group-justified>.btn-group .dropdown-menu{left:auto}\n[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}\n.input-group{position:relative;display:table;border-collapse:separate}\n.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}\n.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}\n.input-group .form-control:focus{z-index:3}\n.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}\nselect.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}\nselect[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}\n.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}\nselect.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}\nselect[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}\n.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}\n.nav>li,.nav>li>a{display:block;position:relative}\n.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}\n.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}\n.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}\n.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}\n.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}\n.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}\n.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}\n.input-group-addon:first-child{border-right:0}\n.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}\n.input-group-addon:last-child{border-left:0}\n.input-group-btn{position:relative;font-size:0;white-space:nowrap}\n.input-group-btn>.btn{position:relative}\n.input-group-btn>.btn+.btn{margin-left:-1px}\n.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}\n.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}\n.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}\n.nav{padding-left:0;margin-bottom:0;list-style:none}\n.nav>li>a{padding:10px 15px}\n.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}\n.nav>li.disabled>a{color:#777}\n.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}\n.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}\n.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}\n.nav>li>a>img{max-width:none}\n.nav-tabs{border-bottom:1px solid #ddd}\n.nav-tabs>li{float:left;margin-bottom:-1px}\n.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}\n.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}\n.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}\n.nav-tabs.nav-justified{width:100%;border-bottom:0}\n.nav-tabs.nav-justified>li{float:none}\n.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center;margin-right:0;border-radius:4px}\n.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}\n@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}\n.nav-tabs.nav-justified>li>a{margin-bottom:0;border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}\n.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}\n}\n.nav-pills>li{float:left}\n.nav-justified>li,.nav-stacked>li{float:none}\n.nav-pills>li>a{border-radius:4px}\n.nav-pills>li+li{margin-left:2px}\n.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}\n.nav-stacked>li+li{margin-top:2px;margin-left:0}\n.nav-justified{width:100%}\n.nav-justified>li>a{margin-bottom:5px;text-align:center}\n.nav-tabs-justified{border-bottom:0}\n.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}\n.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}\n@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}\n.nav-justified>li>a{margin-bottom:0}\n.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}\n.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}\n}\n.tab-content>.tab-pane{display:none}\n.tab-content>.active{display:block}\n.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}\n.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}\n.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}\n.navbar-collapse.in{overflow-y:auto}\n@media (min-width:768px){.navbar{border-radius:4px}\n.navbar-header{float:left}\n.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}\n.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}\n.navbar-collapse.in{overflow-y:visible}\n.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}\n.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}\n}\n.embed-responsive,.modal,.modal-open,.progress{overflow:hidden}\n.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}\n@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}\n}\n.navbar-fixed-top{top:0;border-width:0 0 1px}\n.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}\n.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}\n.navbar-static-top{z-index:1000;border-width:0 0 1px}\n.navbar-brand{float:left;height:50px;padding:15px;font-size:18px;line-height:20px}\n.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}\n.navbar-brand>img{display:block}\n@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}\n.navbar-static-top{border-radius:0}\n.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}\n}\n.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}\n.navbar-toggle:focus{outline:0}\n.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}\n.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}\n.navbar-nav{margin:7.5px -15px}\n.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}\n@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}\n.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}\n.navbar-nav .open .dropdown-menu>li>a{line-height:20px}\n.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}\n}\n.progress-bar-striped,.progress-striped .progress-bar,.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}\n@media (min-width:768px){.navbar-toggle{display:none}\n.navbar-nav{float:left;margin:0}\n.navbar-nav>li{float:left}\n.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}\n}\n.navbar-form{padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin:8px -15px}\n@media (min-width:768px){.navbar-form .form-control-static,.navbar-form .form-group{display:inline-block}\n.navbar-form .control-label,.navbar-form .form-group{margin-bottom:0;vertical-align:middle}\n.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}\n.navbar-form .input-group{display:inline-table;vertical-align:middle}\n.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}\n.navbar-form .input-group>.form-control{width:100%}\n.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}\n.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}\n.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}\n.navbar-form .has-feedback .form-control-feedback{top:0}\n.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}\n}\n.breadcrumb>li,.pagination{display:inline-block}\n.btn .badge,.btn .label{top:-1px;position:relative}\n@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}\n.navbar-form .form-group:last-child{margin-bottom:0}\n}\n.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}\n.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-radius:4px 4px 0 0}\n.navbar-btn{margin-top:8px;margin-bottom:8px}\n.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}\n.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}\n.navbar-text{margin-top:15px;margin-bottom:15px}\n@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}\n.navbar-left{float:left!important}\n.navbar-right{float:right!important;margin-right:-15px}\n.navbar-right~.navbar-right{margin-right:0}\n}\n.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}\n.navbar-default .navbar-brand{color:#777}\n.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}\n.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}\n.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}\n.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}\n.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}\n.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}\n@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}\n.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}\n.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}\n.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}\n}\n.navbar-default .navbar-toggle{border-color:#ddd}\n.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}\n.navbar-default .navbar-toggle .icon-bar{background-color:#888}\n.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}\n.navbar-default .navbar-link{color:#777}\n.navbar-default .navbar-link:hover{color:#333}\n.navbar-default .btn-link{color:#777}\n.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}\n.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}\n.navbar-inverse{background-color:#222;border-color:#080808}\n.navbar-inverse .navbar-brand{color:#9d9d9d}\n.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}\n.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}\n.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}\n.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}\n.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}\n.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}\n@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}\n.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}\n.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}\n.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}\n.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}\n.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}\n}\n.navbar-inverse .navbar-toggle{border-color:#333}\n.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}\n.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}\n.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}\n.navbar-inverse .navbar-link{color:#9d9d9d}\n.navbar-inverse .navbar-link:hover{color:#fff}\n.navbar-inverse .btn-link{color:#9d9d9d}\n.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}\n.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}\n.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}\n.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:\"/\\00a0\"}\n.breadcrumb>.active{color:#777}\n.pagination{padding-left:0;margin:20px 0;border-radius:4px}\n.pager li,.pagination>li{display:inline}\n.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}\n.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}\n.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}\n.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}\n.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}\n.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}\n.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}\n.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}\n.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}\n.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}\n.badge,.label{font-weight:700;line-height:1;white-space:nowrap;text-align:center}\n.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}\n.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}\n.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}\n.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}\n.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}\n.pager .next>a,.pager .next>span{float:right}\n.pager .previous>a,.pager .previous>span{float:left}\n.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}\na.badge:focus,a.badge:hover,a.label:focus,a.label:hover{color:#fff;cursor:pointer;text-decoration:none}\n.label{display:inline;padding:.2em .6em .3em;font-size:75%;color:#fff;border-radius:.25em}\n.label:empty{display:none}\n.label-default{background-color:#777}\n.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}\n.label-primary{background-color:#337ab7}\n.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}\n.label-success{background-color:#5cb85c}\n.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}\n.label-info{background-color:#5bc0de}\n.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}\n.label-warning{background-color:#f0ad4e}\n.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}\n.label-danger{background-color:#d9534f}\n.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}\n.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;color:#fff;vertical-align:middle;background-color:#777;border-radius:10px}\n.badge:empty{display:none}\n.media-object,.thumbnail{display:block}\n.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}\n.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}\n.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}\n.list-group-item>.badge{float:right}\n.list-group-item>.badge+.badge{margin-right:5px}\n.nav-pills>li>a>.badge{margin-left:3px}\n.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;background-color:#eee}\n.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}\n.alert,.thumbnail{margin-bottom:20px}\n.alert .alert-link,.close{font-weight:700}\n.jumbotron>hr{border-top-color:#d5d5d5}\n.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}\n.jumbotron .container{max-width:100%}\n@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}\n.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}\n.jumbotron .h1,.jumbotron h1{font-size:63px}\n}\n.thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}\n.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}\na.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}\n.thumbnail .caption{padding:9px;color:#333}\n.alert{padding:15px;border:1px solid transparent;border-radius:4px}\n.alert h4{margin-top:0;color:inherit}\n.alert>p,.alert>ul{margin-bottom:0}\n.alert>p+p{margin-top:5px}\n.alert-dismissable,.alert-dismissible{padding-right:35px}\n.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}\n.modal,.modal-backdrop{top:0;right:0;bottom:0;left:0}\n.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}\n.alert-success hr{border-top-color:#c9e2b3}\n.alert-success .alert-link{color:#2b542c}\n.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}\n.alert-info hr{border-top-color:#a6e1ec}\n.alert-info .alert-link{color:#245269}\n.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}\n.alert-warning hr{border-top-color:#f7e1b5}\n.alert-warning .alert-link{color:#66512c}\n.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}\n.alert-danger hr{border-top-color:#e4b9c0}\n.alert-danger .alert-link{color:#843534}\n@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}\nto{background-position:0 0}\n}\n@-o-keyframes progress-bar-stripes{from{background-position:40px 0}\nto{background-position:0 0}\n}\n@keyframes progress-bar-stripes{from{background-position:40px 0}\nto{background-position:0 0}\n}\n.progress{height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}\n.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}\n.progress-bar-striped,.progress-striped .progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}\n.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}\n.progress-bar-success{background-color:#5cb85c}\n.progress-striped .progress-bar-success{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}\n.progress-striped .progress-bar-info,.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}\n.progress-bar-info{background-color:#5bc0de}\n.progress-striped .progress-bar-info{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}\n.progress-bar-warning{background-color:#f0ad4e}\n.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}\n.progress-bar-danger{background-color:#d9534f}\n.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}\n.media{margin-top:15px}\n.media:first-child{margin-top:0}\n.media,.media-body{overflow:hidden;zoom:1}\n.media-body{width:10000px}\n.media-object.img-thumbnail{max-width:none}\n.media-right,.media>.pull-right{padding-left:10px}\n.media-left,.media>.pull-left{padding-right:10px}\n.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}\n.media-middle{vertical-align:middle}\n.media-bottom{vertical-align:bottom}\n.media-heading{margin-top:0;margin-bottom:5px}\n.media-list{padding-left:0;list-style:none}\n.list-group{padding-left:0;margin-bottom:20px}\n.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}\n.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}\n.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}\n.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}\n.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}\n.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}\n.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}\n.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}\n.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}\na.list-group-item,button.list-group-item{color:#555}\na.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}\na.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}\nbutton.list-group-item{width:100%;text-align:left}\n.list-group-item-success{color:#3c763d;background-color:#dff0d8}\na.list-group-item-success,button.list-group-item-success{color:#3c763d}\na.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}\na.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}\na.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}\n.list-group-item-info{color:#31708f;background-color:#d9edf7}\na.list-group-item-info,button.list-group-item-info{color:#31708f}\na.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}\na.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}\na.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}\n.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}\na.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}\na.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}\na.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}\na.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}\n.list-group-item-danger{color:#a94442;background-color:#f2dede}\na.list-group-item-danger,button.list-group-item-danger{color:#a94442}\na.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}\na.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}\na.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}\n.panel-heading>.dropdown .dropdown-toggle,.panel-title,.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}\n.list-group-item-heading{margin-top:0;margin-bottom:5px}\n.list-group-item-text{margin-bottom:0;line-height:1.3}\n.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}\n.panel-title,.panel>.list-group,.panel>.panel-collapse>.list-group,.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}\n.panel-body{padding:15px}\n.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}\n.panel-title{margin-top:0;font-size:16px}\n.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}\n.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}\n.panel-group .panel-heading,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}\n.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}\n.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}\n.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}\n.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}\n.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}\n.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}\n.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}\n.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}\n.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}\n.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}\n.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}\n.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}\n.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}\n.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}\n.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}\n.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}\n.panel>.table-responsive{margin-bottom:0;border:0}\n.panel-group{margin-bottom:20px}\n.panel-group .panel{margin-bottom:0;border-radius:4px}\n.panel-group .panel+.panel{margin-top:5px}\n.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}\n.panel-group .panel-footer{border-top:0}\n.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}\n.panel-default{border-color:#ddd}\n.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}\n.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}\n.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}\n.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}\n.panel-primary{border-color:#337ab7}\n.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}\n.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}\n.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}\n.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}\n.panel-success{border-color:#d6e9c6}\n.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}\n.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}\n.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}\n.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}\n.panel-info{border-color:#bce8f1}\n.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}\n.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}\n.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}\n.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}\n.panel-warning{border-color:#faebcc}\n.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}\n.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}\n.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}\n.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}\n.panel-danger{border-color:#ebccd1}\n.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}\n.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}\n.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}\n.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}\n.embed-responsive{position:relative;display:block;height:0;padding:0}\n.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}\n.embed-responsive-16by9{padding-bottom:56.25%}\n.embed-responsive-4by3{padding-bottom:75%}\n.well{padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}\n.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}\n.well-lg{padding:24px;border-radius:6px}\n.well-sm{padding:9px;border-radius:3px}\n.close{float:right;font-size:21px;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}\n.popover,.tooltip{font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;text-decoration:none}\n.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}\nbutton.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}\n.modal-content,.popover{background-clip:padding-box}\n.modal{position:fixed;z-index:1050;display:none;-webkit-overflow-scrolling:touch;outline:0}\n.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out}\n.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}\n.modal-open .modal{overflow-x:hidden;overflow-y:auto}\n.modal-dialog{position:relative;width:auto;margin:10px}\n.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}\n.modal-backdrop{position:fixed;z-index:1040;background-color:#000}\n.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}\n.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}\n.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}\n.modal-header .close{margin-top:-2px}\n.modal-title{margin:0;line-height:1.42857143}\n.modal-body{position:relative;padding:15px}\n.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}\n.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}\n.modal-footer .btn-group .btn+.btn{margin-left:-1px}\n.modal-footer .btn-block+.btn-block{margin-left:0}\n.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}\n@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}\n.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}\n.modal-sm{width:300px}\n}\n.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}\n@media (min-width:992px){.modal-lg{width:900px}\n}\n.tooltip{position:absolute;z-index:1070;display:block;text-align:left;text-align:start;font-size:12px;filter:alpha(opacity=0);opacity:0}\n.tooltip.in{filter:alpha(opacity=90);opacity:.9}\n.tooltip.top{padding:5px 0;margin-top:-3px}\n.tooltip.right{padding:0 5px;margin-left:3px}\n.tooltip.bottom{padding:5px 0;margin-top:3px}\n.tooltip.left{padding:0 5px;margin-left:-3px}\n.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}\n.tooltip.top-left .tooltip-arrow{right:5px}\n.tooltip.top-right .tooltip-arrow{left:5px}\n.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}\n.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}\n.tooltip.bottom .tooltip-arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-right .tooltip-arrow{border-width:0 5px 5px;border-bottom-color:#000;top:0}\n.tooltip.bottom .tooltip-arrow{left:50%;margin-left:-5px}\n.tooltip.bottom-left .tooltip-arrow{right:5px;margin-top:-5px}\n.tooltip.bottom-right .tooltip-arrow{left:5px;margin-top:-5px}\n.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}\n.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}\n.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;text-align:start;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}\n.carousel-caption,.carousel-control{color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}\n.popover.top{margin-top:-10px}\n.popover.right{margin-left:10px}\n.popover.bottom{margin-top:10px}\n.popover.left{margin-left:-10px}\n.popover>.arrow{border-width:11px}\n.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}\n.carousel,.carousel-inner{position:relative}\n.popover>.arrow:after{content:\"\";border-width:10px}\n.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}\n.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:\" \";border-top-color:#fff;border-bottom-width:0}\n.popover.left>.arrow:after,.popover.right>.arrow:after{bottom:-10px;content:\" \"}\n.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}\n.popover.right>.arrow:after{left:1px;border-right-color:#fff;border-left-width:0}\n.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}\n.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:\" \";border-top-width:0;border-bottom-color:#fff}\n.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}\n.popover.left>.arrow:after{right:1px;border-right-width:0;border-left-color:#fff}\n.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}\n.popover-content{padding:9px 14px}\n.carousel-inner{width:100%;overflow:hidden}\n.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}\n.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}\n@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}\n.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}\n.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}\n.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}\n}\n.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}\n.carousel-inner>.active{left:0}\n.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}\n.carousel-inner>.next{left:100%}\n.carousel-inner>.prev{left:-100%}\n.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}\n.carousel-inner>.active.left{left:-100%}\n.carousel-inner>.active.right{left:100%}\n.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}\n.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}\n.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}\n.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:.9}\n.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}\n.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}\n.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}\n.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}\n.carousel-control .icon-prev:before{content:\"\\2039\"}\n.carousel-control .icon-next:before{content:\"\\203a\"}\n.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}\n.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}\n.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}\n.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px}\n.carousel-caption .btn,.text-hide{text-shadow:none}\n@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}\n.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}\n.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}\n.carousel-caption{right:20%;left:20%;padding-bottom:30px}\n.carousel-indicators{bottom:20px}\n}\n.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:\" \"}\n.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}\n.center-block{display:block;margin-right:auto;margin-left:auto}\n.pull-right{float:right!important}\n.pull-left{float:left!important}\n.hide{display:none!important}\n.show{display:block!important}\n.hidden,.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}\n.invisible{visibility:hidden}\n.text-hide{font:0/0 a;color:transparent;background-color:transparent;border:0}\n.affix{position:fixed}\n@-ms-viewport{width:device-width}\n@media (max-width:767px){.visible-xs{display:block!important}\ntable.visible-xs{display:table!important}\ntr.visible-xs{display:table-row!important}\ntd.visible-xs,th.visible-xs{display:table-cell!important}\n.visible-xs-block{display:block!important}\n.visible-xs-inline{display:inline!important}\n.visible-xs-inline-block{display:inline-block!important}\n}\n@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}\ntable.visible-sm{display:table!important}\ntr.visible-sm{display:table-row!important}\ntd.visible-sm,th.visible-sm{display:table-cell!important}\n.visible-sm-block{display:block!important}\n.visible-sm-inline{display:inline!important}\n.visible-sm-inline-block{display:inline-block!important}\n}\n@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}\ntable.visible-md{display:table!important}\ntr.visible-md{display:table-row!important}\ntd.visible-md,th.visible-md{display:table-cell!important}\n.visible-md-block{display:block!important}\n.visible-md-inline{display:inline!important}\n.visible-md-inline-block{display:inline-block!important}\n}\n@media (min-width:1200px){.visible-lg{display:block!important}\ntable.visible-lg{display:table!important}\ntr.visible-lg{display:table-row!important}\ntd.visible-lg,th.visible-lg{display:table-cell!important}\n.visible-lg-block{display:block!important}\n.visible-lg-inline{display:inline!important}\n.visible-lg-inline-block{display:inline-block!important}\n.hidden-lg{display:none!important}\n}\n@media (max-width:767px){.hidden-xs{display:none!important}\n}\n@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}\n}\n@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}\n}\n.visible-print{display:none!important}\n@media print{.visible-print{display:block!important}\ntable.visible-print{display:table!important}\ntr.visible-print{display:table-row!important}\ntd.visible-print,th.visible-print{display:table-cell!important}\n}\n.visible-print-block{display:none!important}\n@media print{.visible-print-block{display:block!important}\n}\n.visible-print-inline{display:none!important}\n@media print{.visible-print-inline{display:inline!important}\n}\n.visible-print-inline-block{display:none!important}\n@media print{.visible-print-inline-block{display:inline-block!important}\n.hidden-print{display:none!important}\n}\n.hljs{display:block;background:#fff;padding:.5em;color:#333;overflow-x:auto}\n.hljs-comment,.hljs-meta{color:#969896}\n.hljs-emphasis,.hljs-quote,.hljs-string,.hljs-strong,.hljs-template-variable,.hljs-variable{color:#df5000}\n.hljs-keyword,.hljs-selector-tag,.hljs-type{color:#a71d5d}\n.hljs-attribute,.hljs-bullet,.hljs-literal,.hljs-symbol{color:#0086b3}\n.hljs-name,.hljs-section{color:#63a35c}\n.hljs-tag{color:#333}\n.hljs-attr,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-title{color:#795da3}\n.hljs-addition{color:#55a532;background-color:#eaffea}\n.hljs-deletion{color:#bd2c00;background-color:#ffecec}\n.hljs-link{text-decoration:underline}"
  },
  {
    "path": "docs/docfx/styles/docfx.vendor.js",
    "content": "/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */\n!function(e,t){\"use strict\";\"object\"==typeof module&&\"object\"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error(\"jQuery requires a window with a document\");return t(e)}:t(e)}(\"undefined\"!=typeof window?window:this,function(C,e){\"use strict\";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return\"function\"==typeof e&&\"number\"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement(\"script\");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+\"\":\"object\"==typeof e||\"function\"==typeof e?n[o.call(e)]||\"object\":typeof e}var f=\"3.5.1\",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&\"length\"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&(\"array\"===n||0===t||\"number\"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for(\"boolean\"==typeof a&&(l=a,a=arguments[s]||{},s++),\"object\"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],\"__proto__\"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:\"jQuery\"+(f+Math.random()).replace(/\\D/g,\"\"),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||\"[object Object]\"!==o.call(e))&&(!(t=r(e))||\"function\"==typeof(n=v.call(t,\"constructor\")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,\"string\"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),\"function\"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"),function(e,t){n[\"[object \"+t+\"]\"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S=\"sizzle\"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R=\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",M=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",I=\"(?:\\\\\\\\[\\\\da-fA-F]{1,6}\"+M+\"?|\\\\\\\\[^\\\\r\\\\n\\\\f]|[\\\\w-]|[^\\0-\\\\x7f])+\",W=\"\\\\[\"+M+\"*(\"+I+\")(?:\"+M+\"*([*^$|!~]?=)\"+M+\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+I+\"))|)\"+M+\"*\\\\]\",F=\":(\"+I+\")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\"+W+\")*)|.*)\\\\)|)\",B=new RegExp(M+\"+\",\"g\"),$=new RegExp(\"^\"+M+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+M+\"+$\",\"g\"),_=new RegExp(\"^\"+M+\"*,\"+M+\"*\"),z=new RegExp(\"^\"+M+\"*([>+~]|\"+M+\")\"+M+\"*\"),U=new RegExp(M+\"|>\"),X=new RegExp(F),V=new RegExp(\"^\"+I+\"$\"),G={ID:new RegExp(\"^#(\"+I+\")\"),CLASS:new RegExp(\"^\\\\.(\"+I+\")\"),TAG:new RegExp(\"^(\"+I+\"|[*])\"),ATTR:new RegExp(\"^\"+W),PSEUDO:new RegExp(\"^\"+F),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+M+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+M+\"*(?:([+-]|)\"+M+\"*(\\\\d+)|))\"+M+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+R+\")$\",\"i\"),needsContext:new RegExp(\"^\"+M+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+M+\"*((?:-\\\\d)?\\\\d*)\"+M+\"*\\\\)|)(?=[^-]|$)\",\"i\")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\\d$/i,K=/^[^{]+\\{\\s*\\[native \\w/,Z=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,ee=/[+~]/,te=new RegExp(\"\\\\\\\\[\\\\da-fA-F]{1,6}\"+M+\"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\",\"g\"),ne=function(e,t){var n=\"0x\"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,ie=function(e,t){return t?\"\\0\"===e?\"\\ufffd\":e.slice(0,-1)+\"\\\\\"+e.charCodeAt(e.length-1).toString(16)+\" \":\"\\\\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&\"fieldset\"===e.nodeName.toLowerCase()},{dir:\"parentNode\",next:\"legend\"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],\"string\"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+\" \"]&&(!v||!v.test(t))&&(1!==p||\"object\"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute(\"id\"))?s=s.replace(re,ie):e.setAttribute(\"id\",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?\"#\"+s:\":scope\")+\" \"+xe(l[o]);c=l.join(\",\")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute(\"id\")}}}return g(t.replace($,\"$1\"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+\" \")>b.cacheLength&&delete e[r.shift()],e[t+\" \"]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement(\"fieldset\");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split(\"|\"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return\"input\"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return(\"input\"===t||\"button\"===t)&&e.type===n}}function ge(t){return function(e){return\"form\"in e?e.parentNode&&!1===e.disabled?\"label\"in e?\"label\"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:\"label\"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&\"undefined\"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||\"HTML\")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener(\"unload\",oe,!1):n.attachEvent&&n.attachEvent(\"onunload\",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement(\"div\")),\"undefined\"!=typeof e.querySelectorAll&&!e.querySelectorAll(\":scope fieldset div\").length}),d.attributes=ce(function(e){return e.className=\"i\",!e.getAttribute(\"className\")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment(\"\")),!e.getElementsByTagName(\"*\").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute(\"id\")===t}},b.find.ID=function(e,t){if(\"undefined\"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t=\"undefined\"!=typeof e.getAttributeNode&&e.getAttributeNode(\"id\");return t&&t.value===n}},b.find.ID=function(e,t){if(\"undefined\"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return\"undefined\"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if(\"*\"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(\"undefined\"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML=\"<a id='\"+S+\"'></a><select id='\"+S+\"-\\r\\\\' msallowcapture=''><option selected=''></option></select>\",e.querySelectorAll(\"[msallowcapture^='']\").length&&v.push(\"[*^$]=\"+M+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\"[selected]\").length||v.push(\"\\\\[\"+M+\"*(?:value|\"+R+\")\"),e.querySelectorAll(\"[id~=\"+S+\"-]\").length||v.push(\"~=\"),(t=C.createElement(\"input\")).setAttribute(\"name\",\"\"),e.appendChild(t),e.querySelectorAll(\"[name='']\").length||v.push(\"\\\\[\"+M+\"*name\"+M+\"*=\"+M+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\":checked\").length||v.push(\":checked\"),e.querySelectorAll(\"a#\"+S+\"+*\").length||v.push(\".#.+[+~]\"),e.querySelectorAll(\"\\\\\\f\"),v.push(\"[\\\\r\\\\n\\\\f]\")}),ce(function(e){e.innerHTML=\"<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>\";var t=C.createElement(\"input\");t.setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),e.querySelectorAll(\"[name=d]\").length&&v.push(\"name\"+M+\"*[*^$|!~]?=\"),2!==e.querySelectorAll(\":enabled\").length&&v.push(\":enabled\",\":disabled\"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(\":disabled\").length&&v.push(\":enabled\",\":disabled\"),e.querySelectorAll(\"*,:x\"),v.push(\",.*:\")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,\"*\"),c.call(e,\"[s!='']:x\"),s.push(\"!=\",F)}),v=v.length&&new RegExp(v.join(\"|\")),s=s.length&&new RegExp(s.join(\"|\")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+\" \"]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+\"\").replace(re,ie)},se.error=function(e){throw new Error(\"Syntax error, unrecognized expression: \"+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n=\"\",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if(\"string\"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||\"\").replace(te,ne),\"~=\"===e[2]&&(e[3]=\" \"+e[3]+\" \"),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),\"nth\"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*(\"even\"===e[3]||\"odd\"===e[3])),e[5]=+(e[7]+e[8]||\"odd\"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(\")\",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return\"*\"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+\" \"];return t||(t=new RegExp(\"(^|\"+M+\")\"+e+\"(\"+M+\"|$)\"))&&m(e,function(e){return t.test(\"string\"==typeof e.className&&e.className||\"undefined\"!=typeof e.getAttribute&&e.getAttribute(\"class\")||\"\")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?\"!=\"===r:!r||(t+=\"\",\"=\"===r?t===i:\"!=\"===r?t!==i:\"^=\"===r?i&&0===t.indexOf(i):\"*=\"===r?i&&-1<t.indexOf(i):\"$=\"===r?i&&t.slice(-i.length)===i:\"~=\"===r?-1<(\" \"+t.replace(B,\" \")+\" \").indexOf(i):\"|=\"===r&&(t===i||t.slice(0,i.length+1)===i+\"-\"))}},CHILD:function(h,e,t,g,v){var y=\"nth\"!==h.slice(0,3),m=\"last\"!==h.slice(-4),x=\"of-type\"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?\"nextSibling\":\"previousSibling\",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l=\"only\"===h&&!u&&\"nextSibling\"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error(\"unsupported pseudo: \"+e);return a[S]?a(o):1<a.length?(t=[e,e,\"\",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,\"$1\"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||\"\")||se.error(\"unsupported lang: \"+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute(\"xml:lang\")||e.getAttribute(\"lang\"))return(t=t.toLowerCase())===n||0===t.indexOf(n+\"-\")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&!!e.checked||\"option\"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&\"button\"===e.type||\"button\"===t},text:function(e){var t;return\"input\"===e.nodeName.toLowerCase()&&\"text\"===e.type&&(null==(t=e.getAttribute(\"type\"))||\"text\"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r=\"\";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&\"parentNode\"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||\"*\",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[\" \"],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:\" \"===e[s-2].type?\"*\":\"\"})).replace($,\"$1\"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+\" \"];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($,\" \")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+\" \"];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l=\"0\",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG(\"*\",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l=\"function\"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&\"ID\"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split(\"\").sort(D).join(\"\")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement(\"fieldset\"))}),ce(function(e){return e.innerHTML=\"<a href='#'></a>\",\"#\"===e.firstChild.getAttribute(\"href\")})||fe(\"type|href|height|width\",function(e,t,n){if(!n)return e.getAttribute(t,\"type\"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML=\"<input/>\",e.firstChild.setAttribute(\"value\",\"\"),\"\"===e.firstChild.getAttribute(\"value\")})||fe(\"value\",function(e,t,n){if(!n&&\"input\"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute(\"disabled\")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[\":\"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):\"string\"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=\":not(\"+e+\")\"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if(\"string\"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,\"string\"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var j,q=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,\"string\"==typeof e){if(!(r=\"<\"===e[0]&&\">\"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a=\"string\"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?\"string\"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,\"parentNode\")},parentsUntil:function(e,t,n){return h(e,\"parentNode\",n)},next:function(e){return O(e,\"nextSibling\")},prev:function(e){return O(e,\"previousSibling\")},nextAll:function(e){return h(e,\"nextSibling\")},prevAll:function(e){return h(e,\"previousSibling\")},nextUntil:function(e,t,n){return h(e,\"nextSibling\",n)},prevUntil:function(e,t,n){return h(e,\"previousSibling\",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,\"template\")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return\"Until\"!==r.slice(-5)&&(t=e),t&&\"string\"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\\x20\\t\\r\\n\\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r=\"string\"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:\"\")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&\"string\"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t=\"\",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=\"\"),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[[\"notify\",\"progress\",S.Callbacks(\"memory\"),S.Callbacks(\"memory\"),2],[\"resolve\",\"done\",S.Callbacks(\"once memory\"),S.Callbacks(\"once memory\"),0,\"resolved\"],[\"reject\",\"fail\",S.Callbacks(\"once memory\"),S.Callbacks(\"once memory\"),1,\"rejected\"]],i=\"pending\",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},\"catch\":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+\"With\"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError(\"Thenable self-resolution\");t=e&&(\"object\"==typeof e||\"function\"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+\"With\"](this===s?void 0:this,arguments),this},s[t[0]+\"With\"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),\"pending\"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn(\"jQuery.Deferred exception: \"+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener(\"DOMContentLoaded\",B),C.removeEventListener(\"load\",B),S.ready()}S.fn.ready=function(e){return F.then(e)[\"catch\"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,\"complete\"===E.readyState||\"loading\"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener(\"DOMContentLoaded\",B),C.addEventListener(\"load\",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if(\"object\"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,\"ms-\").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if(\"string\"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&\"string\"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r=\"data-\"+t.replace(K,\"-$&\").toLowerCase(),\"string\"==typeof(n=e.getAttribute(r))){try{n=\"true\"===(i=n)||\"false\"!==i&&(\"null\"===i?null:i===+i+\"\"?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,\"hasDataAttrs\"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf(\"data-\")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,\"hasDataAttrs\",!0)}return i}return\"object\"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||\"fx\")+\"queue\",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||\"fx\";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);\"inprogress\"===i&&(i=n.shift(),r--),i&&(\"fx\"===t&&n.unshift(\"inprogress\"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+\"queueHooks\";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks(\"once memory\").add(function(){Y.remove(e,[t+\"queue\",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return\"string\"!=typeof t&&(n=t,t=\"fx\",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),\"fx\"===t&&\"inprogress\"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||\"fx\",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};\"string\"!=typeof e&&(t=e,e=void 0),e=e||\"fx\";while(a--)(n=Y.get(o[a],e+\"queueHooks\"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source,te=new RegExp(\"^(?:([+-])=|)(\"+ee+\")([a-z%]*)$\",\"i\"),ne=[\"Top\",\"Right\",\"Bottom\",\"Left\"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return\"none\"===(e=t||e).style.display||\"\"===e.style.display&&ie(e)&&\"none\"===S.css(e,\"display\")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,\"\")},u=s(),l=n&&n[3]||(S.cssNumber[t]?\"\":\"px\"),c=e.nodeType&&(S.cssNumber[t]||\"px\"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?(\"none\"===n&&(l[c]=Y.get(r,\"display\")||null,l[c]||(r.style.display=\"\")),\"\"===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,\"display\"),o.parentNode.removeChild(o),\"none\"===u&&(u=\"block\"),ue[s]=u)))):\"none\"!==n&&(l[c]=\"none\",Y.set(r,\"display\",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return\"boolean\"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)/i,he=/^$|^module$|\\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement(\"div\")),(fe=E.createElement(\"input\")).setAttribute(\"type\",\"radio\"),fe.setAttribute(\"checked\",\"checked\"),fe.setAttribute(\"name\",\"t\"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML=\"<textarea>x</textarea>\",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML=\"<option></option>\",y.option=!!ce.lastChild;var ge={thead:[1,\"<table>\",\"</table>\"],col:[2,\"<table><colgroup>\",\"</colgroup></table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],_default:[0,\"\",\"\"]};function ve(e,t){var n;return n=\"undefined\"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||\"*\"):\"undefined\"!=typeof e.querySelectorAll?e.querySelectorAll(t||\"*\"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],\"globalEval\",!t||Y.get(t[n],\"globalEval\"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,\"<select multiple='multiple'>\",\"</select>\"]);var me=/<|&#?\\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if(\"object\"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement(\"div\")),s=(de.exec(o)||[\"\",\"\"])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=\"\"}else p.push(t.createTextNode(o));f.textContent=\"\",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),\"script\"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||\"\")&&n.push(o)}return f}var be=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\\.(.+)|)/;function Ce(){return!0}function Ee(){return!1}function Se(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==(\"focus\"===t)}function ke(e,t,n,r,i,o){var a,s;if(\"object\"==typeof t){for(s in\"string\"!=typeof n&&(r=r||n,n=void 0),t)ke(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&(\"string\"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ee;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Ae(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,Ce)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return\"undefined\"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||\"\").match(P)||[\"\"]).length;while(l--)d=g=(s=Te.exec(e[l])||[])[1],h=(s[2]||\"\").split(\".\").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(\".\")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||\"\").match(P)||[\"\"]).length;while(l--)if(d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||\"\").split(\".\").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&(\"**\"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,\"handle events\")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,\"events\")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!(\"click\"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&(\"click\"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+\" \"]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,\"input\")&&Ae(t,\"click\",Ce),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,\"input\")&&Ae(t,\"click\"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,\"input\")&&Y.get(t,\"click\")||A(t,\"a\")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Ee,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Ee,isPropagationStopped:Ee,isImmediatePropagationStopped:Ee,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,\"char\":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&we.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},S.event.addProp),S.each({focus:\"focusin\",blur:\"focusout\"},function(e,t){S.event.special[e]={setup:function(){return Ae(this,e,Se),!1},trigger:function(){return Ae(this,e),!0},delegateType:t}}),S.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\",pointerenter:\"pointerover\",pointerleave:\"pointerout\"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return ke(this,e,t,n,r)},one:function(e,t,n,r){return ke(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+\".\"+r.namespace:r.origType,r.selector,r.handler),this;if(\"object\"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&\"function\"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ee),this.each(function(){S.event.remove(this,e,n,t)})}});var Ne=/<script|<style|<link/i,De=/checked\\s*(?:[^=]|=\\s*.checked.)/i,je=/^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g;function qe(e,t){return A(e,\"table\")&&A(11!==t.nodeType?t:t.firstChild,\"tr\")&&S(e).children(\"tbody\")[0]||e}function Le(e){return e.type=(null!==e.getAttribute(\"type\"))+\"/\"+e.type,e}function He(e){return\"true/\"===(e.type||\"\").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute(\"type\"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,\"handle events\"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function Pe(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&\"string\"==typeof d&&!y.checkClone&&De.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Pe(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,\"script\"),Le)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,\"script\"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,He),c=0;c<s;c++)u=a[c],he.test(u.type||\"\")&&!Y.access(u,\"globalEval\")&&S.contains(l,u)&&(u.src&&\"module\"!==(u.type||\"\").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute(\"nonce\")},l):b(u.textContent.replace(je,\"\"),u,l))}return n}function Re(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,\"script\")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,\"input\"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:\"input\"!==l&&\"textarea\"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,c);return 0<(a=ve(c,\"script\")).length&&ye(a,!f&&ve(e,\"script\")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent=\"\");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if(\"string\"==typeof e&&!Ne.test(e)&&!ge[(de.exec(e)||[\"\",\"\"])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Me=new RegExp(\"^(\"+ee+\")(?!px)[a-z%]+$\",\"i\"),Ie=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},We=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Fe=new RegExp(ne.join(\"|\"),\"i\");function Be(e,t,n){var r,i,o,a,s=e.style;return(n=n||Ie(e))&&(\"\"!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Me.test(a)&&Fe.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+\"\":a}function $e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText=\"position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0\",l.style.cssText=\"position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%\",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n=\"1%\"!==e.top,s=12===t(e.marginLeft),l.style.right=\"60%\",o=36===t(e.right),r=36===t(e.width),l.style.position=\"absolute\",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement(\"div\"),l=E.createElement(\"div\");l.style&&(l.style.backgroundClip=\"content-box\",l.cloneNode(!0).style.backgroundClip=\"\",y.clearCloneStyle=\"content-box\"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement(\"table\"),t=E.createElement(\"tr\"),n=E.createElement(\"div\"),e.style.cssText=\"position:absolute;left:-11111px\",t.style.height=\"1px\",n.style.height=\"9px\",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var _e=[\"Webkit\",\"Moz\",\"ms\"],ze=E.createElement(\"div\").style,Ue={};function Xe(e){var t=S.cssProps[e]||Ue[e];return t||(e in ze?e:Ue[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=_e.length;while(n--)if((e=_e[n]+t)in ze)return e}(e)||e)}var Ve=/^(none|table(?!-c[ea]).+)/,Ge=/^--/,Ye={position:\"absolute\",visibility:\"hidden\",display:\"block\"},Qe={letterSpacing:\"0\",fontWeight:\"400\"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||\"px\"):t}function Ke(e,t,n,r,i,o){var a=\"width\"===t?1:0,s=0,u=0;if(n===(r?\"border\":\"content\"))return 0;for(;a<4;a+=2)\"margin\"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?(\"content\"===n&&(u-=S.css(e,\"padding\"+ne[a],!0,i)),\"margin\"!==n&&(u-=S.css(e,\"border\"+ne[a]+\"Width\",!0,i))):(u+=S.css(e,\"padding\"+ne[a],!0,i),\"padding\"!==n?u+=S.css(e,\"border\"+ne[a]+\"Width\",!0,i):s+=S.css(e,\"border\"+ne[a]+\"Width\",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e[\"offset\"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Ie(e),i=(!y.boxSizingReliable()||n)&&\"border-box\"===S.css(e,\"boxSizing\",!1,r),o=i,a=Be(e,t,r),s=\"offset\"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a=\"auto\"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,\"tr\")||\"auto\"===a||!parseFloat(a)&&\"inline\"===S.css(e,\"display\",!1,r))&&e.getClientRects().length&&(i=\"border-box\"===S.css(e,\"boxSizing\",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?\"border\":\"content\"),o,r,a)+\"px\"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,\"opacity\");return\"\"===n?\"1\":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Ge.test(t),l=e.style;if(u||(t=Xe(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&\"get\"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];\"string\"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o=\"number\"),null!=n&&n==n&&(\"number\"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?\"\":\"px\")),y.clearCloneStyle||\"\"!==n||0!==t.indexOf(\"background\")||(l[t]=\"inherit\"),a&&\"set\"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Ge.test(t)||(t=Xe(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&\"get\"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),\"normal\"===i&&t in Qe&&(i=Qe[t]),\"\"===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each([\"height\",\"width\"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ve.test(S.css(e,\"display\"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):We(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Ie(e),o=!y.scrollboxSize()&&\"absolute\"===i.position,a=(o||n)&&\"border-box\"===S.css(e,\"boxSizing\",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e[\"offset\"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,\"border\",!1,i)-.5)),s&&(r=te.exec(t))&&\"px\"!==(r[3]||\"px\")&&(e.style[u]=t,t=S.css(e,u)),Je(0,t,s)}}}),S.cssHooks.marginLeft=$e(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,\"marginLeft\"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+\"px\"}),S.each({margin:\"\",padding:\"\",border:\"Width\"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r=\"string\"==typeof e?e.split(\" \"):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},\"margin\"!==i&&(S.cssHooks[i+o].set=Je)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Ie(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?\"\":\"px\")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,\"\"))&&\"auto\"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[Xe(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:\"swing\"},S.fx=et.prototype.init,S.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,S.fx.interval),S.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i[\"margin\"+(n=ne[r])]=i[\"padding\"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners[\"*\"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&\"expand\"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(ft,{tweeners:{\"*\":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=[\"*\"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f=\"width\"in t||\"height\"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,\"fxshow\");for(r in n.queue||(null==(a=S._queueHooks(e,\"fx\")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,\"fx\").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||\"toggle\"===i,i===(g?\"hide\":\"show\")){if(\"show\"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,\"display\")),\"none\"===(c=S.css(e,\"display\"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,\"display\"),le([e]))),(\"inline\"===c||\"inline-block\"===c&&null!=l)&&\"none\"===S.css(e,\"float\")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l=\"none\"===c?\"\":c)),h.display=\"inline-block\")),n.overflow&&(h.overflow=\"hidden\",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?\"hidden\"in v&&(g=v.hidden):v=Y.access(e,\"fxshow\",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,\"fxshow\"),d)S.style(e,r,d[r])})),u=ct(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&\"object\"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:\"number\"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue=\"fx\"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css(\"opacity\",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=ft(this,S.extend({},t),o);(i||Y.get(this,\"finish\"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return\"string\"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||\"fx\",[]),this.each(function(){var e=!0,t=null!=i&&i+\"queueHooks\",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||\"fx\"),this.each(function(){var e,t=Y.get(this),n=t[a+\"queue\"],r=t[a+\"queueHooks\"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each([\"toggle\",\"show\",\"hide\"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||\"boolean\"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),S.each({slideDown:lt(\"show\"),slideUp:lt(\"hide\"),slideToggle:lt(\"toggle\"),fadeIn:{opacity:\"show\"},fadeOut:{opacity:\"hide\"},fadeToggle:{opacity:\"toggle\"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),tt=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){nt||(nt=!0,st())},S.fx.stop=function(){nt=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||\"fx\",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=E.createElement(\"input\"),it=E.createElement(\"select\").appendChild(E.createElement(\"option\")),rt.type=\"checkbox\",y.checkOn=\"\"!==rt.value,y.optSelected=it.selected,(rt=E.createElement(\"input\")).value=\"t\",rt.type=\"radio\",y.radioValue=\"t\"===rt.value;var pt,dt=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return\"undefined\"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+\"\"),n):i&&\"get\"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&\"radio\"===t&&A(e,\"input\")){var n=e.value;return e.setAttribute(\"type\",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\\w+/g),function(e,t){var a=dt[t]||S.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function vt(e){return(e.match(P)||[]).join(\" \")}function yt(e){return e.getAttribute&&e.getAttribute(\"class\")||\"\"}function mt(e){return Array.isArray(e)?e:\"string\"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&\"get\"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,\"tabindex\");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{\"for\":\"htmlFor\",\"class\":\"className\"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,yt(this)))});if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&\" \"+vt(i)+\" \"){a=0;while(o=e[a++])r.indexOf(\" \"+o+\" \")<0&&(r+=o+\" \");i!==(s=vt(r))&&n.setAttribute(\"class\",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,yt(this)))});if(!arguments.length)return this.attr(\"class\",\"\");if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&\" \"+vt(i)+\" \"){a=0;while(o=e[a++])while(-1<r.indexOf(\" \"+o+\" \"))r=r.replace(\" \"+o+\" \",\" \");i!==(s=vt(r))&&n.setAttribute(\"class\",s)}return this},toggleClass:function(i,t){var o=typeof i,a=\"string\"===o||Array.isArray(i);return\"boolean\"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,yt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=mt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&\"boolean\"!==o||((e=yt(this))&&Y.set(this,\"__className__\",e),this.setAttribute&&this.setAttribute(\"class\",e||!1===i?\"\":Y.get(this,\"__className__\")||\"\"))})},hasClass:function(e){var t,n,r=0;t=\" \"+e+\" \";while(n=this[r++])if(1===n.nodeType&&-1<(\" \"+vt(yt(n))+\" \").indexOf(t))return!0;return!1}});var xt=/\\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t=\"\":\"number\"==typeof t?t+=\"\":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?\"\":e+\"\"})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&\"set\"in r&&void 0!==r.set(this,t,\"value\")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&\"get\"in r&&void 0!==(e=r.get(t,\"value\"))?e:\"string\"==typeof(e=t.value)?e.replace(xt,\"\"):null==e?\"\":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,\"value\");return null!=t?t:vt(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a=\"select-one\"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,\"optgroup\"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each([\"radio\",\"checkbox\"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute(\"value\")?\"on\":e.value})}),y.focusin=\"onfocusin\"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,\"type\")?e.type:e,h=v.call(e,\"namespace\")?e.namespace.split(\".\"):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+S.event.triggered)&&(-1<d.indexOf(\".\")&&(d=(h=d.split(\".\")).shift(),h.sort()),u=d.indexOf(\":\")<0&&\"on\"+d,(e=e[S.expando]?e:new S.Event(d,\"object\"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join(\".\"),e.rnamespace=e.namespace?new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,\"events\")||Object.create(null))[e.type]&&Y.get(o,\"handle\"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:\"focusin\",blur:\"focusout\"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},Et=/\\?/;S.parseXML=function(e){var t;if(!e||\"string\"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,\"text/xml\")}catch(e){t=void 0}return t&&!t.getElementsByTagName(\"parsererror\").length||S.error(\"Invalid XML: \"+e),t};var St=/\\[\\]$/,kt=/\\r?\\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function Dt(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||St.test(n)?i(n,t):Dt(n+\"[\"+(\"object\"==typeof t&&null!=t?e:\"\")+\"]\",t,r,i)});else if(r||\"object\"!==w(e))i(n,e);else for(t in e)Dt(n+\"[\"+t+\"]\",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+\"=\"+encodeURIComponent(null==n?\"\":n)};if(null==e)return\"\";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)Dt(n,e[n],t,i);return r.join(\"&\")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,\"elements\");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(\":disabled\")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(kt,\"\\r\\n\")}}):{name:t.name,value:n.replace(kt,\"\\r\\n\")}}).get()}});var jt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \\t]*([^\\r\\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\\/\\//,Rt={},Mt={},It=\"*/\".concat(\"*\"),Wt=E.createElement(\"a\");function Ft(o){return function(e,t){\"string\"!=typeof e&&(t=e,e=\"*\");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])\"+\"===n[0]?(n=n.slice(1)||\"*\",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Bt(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return\"string\"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s[\"*\"]&&l(\"*\")}function $t(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Wt.href=Tt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:\"GET\",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",accepts:{\"*\":It,text:\"text/plain\",html:\"text/html\",xml:\"application/xml, text/xml\",json:\"application/json, text/javascript\"},contents:{xml:/\\bxml\\b/,html:/\\bhtml/,json:/\\bjson\\b/},responseFields:{xml:\"responseXML\",text:\"responseText\",json:\"responseJSON\"},converters:{\"* text\":String,\"text html\":!0,\"text json\":JSON.parse,\"text xml\":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?$t($t(e,S.ajaxSettings),t):$t(S.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){\"object\"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks(\"once memory\"),w=v.statusCode||{},a={},s={},u=\"canceled\",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+\" \"]=(n[t[1].toLowerCase()+\" \"]||[]).concat(t[2])}t=n[e.toLowerCase()+\" \"]}return null==t?null:t.join(\", \")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Tt.href)+\"\").replace(Pt,Tt.protocol+\"//\"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||\"*\").toLowerCase().match(P)||[\"\"],null==v.crossDomain){r=E.createElement(\"a\");try{r.href=v.url,r.href=r.href,v.crossDomain=Wt.protocol+\"//\"+Wt.host!=r.protocol+\"//\"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&\"string\"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Bt(Rt,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger(\"ajaxStart\"),v.type=v.type.toUpperCase(),v.hasContent=!Ot.test(v.type),f=v.url.replace(qt,\"\"),v.hasContent?v.data&&v.processData&&0===(v.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&(v.data=v.data.replace(jt,\"+\")):(o=v.url.slice(f.length),v.data&&(v.processData||\"string\"==typeof v.data)&&(f+=(Et.test(f)?\"&\":\"?\")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Lt,\"$1\"),o=(Et.test(f)?\"&\":\"?\")+\"_=\"+Ct.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader(\"If-Modified-Since\",S.lastModified[f]),S.etag[f]&&T.setRequestHeader(\"If-None-Match\",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader(\"Content-Type\",v.contentType),T.setRequestHeader(\"Accept\",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+(\"*\"!==v.dataTypes[0]?\", \"+It+\"; q=0.01\":\"\"):v.accepts[\"*\"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u=\"abort\",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Bt(Mt,v,t,T)){if(T.readyState=1,g&&m.trigger(\"ajaxSend\",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort(\"timeout\")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,\"No Transport\");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||\"\",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while(\"*\"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader(\"Content-Type\"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+\" \"+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray(\"script\",v.dataTypes)&&(v.converters[\"text script\"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if(\"*\"===o)o=u;else if(\"*\"!==u&&u!==o){if(!(a=l[u+\" \"+o]||l[\"* \"+o]))for(i in l)if((s=i.split(\" \"))[1]===o&&(a=l[u+\" \"+s[0]]||l[\"* \"+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e[\"throws\"])t=a(t);else try{t=a(t)}catch(e){return{state:\"parsererror\",error:a?e:\"No conversion from \"+u+\" to \"+o}}}return{state:\"success\",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader(\"Last-Modified\"))&&(S.lastModified[f]=u),(u=T.getResponseHeader(\"etag\"))&&(S.etag[f]=u)),204===e||\"HEAD\"===v.type?l=\"nocontent\":304===e?l=\"notmodified\":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l=\"error\",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+\"\",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?\"ajaxSuccess\":\"ajaxError\",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger(\"ajaxComplete\",[T,v]),--S.active||S.event.trigger(\"ajaxStop\")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,\"json\")},getScript:function(e,t){return S.get(e,void 0,t,\"script\")}}),S.each([\"get\",\"post\"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)\"content-type\"===t.toLowerCase()&&(e.contentType=e.headers[t]||\"\")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:\"GET\",dataType:\"script\",cache:!0,async:!1,global:!1,converters:{\"text script\":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not(\"body\").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=S.ajaxSettings.xhr();y.cors=!!zt&&\"withCredentials\"in zt,y.ajax=zt=!!zt,S.ajaxTransport(function(i){var o,a;if(y.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e[\"X-Requested-With\"]||(e[\"X-Requested-With\"]=\"XMLHttpRequest\"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,\"abort\"===e?r.abort():\"error\"===e?\"number\"!=typeof r.status?t(0,\"error\"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,\"text\"!==(r.responseType||\"text\")||\"string\"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o(\"error\"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o(\"abort\");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/\\b(?:java|ecma)script\\b/},converters:{\"text script\":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter(\"script\",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type=\"GET\")}),S.ajaxTransport(\"script\",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S(\"<script>\").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on(\"load error\",i=function(e){r.remove(),i=null,e&&t(\"error\"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\\?(?=&|$)|\\?\\?/;S.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var e=Xt.pop()||S.expando+\"_\"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter(\"json jsonp\",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?\"url\":\"string\"==typeof e.data&&0===(e.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&Vt.test(e.data)&&\"data\");if(a||\"jsonp\"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,\"$1\"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?\"&\":\"?\")+e.jsonp+\"=\"+r),e.converters[\"script json\"]=function(){return o||S.error(r+\" was not called\"),o[0]},e.dataTypes[0]=\"json\",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),\"script\"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument(\"\").body).innerHTML=\"<form></form><form></form>\",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return\"string\"!=typeof e?[]:(\"boolean\"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument(\"\")).createElement(\"base\")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(\" \");return-1<s&&(r=vt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&\"object\"==typeof t&&(i=\"POST\"),0<a.length&&S.ajax({url:e,type:i||\"GET\",dataType:\"html\",data:t}).done(function(e){o=arguments,a.html(r?S(\"<div>\").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,\"position\"),c=S(e),f={};\"static\"===l&&(e.style.position=\"relative\"),s=c.offset(),o=S.css(e,\"top\"),u=S.css(e,\"left\"),(\"absolute\"===l||\"fixed\"===l)&&-1<(o+u).indexOf(\"auto\")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),\"using\"in t?t.using.call(e,f):(\"number\"==typeof f.top&&(f.top+=\"px\"),\"number\"==typeof f.left&&(f.left+=\"px\"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if(\"fixed\"===S.css(r,\"position\"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&\"static\"===S.css(e,\"position\"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,\"borderTopWidth\",!0),i.left+=S.css(e,\"borderLeftWidth\",!0))}return{top:t.top-i.top-S.css(r,\"marginTop\",!0),left:t.left-i.left-S.css(r,\"marginLeft\",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&\"static\"===S.css(e,\"position\"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(t,i){var o=\"pageYOffset\"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each([\"top\",\"left\"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+\"px\":t})}),S.each({Height:\"height\",Width:\"width\"},function(a,s){S.each({padding:\"inner\"+a,content:s,\"\":\"outer\"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||\"boolean\"!=typeof e),i=r||(!0===e||!0===t?\"margin\":\"border\");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf(\"outer\")?e[\"inner\"+a]:e.document.documentElement[\"client\"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body[\"scroll\"+a],r[\"scroll\"+a],e.body[\"offset\"+a],r[\"offset\"+a],r[\"client\"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each([\"ajaxStart\",\"ajaxStop\",\"ajaxComplete\",\"ajaxError\",\"ajaxSuccess\",\"ajaxSend\"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,\"**\"):this.off(t,e||\"**\",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each(\"blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu\".split(\" \"),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if(\"string\"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return(\"number\"===t||\"string\"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?\"\":(e+\"\").replace(Gt,\"\")},\"function\"==typeof define&&define.amd&&define(\"jquery\",[],function(){return S});var Yt=C.jQuery,Qt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Qt),e&&C.jQuery===S&&(C.jQuery=Yt),S},\"undefined\"==typeof e&&(C.jQuery=C.$=S),S});\n\n/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under the MIT license\n */\nif(\"undefined\"==typeof jQuery)throw new Error(\"Bootstrap's JavaScript requires jQuery\");!function(t){\"use strict\";var e=jQuery.fn.jquery.split(\" \")[0].split(\".\");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||3<e[0])throw new Error(\"Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4\")}(),function(n){\"use strict\";n.fn.emulateTransitionEnd=function(t){var e=!1,i=this;n(this).one(\"bsTransitionEnd\",function(){e=!0});return setTimeout(function(){e||n(i).trigger(n.support.transition.end)},t),this},n(function(){n.support.transition=function o(){var t=document.createElement(\"bootstrap\"),e={WebkitTransition:\"webkitTransitionEnd\",MozTransition:\"transitionend\",OTransition:\"oTransitionEnd otransitionend\",transition:\"transitionend\"};for(var i in e)if(t.style[i]!==undefined)return{end:e[i]};return!1}(),n.support.transition&&(n.event.special.bsTransitionEnd={bindType:n.support.transition.end,delegateType:n.support.transition.end,handle:function(t){if(n(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}})})}(jQuery),function(s){\"use strict\";var e='[data-dismiss=\"alert\"]',a=function(t){s(t).on(\"click\",e,this.close)};a.VERSION=\"3.4.1\",a.TRANSITION_DURATION=150,a.prototype.close=function(t){var e=s(this),i=e.attr(\"data-target\");i||(i=(i=e.attr(\"href\"))&&i.replace(/.*(?=#[^\\s]*$)/,\"\")),i=\"#\"===i?[]:i;var o=s(document).find(i);function n(){o.detach().trigger(\"closed.bs.alert\").remove()}t&&t.preventDefault(),o.length||(o=e.closest(\".alert\")),o.trigger(t=s.Event(\"close.bs.alert\")),t.isDefaultPrevented()||(o.removeClass(\"in\"),s.support.transition&&o.hasClass(\"fade\")?o.one(\"bsTransitionEnd\",n).emulateTransitionEnd(a.TRANSITION_DURATION):n())};var t=s.fn.alert;s.fn.alert=function o(i){return this.each(function(){var t=s(this),e=t.data(\"bs.alert\");e||t.data(\"bs.alert\",e=new a(this)),\"string\"==typeof i&&e[i].call(t)})},s.fn.alert.Constructor=a,s.fn.alert.noConflict=function(){return s.fn.alert=t,this},s(document).on(\"click.bs.alert.data-api\",e,a.prototype.close)}(jQuery),function(s){\"use strict\";var n=function(t,e){this.$element=s(t),this.options=s.extend({},n.DEFAULTS,e),this.isLoading=!1};function i(o){return this.each(function(){var t=s(this),e=t.data(\"bs.button\"),i=\"object\"==typeof o&&o;e||t.data(\"bs.button\",e=new n(this,i)),\"toggle\"==o?e.toggle():o&&e.setState(o)})}n.VERSION=\"3.4.1\",n.DEFAULTS={loadingText:\"loading...\"},n.prototype.setState=function(t){var e=\"disabled\",i=this.$element,o=i.is(\"input\")?\"val\":\"html\",n=i.data();t+=\"Text\",null==n.resetText&&i.data(\"resetText\",i[o]()),setTimeout(s.proxy(function(){i[o](null==n[t]?this.options[t]:n[t]),\"loadingText\"==t?(this.isLoading=!0,i.addClass(e).attr(e,e).prop(e,!0)):this.isLoading&&(this.isLoading=!1,i.removeClass(e).removeAttr(e).prop(e,!1))},this),0)},n.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle=\"buttons\"]');if(e.length){var i=this.$element.find(\"input\");\"radio\"==i.prop(\"type\")?(i.prop(\"checked\")&&(t=!1),e.find(\".active\").removeClass(\"active\"),this.$element.addClass(\"active\")):\"checkbox\"==i.prop(\"type\")&&(i.prop(\"checked\")!==this.$element.hasClass(\"active\")&&(t=!1),this.$element.toggleClass(\"active\")),i.prop(\"checked\",this.$element.hasClass(\"active\")),t&&i.trigger(\"change\")}else this.$element.attr(\"aria-pressed\",!this.$element.hasClass(\"active\")),this.$element.toggleClass(\"active\")};var t=s.fn.button;s.fn.button=i,s.fn.button.Constructor=n,s.fn.button.noConflict=function(){return s.fn.button=t,this},s(document).on(\"click.bs.button.data-api\",'[data-toggle^=\"button\"]',function(t){var e=s(t.target).closest(\".btn\");i.call(e,\"toggle\"),s(t.target).is('input[type=\"radio\"], input[type=\"checkbox\"]')||(t.preventDefault(),e.is(\"input,button\")?e.trigger(\"focus\"):e.find(\"input:visible,button:visible\").first().trigger(\"focus\"))}).on(\"focus.bs.button.data-api blur.bs.button.data-api\",'[data-toggle^=\"button\"]',function(t){s(t.target).closest(\".btn\").toggleClass(\"focus\",/^focus(in)?$/.test(t.type))})}(jQuery),function(p){\"use strict\";var c=function(t,e){this.$element=p(t),this.$indicators=this.$element.find(\".carousel-indicators\"),this.options=e,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on(\"keydown.bs.carousel\",p.proxy(this.keydown,this)),\"hover\"==this.options.pause&&!(\"ontouchstart\"in document.documentElement)&&this.$element.on(\"mouseenter.bs.carousel\",p.proxy(this.pause,this)).on(\"mouseleave.bs.carousel\",p.proxy(this.cycle,this))};function r(n){return this.each(function(){var t=p(this),e=t.data(\"bs.carousel\"),i=p.extend({},c.DEFAULTS,t.data(),\"object\"==typeof n&&n),o=\"string\"==typeof n?n:i.slide;e||t.data(\"bs.carousel\",e=new c(this,i)),\"number\"==typeof n?e.to(n):o?e[o]():i.interval&&e.pause().cycle()})}c.VERSION=\"3.4.1\",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:\"hover\",wrap:!0,keyboard:!0},c.prototype.keydown=function(t){if(!/input|textarea/i.test(t.target.tagName)){switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}t.preventDefault()}},c.prototype.cycle=function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(p.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(t){return this.$items=t.parent().children(\".item\"),this.$items.index(t||this.$active)},c.prototype.getItemForDirection=function(t,e){var i=this.getItemIndex(e);if((\"prev\"==t&&0===i||\"next\"==t&&i==this.$items.length-1)&&!this.options.wrap)return e;var o=(i+(\"prev\"==t?-1:1))%this.$items.length;return this.$items.eq(o)},c.prototype.to=function(t){var e=this,i=this.getItemIndex(this.$active=this.$element.find(\".item.active\"));if(!(t>this.$items.length-1||t<0))return this.sliding?this.$element.one(\"slid.bs.carousel\",function(){e.to(t)}):i==t?this.pause().cycle():this.slide(i<t?\"next\":\"prev\",this.$items.eq(t))},c.prototype.pause=function(t){return t||(this.paused=!0),this.$element.find(\".next, .prev\").length&&p.support.transition&&(this.$element.trigger(p.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide(\"next\")},c.prototype.prev=function(){if(!this.sliding)return this.slide(\"prev\")},c.prototype.slide=function(t,e){var i=this.$element.find(\".item.active\"),o=e||this.getItemForDirection(t,i),n=this.interval,s=\"next\"==t?\"left\":\"right\",a=this;if(o.hasClass(\"active\"))return this.sliding=!1;var r=o[0],l=p.Event(\"slide.bs.carousel\",{relatedTarget:r,direction:s});if(this.$element.trigger(l),!l.isDefaultPrevented()){if(this.sliding=!0,n&&this.pause(),this.$indicators.length){this.$indicators.find(\".active\").removeClass(\"active\");var h=p(this.$indicators.children()[this.getItemIndex(o)]);h&&h.addClass(\"active\")}var d=p.Event(\"slid.bs.carousel\",{relatedTarget:r,direction:s});return p.support.transition&&this.$element.hasClass(\"slide\")?(o.addClass(t),\"object\"==typeof o&&o.length&&o[0].offsetWidth,i.addClass(s),o.addClass(s),i.one(\"bsTransitionEnd\",function(){o.removeClass([t,s].join(\" \")).addClass(\"active\"),i.removeClass([\"active\",s].join(\" \")),a.sliding=!1,setTimeout(function(){a.$element.trigger(d)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(i.removeClass(\"active\"),o.addClass(\"active\"),this.sliding=!1,this.$element.trigger(d)),n&&this.cycle(),this}};var t=p.fn.carousel;p.fn.carousel=r,p.fn.carousel.Constructor=c,p.fn.carousel.noConflict=function(){return p.fn.carousel=t,this};var e=function(t){var e=p(this),i=e.attr(\"href\");i&&(i=i.replace(/.*(?=#[^\\s]+$)/,\"\"));var o=e.attr(\"data-target\")||i,n=p(document).find(o);if(n.hasClass(\"carousel\")){var s=p.extend({},n.data(),e.data()),a=e.attr(\"data-slide-to\");a&&(s.interval=!1),r.call(n,s),a&&n.data(\"bs.carousel\").to(a),t.preventDefault()}};p(document).on(\"click.bs.carousel.data-api\",\"[data-slide]\",e).on(\"click.bs.carousel.data-api\",\"[data-slide-to]\",e),p(window).on(\"load\",function(){p('[data-ride=\"carousel\"]').each(function(){var t=p(this);r.call(t,t.data())})})}(jQuery),function(a){\"use strict\";var r=function(t,e){this.$element=a(t),this.options=a.extend({},r.DEFAULTS,e),this.$trigger=a('[data-toggle=\"collapse\"][href=\"#'+t.id+'\"],[data-toggle=\"collapse\"][data-target=\"#'+t.id+'\"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};function n(t){var e,i=t.attr(\"data-target\")||(e=t.attr(\"href\"))&&e.replace(/.*(?=#[^\\s]+$)/,\"\");return a(document).find(i)}function l(o){return this.each(function(){var t=a(this),e=t.data(\"bs.collapse\"),i=a.extend({},r.DEFAULTS,t.data(),\"object\"==typeof o&&o);!e&&i.toggle&&/show|hide/.test(o)&&(i.toggle=!1),e||t.data(\"bs.collapse\",e=new r(this,i)),\"string\"==typeof o&&e[o]()})}r.VERSION=\"3.4.1\",r.TRANSITION_DURATION=350,r.DEFAULTS={toggle:!0},r.prototype.dimension=function(){return this.$element.hasClass(\"width\")?\"width\":\"height\"},r.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass(\"in\")){var t,e=this.$parent&&this.$parent.children(\".panel\").children(\".in, .collapsing\");if(!(e&&e.length&&(t=e.data(\"bs.collapse\"))&&t.transitioning)){var i=a.Event(\"show.bs.collapse\");if(this.$element.trigger(i),!i.isDefaultPrevented()){e&&e.length&&(l.call(e,\"hide\"),t||e.data(\"bs.collapse\",null));var o=this.dimension();this.$element.removeClass(\"collapse\").addClass(\"collapsing\")[o](0).attr(\"aria-expanded\",!0),this.$trigger.removeClass(\"collapsed\").attr(\"aria-expanded\",!0),this.transitioning=1;var n=function(){this.$element.removeClass(\"collapsing\").addClass(\"collapse in\")[o](\"\"),this.transitioning=0,this.$element.trigger(\"shown.bs.collapse\")};if(!a.support.transition)return n.call(this);var s=a.camelCase([\"scroll\",o].join(\"-\"));this.$element.one(\"bsTransitionEnd\",a.proxy(n,this)).emulateTransitionEnd(r.TRANSITION_DURATION)[o](this.$element[0][s])}}}},r.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass(\"in\")){var t=a.Event(\"hide.bs.collapse\");if(this.$element.trigger(t),!t.isDefaultPrevented()){var e=this.dimension();this.$element[e](this.$element[e]())[0].offsetHeight,this.$element.addClass(\"collapsing\").removeClass(\"collapse in\").attr(\"aria-expanded\",!1),this.$trigger.addClass(\"collapsed\").attr(\"aria-expanded\",!1),this.transitioning=1;var i=function(){this.transitioning=0,this.$element.removeClass(\"collapsing\").addClass(\"collapse\").trigger(\"hidden.bs.collapse\")};if(!a.support.transition)return i.call(this);this.$element[e](0).one(\"bsTransitionEnd\",a.proxy(i,this)).emulateTransitionEnd(r.TRANSITION_DURATION)}}},r.prototype.toggle=function(){this[this.$element.hasClass(\"in\")?\"hide\":\"show\"]()},r.prototype.getParent=function(){return a(document).find(this.options.parent).find('[data-toggle=\"collapse\"][data-parent=\"'+this.options.parent+'\"]').each(a.proxy(function(t,e){var i=a(e);this.addAriaAndCollapsedClass(n(i),i)},this)).end()},r.prototype.addAriaAndCollapsedClass=function(t,e){var i=t.hasClass(\"in\");t.attr(\"aria-expanded\",i),e.toggleClass(\"collapsed\",!i).attr(\"aria-expanded\",i)};var t=a.fn.collapse;a.fn.collapse=l,a.fn.collapse.Constructor=r,a.fn.collapse.noConflict=function(){return a.fn.collapse=t,this},a(document).on(\"click.bs.collapse.data-api\",'[data-toggle=\"collapse\"]',function(t){var e=a(this);e.attr(\"data-target\")||t.preventDefault();var i=n(e),o=i.data(\"bs.collapse\")?\"toggle\":e.data();l.call(i,o)})}(jQuery),function(a){\"use strict\";var r='[data-toggle=\"dropdown\"]',o=function(t){a(t).on(\"click.bs.dropdown\",this.toggle)};function l(t){var e=t.attr(\"data-target\");e||(e=(e=t.attr(\"href\"))&&/#[A-Za-z]/.test(e)&&e.replace(/.*(?=#[^\\s]*$)/,\"\"));var i=\"#\"!==e?a(document).find(e):null;return i&&i.length?i:t.parent()}function s(o){o&&3===o.which||(a(\".dropdown-backdrop\").remove(),a(r).each(function(){var t=a(this),e=l(t),i={relatedTarget:this};e.hasClass(\"open\")&&(o&&\"click\"==o.type&&/input|textarea/i.test(o.target.tagName)&&a.contains(e[0],o.target)||(e.trigger(o=a.Event(\"hide.bs.dropdown\",i)),o.isDefaultPrevented()||(t.attr(\"aria-expanded\",\"false\"),e.removeClass(\"open\").trigger(a.Event(\"hidden.bs.dropdown\",i)))))}))}o.VERSION=\"3.4.1\",o.prototype.toggle=function(t){var e=a(this);if(!e.is(\".disabled, :disabled\")){var i=l(e),o=i.hasClass(\"open\");if(s(),!o){\"ontouchstart\"in document.documentElement&&!i.closest(\".navbar-nav\").length&&a(document.createElement(\"div\")).addClass(\"dropdown-backdrop\").insertAfter(a(this)).on(\"click\",s);var n={relatedTarget:this};if(i.trigger(t=a.Event(\"show.bs.dropdown\",n)),t.isDefaultPrevented())return;e.trigger(\"focus\").attr(\"aria-expanded\",\"true\"),i.toggleClass(\"open\").trigger(a.Event(\"shown.bs.dropdown\",n))}return!1}},o.prototype.keydown=function(t){if(/(38|40|27|32)/.test(t.which)&&!/input|textarea/i.test(t.target.tagName)){var e=a(this);if(t.preventDefault(),t.stopPropagation(),!e.is(\".disabled, :disabled\")){var i=l(e),o=i.hasClass(\"open\");if(!o&&27!=t.which||o&&27==t.which)return 27==t.which&&i.find(r).trigger(\"focus\"),e.trigger(\"click\");var n=i.find(\".dropdown-menu li:not(.disabled):visible a\");if(n.length){var s=n.index(t.target);38==t.which&&0<s&&s--,40==t.which&&s<n.length-1&&s++,~s||(s=0),n.eq(s).trigger(\"focus\")}}}};var t=a.fn.dropdown;a.fn.dropdown=function e(i){return this.each(function(){var t=a(this),e=t.data(\"bs.dropdown\");e||t.data(\"bs.dropdown\",e=new o(this)),\"string\"==typeof i&&e[i].call(t)})},a.fn.dropdown.Constructor=o,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=t,this},a(document).on(\"click.bs.dropdown.data-api\",s).on(\"click.bs.dropdown.data-api\",\".dropdown form\",function(t){t.stopPropagation()}).on(\"click.bs.dropdown.data-api\",r,o.prototype.toggle).on(\"keydown.bs.dropdown.data-api\",r,o.prototype.keydown).on(\"keydown.bs.dropdown.data-api\",\".dropdown-menu\",o.prototype.keydown)}(jQuery),function(a){\"use strict\";var s=function(t,e){this.options=e,this.$body=a(document.body),this.$element=a(t),this.$dialog=this.$element.find(\".modal-dialog\"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.fixedContent=\".navbar-fixed-top, .navbar-fixed-bottom\",this.options.remote&&this.$element.find(\".modal-content\").load(this.options.remote,a.proxy(function(){this.$element.trigger(\"loaded.bs.modal\")},this))};function r(o,n){return this.each(function(){var t=a(this),e=t.data(\"bs.modal\"),i=a.extend({},s.DEFAULTS,t.data(),\"object\"==typeof o&&o);e||t.data(\"bs.modal\",e=new s(this,i)),\"string\"==typeof o?e[o](n):i.show&&e.show(n)})}s.VERSION=\"3.4.1\",s.TRANSITION_DURATION=300,s.BACKDROP_TRANSITION_DURATION=150,s.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},s.prototype.toggle=function(t){return this.isShown?this.hide():this.show(t)},s.prototype.show=function(i){var o=this,t=a.Event(\"show.bs.modal\",{relatedTarget:i});this.$element.trigger(t),this.isShown||t.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass(\"modal-open\"),this.escape(),this.resize(),this.$element.on(\"click.dismiss.bs.modal\",'[data-dismiss=\"modal\"]',a.proxy(this.hide,this)),this.$dialog.on(\"mousedown.dismiss.bs.modal\",function(){o.$element.one(\"mouseup.dismiss.bs.modal\",function(t){a(t.target).is(o.$element)&&(o.ignoreBackdropClick=!0)})}),this.backdrop(function(){var t=a.support.transition&&o.$element.hasClass(\"fade\");o.$element.parent().length||o.$element.appendTo(o.$body),o.$element.show().scrollTop(0),o.adjustDialog(),t&&o.$element[0].offsetWidth,o.$element.addClass(\"in\"),o.enforceFocus();var e=a.Event(\"shown.bs.modal\",{relatedTarget:i});t?o.$dialog.one(\"bsTransitionEnd\",function(){o.$element.trigger(\"focus\").trigger(e)}).emulateTransitionEnd(s.TRANSITION_DURATION):o.$element.trigger(\"focus\").trigger(e)}))},s.prototype.hide=function(t){t&&t.preventDefault(),t=a.Event(\"hide.bs.modal\"),this.$element.trigger(t),this.isShown&&!t.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off(\"focusin.bs.modal\"),this.$element.removeClass(\"in\").off(\"click.dismiss.bs.modal\").off(\"mouseup.dismiss.bs.modal\"),this.$dialog.off(\"mousedown.dismiss.bs.modal\"),a.support.transition&&this.$element.hasClass(\"fade\")?this.$element.one(\"bsTransitionEnd\",a.proxy(this.hideModal,this)).emulateTransitionEnd(s.TRANSITION_DURATION):this.hideModal())},s.prototype.enforceFocus=function(){a(document).off(\"focusin.bs.modal\").on(\"focusin.bs.modal\",a.proxy(function(t){document===t.target||this.$element[0]===t.target||this.$element.has(t.target).length||this.$element.trigger(\"focus\")},this))},s.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on(\"keydown.dismiss.bs.modal\",a.proxy(function(t){27==t.which&&this.hide()},this)):this.isShown||this.$element.off(\"keydown.dismiss.bs.modal\")},s.prototype.resize=function(){this.isShown?a(window).on(\"resize.bs.modal\",a.proxy(this.handleUpdate,this)):a(window).off(\"resize.bs.modal\")},s.prototype.hideModal=function(){var t=this;this.$element.hide(),this.backdrop(function(){t.$body.removeClass(\"modal-open\"),t.resetAdjustments(),t.resetScrollbar(),t.$element.trigger(\"hidden.bs.modal\")})},s.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},s.prototype.backdrop=function(t){var e=this,i=this.$element.hasClass(\"fade\")?\"fade\":\"\";if(this.isShown&&this.options.backdrop){var o=a.support.transition&&i;if(this.$backdrop=a(document.createElement(\"div\")).addClass(\"modal-backdrop \"+i).appendTo(this.$body),this.$element.on(\"click.dismiss.bs.modal\",a.proxy(function(t){this.ignoreBackdropClick?this.ignoreBackdropClick=!1:t.target===t.currentTarget&&(\"static\"==this.options.backdrop?this.$element[0].focus():this.hide())},this)),o&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass(\"in\"),!t)return;o?this.$backdrop.one(\"bsTransitionEnd\",t).emulateTransitionEnd(s.BACKDROP_TRANSITION_DURATION):t()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass(\"in\");var n=function(){e.removeBackdrop(),t&&t()};a.support.transition&&this.$element.hasClass(\"fade\")?this.$backdrop.one(\"bsTransitionEnd\",n).emulateTransitionEnd(s.BACKDROP_TRANSITION_DURATION):n()}else t&&t()},s.prototype.handleUpdate=function(){this.adjustDialog()},s.prototype.adjustDialog=function(){var t=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:\"\",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:\"\"})},s.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:\"\",paddingRight:\"\"})},s.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth<t,this.scrollbarWidth=this.measureScrollbar()},s.prototype.setScrollbar=function(){var t=parseInt(this.$body.css(\"padding-right\")||0,10);this.originalBodyPad=document.body.style.paddingRight||\"\";var n=this.scrollbarWidth;this.bodyIsOverflowing&&(this.$body.css(\"padding-right\",t+n),a(this.fixedContent).each(function(t,e){var i=e.style.paddingRight,o=a(e).css(\"padding-right\");a(e).data(\"padding-right\",i).css(\"padding-right\",parseFloat(o)+n+\"px\")}))},s.prototype.resetScrollbar=function(){this.$body.css(\"padding-right\",this.originalBodyPad),a(this.fixedContent).each(function(t,e){var i=a(e).data(\"padding-right\");a(e).removeData(\"padding-right\"),e.style.paddingRight=i||\"\"})},s.prototype.measureScrollbar=function(){var t=document.createElement(\"div\");t.className=\"modal-scrollbar-measure\",this.$body.append(t);var e=t.offsetWidth-t.clientWidth;return this.$body[0].removeChild(t),e};var t=a.fn.modal;a.fn.modal=r,a.fn.modal.Constructor=s,a.fn.modal.noConflict=function(){return a.fn.modal=t,this},a(document).on(\"click.bs.modal.data-api\",'[data-toggle=\"modal\"]',function(t){var e=a(this),i=e.attr(\"href\"),o=e.attr(\"data-target\")||i&&i.replace(/.*(?=#[^\\s]+$)/,\"\"),n=a(document).find(o),s=n.data(\"bs.modal\")?\"toggle\":a.extend({remote:!/#/.test(i)&&i},n.data(),e.data());e.is(\"a\")&&t.preventDefault(),n.one(\"show.bs.modal\",function(t){t.isDefaultPrevented()||n.one(\"hidden.bs.modal\",function(){e.is(\":visible\")&&e.trigger(\"focus\")})}),r.call(n,s,this)})}(jQuery),function(g){\"use strict\";var o=[\"sanitize\",\"whiteList\",\"sanitizeFn\"],a=[\"background\",\"cite\",\"href\",\"itemtype\",\"longdesc\",\"poster\",\"src\",\"xlink:href\"],t={\"*\":[\"class\",\"dir\",\"id\",\"lang\",\"role\",/^aria-[\\w-]*$/i],a:[\"target\",\"href\",\"title\",\"rel\"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:[\"src\",\"alt\",\"title\",\"width\",\"height\"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},r=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,l=/^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function u(t,e){var i=t.nodeName.toLowerCase();if(-1!==g.inArray(i,e))return-1===g.inArray(i,a)||Boolean(t.nodeValue.match(r)||t.nodeValue.match(l));for(var o=g(e).filter(function(t,e){return e instanceof RegExp}),n=0,s=o.length;n<s;n++)if(i.match(o[n]))return!0;return!1}function n(t,e,i){if(0===t.length)return t;if(i&&\"function\"==typeof i)return i(t);if(!document.implementation||!document.implementation.createHTMLDocument)return t;var o=document.implementation.createHTMLDocument(\"sanitization\");o.body.innerHTML=t;for(var n=g.map(e,function(t,e){return e}),s=g(o.body).find(\"*\"),a=0,r=s.length;a<r;a++){var l=s[a],h=l.nodeName.toLowerCase();if(-1!==g.inArray(h,n))for(var d=g.map(l.attributes,function(t){return t}),p=[].concat(e[\"*\"]||[],e[h]||[]),c=0,f=d.length;c<f;c++)u(d[c],p)||l.removeAttribute(d[c].nodeName);else l.parentNode.removeChild(l)}return o.body.innerHTML}var m=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init(\"tooltip\",t,e)};m.VERSION=\"3.4.1\",m.TRANSITION_DURATION=150,m.DEFAULTS={animation:!0,placement:\"top\",selector:!1,template:'<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',trigger:\"hover focus\",title:\"\",delay:0,html:!1,container:!1,viewport:{selector:\"body\",padding:0},sanitize:!0,sanitizeFn:null,whiteList:t},m.prototype.init=function(t,e,i){if(this.enabled=!0,this.type=t,this.$element=g(e),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&g(document).find(g.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error(\"`selector` option must be specified when initializing \"+this.type+\" on the window.document object!\");for(var o=this.options.trigger.split(\" \"),n=o.length;n--;){var s=o[n];if(\"click\"==s)this.$element.on(\"click.\"+this.type,this.options.selector,g.proxy(this.toggle,this));else if(\"manual\"!=s){var a=\"hover\"==s?\"mouseenter\":\"focusin\",r=\"hover\"==s?\"mouseleave\":\"focusout\";this.$element.on(a+\".\"+this.type,this.options.selector,g.proxy(this.enter,this)),this.$element.on(r+\".\"+this.type,this.options.selector,g.proxy(this.leave,this))}}this.options.selector?this._options=g.extend({},this.options,{trigger:\"manual\",selector:\"\"}):this.fixTitle()},m.prototype.getDefaults=function(){return m.DEFAULTS},m.prototype.getOptions=function(t){var e=this.$element.data();for(var i in e)e.hasOwnProperty(i)&&-1!==g.inArray(i,o)&&delete e[i];return(t=g.extend({},this.getDefaults(),e,t)).delay&&\"number\"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t.sanitize&&(t.template=n(t.template,t.whiteList,t.sanitizeFn)),t},m.prototype.getDelegateOptions=function(){var i={},o=this.getDefaults();return this._options&&g.each(this._options,function(t,e){o[t]!=e&&(i[t]=e)}),i},m.prototype.enter=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data(\"bs.\"+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data(\"bs.\"+this.type,e)),t instanceof g.Event&&(e.inState[\"focusin\"==t.type?\"focus\":\"hover\"]=!0),e.tip().hasClass(\"in\")||\"in\"==e.hoverState)e.hoverState=\"in\";else{if(clearTimeout(e.timeout),e.hoverState=\"in\",!e.options.delay||!e.options.delay.show)return e.show();e.timeout=setTimeout(function(){\"in\"==e.hoverState&&e.show()},e.options.delay.show)}},m.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},m.prototype.leave=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data(\"bs.\"+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data(\"bs.\"+this.type,e)),t instanceof g.Event&&(e.inState[\"focusout\"==t.type?\"focus\":\"hover\"]=!1),!e.isInStateTrue()){if(clearTimeout(e.timeout),e.hoverState=\"out\",!e.options.delay||!e.options.delay.hide)return e.hide();e.timeout=setTimeout(function(){\"out\"==e.hoverState&&e.hide()},e.options.delay.hide)}},m.prototype.show=function(){var t=g.Event(\"show.bs.\"+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var e=g.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!e)return;var i=this,o=this.tip(),n=this.getUID(this.type);this.setContent(),o.attr(\"id\",n),this.$element.attr(\"aria-describedby\",n),this.options.animation&&o.addClass(\"fade\");var s=\"function\"==typeof this.options.placement?this.options.placement.call(this,o[0],this.$element[0]):this.options.placement,a=/\\s?auto?\\s?/i,r=a.test(s);r&&(s=s.replace(a,\"\")||\"top\"),o.detach().css({top:0,left:0,display:\"block\"}).addClass(s).data(\"bs.\"+this.type,this),this.options.container?o.appendTo(g(document).find(this.options.container)):o.insertAfter(this.$element),this.$element.trigger(\"inserted.bs.\"+this.type);var l=this.getPosition(),h=o[0].offsetWidth,d=o[0].offsetHeight;if(r){var p=s,c=this.getPosition(this.$viewport);s=\"bottom\"==s&&l.bottom+d>c.bottom?\"top\":\"top\"==s&&l.top-d<c.top?\"bottom\":\"right\"==s&&l.right+h>c.width?\"left\":\"left\"==s&&l.left-h<c.left?\"right\":s,o.removeClass(p).addClass(s)}var f=this.getCalculatedOffset(s,l,h,d);this.applyPlacement(f,s);var u=function(){var t=i.hoverState;i.$element.trigger(\"shown.bs.\"+i.type),i.hoverState=null,\"out\"==t&&i.leave(i)};g.support.transition&&this.$tip.hasClass(\"fade\")?o.one(\"bsTransitionEnd\",u).emulateTransitionEnd(m.TRANSITION_DURATION):u()}},m.prototype.applyPlacement=function(t,e){var i=this.tip(),o=i[0].offsetWidth,n=i[0].offsetHeight,s=parseInt(i.css(\"margin-top\"),10),a=parseInt(i.css(\"margin-left\"),10);isNaN(s)&&(s=0),isNaN(a)&&(a=0),t.top+=s,t.left+=a,g.offset.setOffset(i[0],g.extend({using:function(t){i.css({top:Math.round(t.top),left:Math.round(t.left)})}},t),0),i.addClass(\"in\");var r=i[0].offsetWidth,l=i[0].offsetHeight;\"top\"==e&&l!=n&&(t.top=t.top+n-l);var h=this.getViewportAdjustedDelta(e,t,r,l);h.left?t.left+=h.left:t.top+=h.top;var d=/top|bottom/.test(e),p=d?2*h.left-o+r:2*h.top-n+l,c=d?\"offsetWidth\":\"offsetHeight\";i.offset(t),this.replaceArrow(p,i[0][c],d)},m.prototype.replaceArrow=function(t,e,i){this.arrow().css(i?\"left\":\"top\",50*(1-t/e)+\"%\").css(i?\"top\":\"left\",\"\")},m.prototype.setContent=function(){var t=this.tip(),e=this.getTitle();this.options.html?(this.options.sanitize&&(e=n(e,this.options.whiteList,this.options.sanitizeFn)),t.find(\".tooltip-inner\").html(e)):t.find(\".tooltip-inner\").text(e),t.removeClass(\"fade in top bottom left right\")},m.prototype.hide=function(t){var e=this,i=g(this.$tip),o=g.Event(\"hide.bs.\"+this.type);function n(){\"in\"!=e.hoverState&&i.detach(),e.$element&&e.$element.removeAttr(\"aria-describedby\").trigger(\"hidden.bs.\"+e.type),t&&t()}if(this.$element.trigger(o),!o.isDefaultPrevented())return i.removeClass(\"in\"),g.support.transition&&i.hasClass(\"fade\")?i.one(\"bsTransitionEnd\",n).emulateTransitionEnd(m.TRANSITION_DURATION):n(),this.hoverState=null,this},m.prototype.fixTitle=function(){var t=this.$element;(t.attr(\"title\")||\"string\"!=typeof t.attr(\"data-original-title\"))&&t.attr(\"data-original-title\",t.attr(\"title\")||\"\").attr(\"title\",\"\")},m.prototype.hasContent=function(){return this.getTitle()},m.prototype.getPosition=function(t){var e=(t=t||this.$element)[0],i=\"BODY\"==e.tagName,o=e.getBoundingClientRect();null==o.width&&(o=g.extend({},o,{width:o.right-o.left,height:o.bottom-o.top}));var n=window.SVGElement&&e instanceof window.SVGElement,s=i?{top:0,left:0}:n?null:t.offset(),a={scroll:i?document.documentElement.scrollTop||document.body.scrollTop:t.scrollTop()},r=i?{width:g(window).width(),height:g(window).height()}:null;return g.extend({},o,a,r,s)},m.prototype.getCalculatedOffset=function(t,e,i,o){return\"bottom\"==t?{top:e.top+e.height,left:e.left+e.width/2-i/2}:\"top\"==t?{top:e.top-o,left:e.left+e.width/2-i/2}:\"left\"==t?{top:e.top+e.height/2-o/2,left:e.left-i}:{top:e.top+e.height/2-o/2,left:e.left+e.width}},m.prototype.getViewportAdjustedDelta=function(t,e,i,o){var n={top:0,left:0};if(!this.$viewport)return n;var s=this.options.viewport&&this.options.viewport.padding||0,a=this.getPosition(this.$viewport);if(/right|left/.test(t)){var r=e.top-s-a.scroll,l=e.top+s-a.scroll+o;r<a.top?n.top=a.top-r:l>a.top+a.height&&(n.top=a.top+a.height-l)}else{var h=e.left-s,d=e.left+s+i;h<a.left?n.left=a.left-h:d>a.right&&(n.left=a.left+a.width-d)}return n},m.prototype.getTitle=function(){var t=this.$element,e=this.options;return t.attr(\"data-original-title\")||(\"function\"==typeof e.title?e.title.call(t[0]):e.title)},m.prototype.getUID=function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},m.prototype.tip=function(){if(!this.$tip&&(this.$tip=g(this.options.template),1!=this.$tip.length))throw new Error(this.type+\" `template` option must consist of exactly 1 top-level element!\");return this.$tip},m.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(\".tooltip-arrow\")},m.prototype.enable=function(){this.enabled=!0},m.prototype.disable=function(){this.enabled=!1},m.prototype.toggleEnabled=function(){this.enabled=!this.enabled},m.prototype.toggle=function(t){var e=this;t&&((e=g(t.currentTarget).data(\"bs.\"+this.type))||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data(\"bs.\"+this.type,e))),t?(e.inState.click=!e.inState.click,e.isInStateTrue()?e.enter(e):e.leave(e)):e.tip().hasClass(\"in\")?e.leave(e):e.enter(e)},m.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off(\".\"+t.type).removeData(\"bs.\"+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})},m.prototype.sanitizeHtml=function(t){return n(t,this.options.whiteList,this.options.sanitizeFn)};var e=g.fn.tooltip;g.fn.tooltip=function i(o){return this.each(function(){var t=g(this),e=t.data(\"bs.tooltip\"),i=\"object\"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data(\"bs.tooltip\",e=new m(this,i)),\"string\"==typeof o&&e[o]())})},g.fn.tooltip.Constructor=m,g.fn.tooltip.noConflict=function(){return g.fn.tooltip=e,this}}(jQuery),function(n){\"use strict\";var s=function(t,e){this.init(\"popover\",t,e)};if(!n.fn.tooltip)throw new Error(\"Popover requires tooltip.js\");s.VERSION=\"3.4.1\",s.DEFAULTS=n.extend({},n.fn.tooltip.Constructor.DEFAULTS,{placement:\"right\",trigger:\"click\",content:\"\",template:'<div class=\"popover\" role=\"tooltip\"><div class=\"arrow\"></div><h3 class=\"popover-title\"></h3><div class=\"popover-content\"></div></div>'}),((s.prototype=n.extend({},n.fn.tooltip.Constructor.prototype)).constructor=s).prototype.getDefaults=function(){return s.DEFAULTS},s.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),i=this.getContent();if(this.options.html){var o=typeof i;this.options.sanitize&&(e=this.sanitizeHtml(e),\"string\"===o&&(i=this.sanitizeHtml(i))),t.find(\".popover-title\").html(e),t.find(\".popover-content\").children().detach().end()[\"string\"===o?\"html\":\"append\"](i)}else t.find(\".popover-title\").text(e),t.find(\".popover-content\").children().detach().end().text(i);t.removeClass(\"fade top bottom left right in\"),t.find(\".popover-title\").html()||t.find(\".popover-title\").hide()},s.prototype.hasContent=function(){return this.getTitle()||this.getContent()},s.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr(\"data-content\")||(\"function\"==typeof e.content?e.content.call(t[0]):e.content)},s.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(\".arrow\")};var t=n.fn.popover;n.fn.popover=function e(o){return this.each(function(){var t=n(this),e=t.data(\"bs.popover\"),i=\"object\"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data(\"bs.popover\",e=new s(this,i)),\"string\"==typeof o&&e[o]())})},n.fn.popover.Constructor=s,n.fn.popover.noConflict=function(){return n.fn.popover=t,this}}(jQuery),function(s){\"use strict\";function n(t,e){this.$body=s(document.body),this.$scrollElement=s(t).is(document.body)?s(window):s(t),this.options=s.extend({},n.DEFAULTS,e),this.selector=(this.options.target||\"\")+\" .nav li > a\",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on(\"scroll.bs.scrollspy\",s.proxy(this.process,this)),this.refresh(),this.process()}function e(o){return this.each(function(){var t=s(this),e=t.data(\"bs.scrollspy\"),i=\"object\"==typeof o&&o;e||t.data(\"bs.scrollspy\",e=new n(this,i)),\"string\"==typeof o&&e[o]()})}n.VERSION=\"3.4.1\",n.DEFAULTS={offset:10},n.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},n.prototype.refresh=function(){var t=this,o=\"offset\",n=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),s.isWindow(this.$scrollElement[0])||(o=\"position\",n=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var t=s(this),e=t.data(\"target\")||t.attr(\"href\"),i=/^#./.test(e)&&s(e);return i&&i.length&&i.is(\":visible\")&&[[i[o]().top+n,e]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},n.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,i=this.getScrollHeight(),o=this.options.offset+i-this.$scrollElement.height(),n=this.offsets,s=this.targets,a=this.activeTarget;if(this.scrollHeight!=i&&this.refresh(),o<=e)return a!=(t=s[s.length-1])&&this.activate(t);if(a&&e<n[0])return this.activeTarget=null,this.clear();for(t=n.length;t--;)a!=s[t]&&e>=n[t]&&(n[t+1]===undefined||e<n[t+1])&&this.activate(s[t])},n.prototype.activate=function(t){this.activeTarget=t,this.clear();var e=this.selector+'[data-target=\"'+t+'\"],'+this.selector+'[href=\"'+t+'\"]',i=s(e).parents(\"li\").addClass(\"active\");i.parent(\".dropdown-menu\").length&&(i=i.closest(\"li.dropdown\").addClass(\"active\")),i.trigger(\"activate.bs.scrollspy\")},n.prototype.clear=function(){s(this.selector).parentsUntil(this.options.target,\".active\").removeClass(\"active\")};var t=s.fn.scrollspy;s.fn.scrollspy=e,s.fn.scrollspy.Constructor=n,s.fn.scrollspy.noConflict=function(){return s.fn.scrollspy=t,this},s(window).on(\"load.bs.scrollspy.data-api\",function(){s('[data-spy=\"scroll\"]').each(function(){var t=s(this);e.call(t,t.data())})})}(jQuery),function(r){\"use strict\";var a=function(t){this.element=r(t)};function e(i){return this.each(function(){var t=r(this),e=t.data(\"bs.tab\");e||t.data(\"bs.tab\",e=new a(this)),\"string\"==typeof i&&e[i]()})}a.VERSION=\"3.4.1\",a.TRANSITION_DURATION=150,a.prototype.show=function(){var t=this.element,e=t.closest(\"ul:not(.dropdown-menu)\"),i=t.data(\"target\");if(i||(i=(i=t.attr(\"href\"))&&i.replace(/.*(?=#[^\\s]*$)/,\"\")),!t.parent(\"li\").hasClass(\"active\")){var o=e.find(\".active:last a\"),n=r.Event(\"hide.bs.tab\",{relatedTarget:t[0]}),s=r.Event(\"show.bs.tab\",{relatedTarget:o[0]});if(o.trigger(n),t.trigger(s),!s.isDefaultPrevented()&&!n.isDefaultPrevented()){var a=r(document).find(i);this.activate(t.closest(\"li\"),e),this.activate(a,a.parent(),function(){o.trigger({type:\"hidden.bs.tab\",relatedTarget:t[0]}),t.trigger({type:\"shown.bs.tab\",relatedTarget:o[0]})})}}},a.prototype.activate=function(t,e,i){var o=e.find(\"> .active\"),n=i&&r.support.transition&&(o.length&&o.hasClass(\"fade\")||!!e.find(\"> .fade\").length);function s(){o.removeClass(\"active\").find(\"> .dropdown-menu > .active\").removeClass(\"active\").end().find('[data-toggle=\"tab\"]').attr(\"aria-expanded\",!1),t.addClass(\"active\").find('[data-toggle=\"tab\"]').attr(\"aria-expanded\",!0),n?(t[0].offsetWidth,t.addClass(\"in\")):t.removeClass(\"fade\"),t.parent(\".dropdown-menu\").length&&t.closest(\"li.dropdown\").addClass(\"active\").end().find('[data-toggle=\"tab\"]').attr(\"aria-expanded\",!0),i&&i()}o.length&&n?o.one(\"bsTransitionEnd\",s).emulateTransitionEnd(a.TRANSITION_DURATION):s(),o.removeClass(\"in\")};var t=r.fn.tab;r.fn.tab=e,r.fn.tab.Constructor=a,r.fn.tab.noConflict=function(){return r.fn.tab=t,this};var i=function(t){t.preventDefault(),e.call(r(this),\"show\")};r(document).on(\"click.bs.tab.data-api\",'[data-toggle=\"tab\"]',i).on(\"click.bs.tab.data-api\",'[data-toggle=\"pill\"]',i)}(jQuery),function(l){\"use strict\";var h=function(t,e){this.options=l.extend({},h.DEFAULTS,e);var i=this.options.target===h.DEFAULTS.target?l(this.options.target):l(document).find(this.options.target);this.$target=i.on(\"scroll.bs.affix.data-api\",l.proxy(this.checkPosition,this)).on(\"click.bs.affix.data-api\",l.proxy(this.checkPositionWithEventLoop,this)),this.$element=l(t),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};function i(o){return this.each(function(){var t=l(this),e=t.data(\"bs.affix\"),i=\"object\"==typeof o&&o;e||t.data(\"bs.affix\",e=new h(this,i)),\"string\"==typeof o&&e[o]()})}h.VERSION=\"3.4.1\",h.RESET=\"affix affix-top affix-bottom\",h.DEFAULTS={offset:0,target:window},h.prototype.getState=function(t,e,i,o){var n=this.$target.scrollTop(),s=this.$element.offset(),a=this.$target.height();if(null!=i&&\"top\"==this.affixed)return n<i&&\"top\";if(\"bottom\"==this.affixed)return null!=i?!(n+this.unpin<=s.top)&&\"bottom\":!(n+a<=t-o)&&\"bottom\";var r=null==this.affixed,l=r?n:s.top;return null!=i&&n<=i?\"top\":null!=o&&t-o<=l+(r?a:e)&&\"bottom\"},h.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(h.RESET).addClass(\"affix\");var t=this.$target.scrollTop(),e=this.$element.offset();return this.pinnedOffset=e.top-t},h.prototype.checkPositionWithEventLoop=function(){setTimeout(l.proxy(this.checkPosition,this),1)},h.prototype.checkPosition=function(){if(this.$element.is(\":visible\")){var t=this.$element.height(),e=this.options.offset,i=e.top,o=e.bottom,n=Math.max(l(document).height(),l(document.body).height());\"object\"!=typeof e&&(o=i=e),\"function\"==typeof i&&(i=e.top(this.$element)),\"function\"==typeof o&&(o=e.bottom(this.$element));var s=this.getState(n,t,i,o);if(this.affixed!=s){null!=this.unpin&&this.$element.css(\"top\",\"\");var a=\"affix\"+(s?\"-\"+s:\"\"),r=l.Event(a+\".bs.affix\");if(this.$element.trigger(r),r.isDefaultPrevented())return;this.affixed=s,this.unpin=\"bottom\"==s?this.getPinnedOffset():null,this.$element.removeClass(h.RESET).addClass(a).trigger(a.replace(\"affix\",\"affixed\")+\".bs.affix\")}\"bottom\"==s&&this.$element.offset({top:n-t-o})}};var t=l.fn.affix;l.fn.affix=i,l.fn.affix.Constructor=h,l.fn.affix.noConflict=function(){return l.fn.affix=t,this},l(window).on(\"load\",function(){l('[data-spy=\"affix\"]').each(function(){var t=l(this),e=t.data();e.offset=e.offset||{},null!=e.offsetBottom&&(e.offset.bottom=e.offsetBottom),null!=e.offsetTop&&(e.offset.top=e.offsetTop),i.call(t,e)})})}(jQuery);\n/*! highlight.js v9.12.0 | BSD3 License | git.io/hljslicense */\n!function(e){var t=\"object\"==typeof window&&window||\"object\"==typeof self&&self;\"undefined\"!=typeof exports?e(exports):t&&(t.hljs=e({}),\"function\"==typeof define&&define.amd&&define([],function(){return t.hljs}))}(function(e){function t(e){return e.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\")}function r(e){return e.nodeName.toLowerCase()}function a(e,t){var r=e&&e.exec(t);return r&&0===r.index}function i(e){return T.test(e)}function n(e){var t,r,a,n,o=e.className+\" \";if(o+=e.parentNode?e.parentNode.className:\"\",r=w.exec(o))return S(r[1])?r[1]:\"no-highlight\";for(o=o.split(/\\s+/),t=0,a=o.length;a>t;t++)if(n=o[t],i(n)||S(n))return n}function o(e){var t,r={},a=Array.prototype.slice.call(arguments,1);for(t in e)r[t]=e[t];return a.forEach(function(e){for(t in e)r[t]=e[t]}),r}function s(e){var t=[];return function a(e,i){for(var n=e.firstChild;n;n=n.nextSibling)3===n.nodeType?i+=n.nodeValue.length:1===n.nodeType&&(t.push({event:\"start\",offset:i,node:n}),i=a(n,i),r(n).match(/br|hr|img|input/)||t.push({event:\"stop\",offset:i,node:n}));return i}(e,0),t}function l(e,a,i){function n(){return e.length&&a.length?e[0].offset!==a[0].offset?e[0].offset<a[0].offset?e:a:\"start\"===a[0].event?e:a:e.length?e:a}function o(e){function a(e){return\" \"+e.nodeName+'=\"'+t(e.value).replace('\"',\"&quot;\")+'\"'}d+=\"<\"+r(e)+C.map.call(e.attributes,a).join(\"\")+\">\"}function s(e){d+=\"</\"+r(e)+\">\"}function l(e){(\"start\"===e.event?o:s)(e.node)}for(var c=0,d=\"\",p=[];e.length||a.length;){var m=n();if(d+=t(i.substring(c,m[0].offset)),c=m[0].offset,m===e){p.reverse().forEach(s);do l(m.splice(0,1)[0]),m=n();while(m===e&&m.length&&m[0].offset===c);p.reverse().forEach(o)}else\"start\"===m[0].event?p.push(m[0].node):p.pop(),l(m.splice(0,1)[0])}return d+t(i.substr(c))}function c(e){return e.v&&!e.cached_variants&&(e.cached_variants=e.v.map(function(t){return o(e,{v:null},t)})),e.cached_variants||e.eW&&[o(e)]||[e]}function d(e){function t(e){return e&&e.source||e}function r(r,a){return new RegExp(t(r),\"m\"+(e.cI?\"i\":\"\")+(a?\"g\":\"\"))}function a(i,n){if(!i.compiled){if(i.compiled=!0,i.k=i.k||i.bK,i.k){var o={},s=function(t,r){e.cI&&(r=r.toLowerCase()),r.split(\" \").forEach(function(e){var r=e.split(\"|\");o[r[0]]=[t,r[1]?Number(r[1]):1]})};\"string\"==typeof i.k?s(\"keyword\",i.k):x(i.k).forEach(function(e){s(e,i.k[e])}),i.k=o}i.lR=r(i.l||/\\w+/,!0),n&&(i.bK&&(i.b=\"\\\\b(\"+i.bK.split(\" \").join(\"|\")+\")\\\\b\"),i.b||(i.b=/\\B|\\b/),i.bR=r(i.b),i.e||i.eW||(i.e=/\\B|\\b/),i.e&&(i.eR=r(i.e)),i.tE=t(i.e)||\"\",i.eW&&n.tE&&(i.tE+=(i.e?\"|\":\"\")+n.tE)),i.i&&(i.iR=r(i.i)),null==i.r&&(i.r=1),i.c||(i.c=[]),i.c=Array.prototype.concat.apply([],i.c.map(function(e){return c(\"self\"===e?i:e)})),i.c.forEach(function(e){a(e,i)}),i.starts&&a(i.starts,n);var l=i.c.map(function(e){return e.bK?\"\\\\.?(\"+e.b+\")\\\\.?\":e.b}).concat([i.tE,i.i]).map(t).filter(Boolean);i.t=l.length?r(l.join(\"|\"),!0):{exec:function(){return null}}}}a(e)}function p(e,r,i,n){function o(e,t){var r,i;for(r=0,i=t.c.length;i>r;r++)if(a(t.c[r].bR,e))return t.c[r]}function s(e,t){if(a(e.eR,t)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?s(e.parent,t):void 0}function l(e,t){return!i&&a(t.iR,e)}function c(e,t){var r=v.cI?t[0].toLowerCase():t[0];return e.k.hasOwnProperty(r)&&e.k[r]}function u(e,t,r,a){var i=a?\"\":D.classPrefix,n='<span class=\"'+i,o=r?\"\":M;return n+=e+'\">',n+t+o}function b(){var e,r,a,i;if(!C.k)return t(T);for(i=\"\",r=0,C.lR.lastIndex=0,a=C.lR.exec(T);a;)i+=t(T.substring(r,a.index)),e=c(C,a),e?(w+=e[1],i+=u(e[0],t(a[0]))):i+=t(a[0]),r=C.lR.lastIndex,a=C.lR.exec(T);return i+t(T.substr(r))}function g(){var e=\"string\"==typeof C.sL;if(e&&!E[C.sL])return t(T);var r=e?p(C.sL,T,!0,x[C.sL]):m(T,C.sL.length?C.sL:void 0);return C.r>0&&(w+=r.r),e&&(x[C.sL]=r.top),u(r.language,r.value,!1,!0)}function f(){N+=null!=C.sL?g():b(),T=\"\"}function _(e){N+=e.cN?u(e.cN,\"\",!0):\"\",C=Object.create(e,{parent:{value:C}})}function h(e,t){if(T+=e,null==t)return f(),0;var r=o(t,C);if(r)return r.skip?T+=t:(r.eB&&(T+=t),f(),r.rB||r.eB||(T=t)),_(r,t),r.rB?0:t.length;var a=s(C,t);if(a){var i=C;i.skip?T+=t:(i.rE||i.eE||(T+=t),f(),i.eE&&(T=t));do C.cN&&(N+=M),C.skip||(w+=C.r),C=C.parent;while(C!==a.parent);return a.starts&&_(a.starts,\"\"),i.rE?0:t.length}if(l(t,C))throw new Error('Illegal lexeme \"'+t+'\" for mode \"'+(C.cN||\"<unnamed>\")+'\"');return T+=t,t.length||1}var v=S(e);if(!v)throw new Error('Unknown language: \"'+e+'\"');d(v);var y,C=n||v,x={},N=\"\";for(y=C;y!==v;y=y.parent)y.cN&&(N=u(y.cN,\"\",!0)+N);var T=\"\",w=0;try{for(var A,I,k=0;;){if(C.t.lastIndex=k,A=C.t.exec(r),!A)break;I=h(r.substring(k,A.index),A[0]),k=A.index+I}for(h(r.substr(k)),y=C;y.parent;y=y.parent)y.cN&&(N+=M);return{r:w,value:N,language:e,top:C}}catch(R){if(R.message&&-1!==R.message.indexOf(\"Illegal\"))return{r:0,value:t(r)};throw R}}function m(e,r){r=r||D.languages||x(E);var a={r:0,value:t(e)},i=a;return r.filter(S).forEach(function(t){var r=p(t,e,!1);r.language=t,r.r>i.r&&(i=r),r.r>a.r&&(i=a,a=r)}),i.language&&(a.second_best=i),a}function u(e){return D.tabReplace||D.useBR?e.replace(A,function(e,t){return D.useBR&&\"\\n\"===e?\"<br>\":D.tabReplace?t.replace(/\\t/g,D.tabReplace):\"\"}):e}function b(e,t,r){var a=t?N[t]:r,i=[e.trim()];return e.match(/\\bhljs\\b/)||i.push(\"hljs\"),-1===e.indexOf(a)&&i.push(a),i.join(\" \").trim()}function g(e){var t,r,a,o,c,d=n(e);i(d)||(D.useBR?(t=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"div\"),t.innerHTML=e.innerHTML.replace(/\\n/g,\"\").replace(/<br[ \\/]*>/g,\"\\n\")):t=e,c=t.textContent,a=d?p(d,c,!0):m(c),r=s(t),r.length&&(o=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"div\"),o.innerHTML=a.value,a.value=l(r,s(o),c)),a.value=u(a.value),e.innerHTML=a.value,e.className=b(e.className,d,a.language),e.result={language:a.language,re:a.r},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.r}))}function f(e){D=o(D,e)}function _(){if(!_.called){_.called=!0;var e=document.querySelectorAll(\"pre code\");C.forEach.call(e,g)}}function h(){addEventListener(\"DOMContentLoaded\",_,!1),addEventListener(\"load\",_,!1)}function v(t,r){var a=E[t]=r(e);a.aliases&&a.aliases.forEach(function(e){N[e]=t})}function y(){return x(E)}function S(e){return e=(e||\"\").toLowerCase(),E[e]||E[N[e]]}var C=[],x=Object.keys,E={},N={},T=/^(no-?highlight|plain|text)$/i,w=/\\blang(?:uage)?-([\\w-]+)\\b/i,A=/((^(<[^>]+>|\\t|)+|(?:\\n)))/gm,M=\"</span>\",D={classPrefix:\"hljs-\",tabReplace:null,useBR:!1,languages:void 0};return e.highlight=p,e.highlightAuto=m,e.fixMarkup=u,e.highlightBlock=g,e.configure=f,e.initHighlighting=_,e.initHighlightingOnLoad=h,e.registerLanguage=v,e.listLanguages=y,e.getLanguage=S,e.inherit=o,e.IR=\"[a-zA-Z]\\\\w*\",e.UIR=\"[a-zA-Z_]\\\\w*\",e.NR=\"\\\\b\\\\d+(\\\\.\\\\d+)?\",e.CNR=\"(-?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)\",e.BNR=\"\\\\b(0b[01]+)\",e.RSR=\"!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~\",e.BE={b:\"\\\\\\\\[\\\\s\\\\S]\",r:0},e.ASM={cN:\"string\",b:\"'\",e:\"'\",i:\"\\\\n\",c:[e.BE]},e.QSM={cN:\"string\",b:'\"',e:'\"',i:\"\\\\n\",c:[e.BE]},e.PWM={b:/\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b/},e.C=function(t,r,a){var i=e.inherit({cN:\"comment\",b:t,e:r,c:[]},a||{});return i.c.push(e.PWM),i.c.push({cN:\"doctag\",b:\"(?:TODO|FIXME|NOTE|BUG|XXX):\",r:0}),i},e.CLCM=e.C(\"//\",\"$\"),e.CBCM=e.C(\"/\\\\*\",\"\\\\*/\"),e.HCM=e.C(\"#\",\"$\"),e.NM={cN:\"number\",b:e.NR,r:0},e.CNM={cN:\"number\",b:e.CNR,r:0},e.BNM={cN:\"number\",b:e.BNR,r:0},e.CSSNM={cN:\"number\",b:e.NR+\"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?\",r:0},e.RM={cN:\"regexp\",b:/\\//,e:/\\/[gimuy]*/,i:/\\n/,c:[e.BE,{b:/\\[/,e:/\\]/,r:0,c:[e.BE]}]},e.TM={cN:\"title\",b:e.IR,r:0},e.UTM={cN:\"title\",b:e.UIR,r:0},e.METHOD_GUARD={b:\"\\\\.\\\\s*\"+e.UIR,r:0},e.registerLanguage(\"1c\",function(e){var t=\"[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]+\",r=\"далее \",a=\"возврат вызватьисключение выполнить для если и из или иначе иначеесли исключение каждого конецесли конецпопытки конеццикла не новый перейти перем по пока попытка прервать продолжить тогда цикл экспорт \",i=r+a,n=\"загрузитьизфайла \",o=\"вебклиент вместо внешнеесоединение клиент конецобласти мобильноеприложениеклиент мобильноеприложениесервер наклиенте наклиентенасервере наклиентенасерверебезконтекста насервере насерверебезконтекста область перед после сервер толстыйклиентобычноеприложение толстыйклиентуправляемоеприложение тонкийклиент \",s=n+o,l=\"разделительстраниц разделительстрок символтабуляции \",c=\"ansitooem oemtoansi ввестивидсубконто ввестиперечисление ввестипериод ввестиплансчетов выбранныйплансчетов датагод датамесяц датачисло заголовоксистемы значениевстроку значениеизстроки каталогиб каталогпользователя кодсимв конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца коннедели лог лог10 максимальноеколичествосубконто названиеинтерфейса названиенабораправ назначитьвид назначитьсчет найтиссылки началопериодаби началостандартногоинтервала начгода начквартала начмесяца начнедели номерднягода номерднянедели номернеделигода обработкаожидания основнойжурналрасчетов основнойплансчетов основнойязык очиститьокносообщений периодстр получитьвремята получитьдатута получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта префиксавтонумерации пропись пустоезначение разм разобратьпозициюдокумента рассчитатьрегистрына рассчитатьрегистрыпо симв создатьобъект статусвозврата стрколичествострок сформироватьпозициюдокумента счетпокоду текущеевремя типзначения типзначениястр установитьтана установитьтапо фиксшаблон шаблон \",d=\"acos asin atan base64значение base64строка cos exp log log10 pow sin sqrt tan xmlзначение xmlстрока xmlтип xmlтипзнч активноеокно безопасныйрежим безопасныйрежимразделенияданных булево ввестидату ввестизначение ввестистроку ввестичисло возможностьчтенияxml вопрос восстановитьзначение врег выгрузитьжурналрегистрации выполнитьобработкуоповещения выполнитьпроверкуправдоступа вычислить год данныеформывзначение дата день деньгода деньнедели добавитьмесяц заблокироватьданныедляредактирования заблокироватьработупользователя завершитьработусистемы загрузитьвнешнююкомпоненту закрытьсправку записатьjson записатьxml записатьдатуjson записьжурналарегистрации заполнитьзначениясвойств запроситьразрешениепользователя запуститьприложение запуститьсистему зафиксироватьтранзакцию значениевданныеформы значениевстрокувнутр значениевфайл значениезаполнено значениеизстрокивнутр значениеизфайла изxmlтипа импортмоделиxdto имякомпьютера имяпользователя инициализироватьпредопределенныеданные информацияобошибке каталогбиблиотекимобильногоустройства каталогвременныхфайлов каталогдокументов каталогпрограммы кодироватьстроку кодлокализацииинформационнойбазы кодсимвола командасистемы конецгода конецдня конецквартала конецмесяца конецминуты конецнедели конецчаса конфигурациябазыданныхизмененадинамически конфигурацияизменена копироватьданныеформы копироватьфайл краткоепредставлениеошибки лев макс местноевремя месяц мин минута монопольныйрежим найти найтинедопустимыесимволыxml найтиокнопонавигационнойссылке найтипомеченныенаудаление найтипоссылкам найтифайлы началогода началодня началоквартала началомесяца началоминуты началонедели началочаса начатьзапросразрешенияпользователя начатьзапускприложения начатькопированиефайла начатьперемещениефайла начатьподключениевнешнейкомпоненты начатьподключениерасширенияработыскриптографией начатьподключениерасширенияработысфайлами начатьпоискфайлов начатьполучениекаталогавременныхфайлов начатьполучениекаталогадокументов начатьполучениерабочегокаталогаданныхпользователя начатьполучениефайлов начатьпомещениефайла начатьпомещениефайлов начатьсозданиедвоичныхданныхизфайла начатьсозданиекаталога начатьтранзакцию начатьудалениефайлов начатьустановкувнешнейкомпоненты начатьустановкурасширенияработыскриптографией начатьустановкурасширенияработысфайлами неделягода необходимостьзавершениясоединения номерсеансаинформационнойбазы номерсоединенияинформационнойбазы нрег нстр обновитьинтерфейс обновитьнумерациюобъектов обновитьповторноиспользуемыезначения обработкапрерыванияпользователя объединитьфайлы окр описаниеошибки оповестить оповеститьобизменении отключитьобработчикзапросанастроекклиенталицензирования отключитьобработчикожидания отключитьобработчикоповещения открытьзначение открытьиндекссправки открытьсодержаниесправки открытьсправку открытьформу открытьформумодально отменитьтранзакцию очиститьжурналрегистрации очиститьнастройкипользователя очиститьсообщения параметрыдоступа перейтипонавигационнойссылке переместитьфайл подключитьвнешнююкомпоненту подключитьобработчикзапросанастроекклиенталицензирования подключитьобработчикожидания подключитьобработчикоповещения подключитьрасширениеработыскриптографией подключитьрасширениеработысфайлами подробноепредставлениеошибки показатьвводдаты показатьвводзначения показатьвводстроки показатьвводчисла показатьвопрос показатьзначение показатьинформациюобошибке показатьнакарте показатьоповещениепользователя показатьпредупреждение полноеимяпользователя получитьcomобъект получитьxmlтип получитьадреспоместоположению получитьблокировкусеансов получитьвремязавершенияспящегосеанса получитьвремязасыпанияпассивногосеанса получитьвремяожиданияблокировкиданных получитьданныевыбора получитьдополнительныйпараметрклиенталицензирования получитьдопустимыекодылокализации получитьдопустимыечасовыепояса получитьзаголовокклиентскогоприложения получитьзаголовоксистемы получитьзначенияотборажурналарегистрации получитьидентификаторконфигурации получитьизвременногохранилища получитьимявременногофайла получитьимяклиенталицензирования получитьинформациюэкрановклиента получитьиспользованиежурналарегистрации получитьиспользованиесобытияжурналарегистрации получитькраткийзаголовокприложения получитьмакетоформления получитьмаскувсефайлы получитьмаскувсефайлыклиента получитьмаскувсефайлысервера получитьместоположениепоадресу получитьминимальнуюдлинупаролейпользователей получитьнавигационнуюссылку получитьнавигационнуюссылкуинформационнойбазы получитьобновлениеконфигурациибазыданных получитьобновлениепредопределенныхданныхинформационнойбазы получитьобщиймакет получитьобщуюформу получитьокна получитьоперативнуюотметкувремени получитьотключениебезопасногорежима получитьпараметрыфункциональныхопцийинтерфейса получитьполноеимяпредопределенногозначения получитьпредставлениянавигационныхссылок получитьпроверкусложностипаролейпользователей получитьразделительпути получитьразделительпутиклиента получитьразделительпутисервера получитьсеансыинформационнойбазы получитьскоростьклиентскогосоединения получитьсоединенияинформационнойбазы получитьсообщенияпользователю получитьсоответствиеобъектаиформы получитьсоставстандартногоинтерфейсаodata получитьструктурухранениябазыданных получитьтекущийсеансинформационнойбазы получитьфайл получитьфайлы получитьформу получитьфункциональнуюопцию получитьфункциональнуюопциюинтерфейса получитьчасовойпоясинформационнойбазы пользователиос поместитьвовременноехранилище поместитьфайл поместитьфайлы прав праводоступа предопределенноезначение представлениекодалокализации представлениепериода представлениеправа представлениеприложения представлениесобытияжурналарегистрации представлениечасовогопояса предупреждение прекратитьработусистемы привилегированныйрежим продолжитьвызов прочитатьjson прочитатьxml прочитатьдатуjson пустаястрока рабочийкаталогданныхпользователя разблокироватьданныедляредактирования разделитьфайл разорватьсоединениесвнешнимисточникомданных раскодироватьстроку рольдоступна секунда сигнал символ скопироватьжурналрегистрации смещениелетнеговремени смещениестандартноговремени соединитьбуферыдвоичныхданных создатькаталог создатьфабрикуxdto сокрл сокрлп сокрп сообщить состояние сохранитьзначение сохранитьнастройкипользователя сред стрдлина стрзаканчиваетсяна стрзаменить стрнайти стрначинаетсяс строка строкасоединенияинформационнойбазы стрполучитьстроку стрразделить стрсоединить стрсравнить стрчисловхождений стрчислострок стршаблон текущаядата текущаядатасеанса текущаяуниверсальнаядата текущаяуниверсальнаядатавмиллисекундах текущийвариантинтерфейсаклиентскогоприложения текущийвариантосновногошрифтаклиентскогоприложения текущийкодлокализации текущийрежимзапуска текущийязык текущийязыксистемы тип типзнч транзакцияактивна трег удалитьданныеинформационнойбазы удалитьизвременногохранилища удалитьобъекты удалитьфайлы универсальноевремя установитьбезопасныйрежим установитьбезопасныйрежимразделенияданных установитьблокировкусеансов установитьвнешнююкомпоненту установитьвремязавершенияспящегосеанса установитьвремязасыпанияпассивногосеанса установитьвремяожиданияблокировкиданных установитьзаголовокклиентскогоприложения установитьзаголовоксистемы установитьиспользованиежурналарегистрации установитьиспользованиесобытияжурналарегистрации установитькраткийзаголовокприложения установитьминимальнуюдлинупаролейпользователей установитьмонопольныйрежим установитьнастройкиклиенталицензирования установитьобновлениепредопределенныхданныхинформационнойбазы установитьотключениебезопасногорежима установитьпараметрыфункциональныхопцийинтерфейса установитьпривилегированныйрежим установитьпроверкусложностипаролейпользователей установитьрасширениеработыскриптографией установитьрасширениеработысфайлами установитьсоединениесвнешнимисточникомданных установитьсоответствиеобъектаиформы установитьсоставстандартногоинтерфейсаodata установитьчасовойпоясинформационнойбазы установитьчасовойпояссеанса формат цел час часовойпояс часовойпояссеанса число числопрописью этоадресвременногохранилища \",p=\"wsссылки библиотекакартинок библиотекамакетовоформлениякомпоновкиданных библиотекастилей бизнеспроцессы внешниеисточникиданных внешниеобработки внешниеотчеты встроенныепокупки главныйинтерфейс главныйстиль документы доставляемыеуведомления журналыдокументов задачи информацияобинтернетсоединении использованиерабочейдаты историяработыпользователя константы критерииотбора метаданные обработки отображениерекламы отправкадоставляемыхуведомлений отчеты панельзадачос параметрзапуска параметрысеанса перечисления планывидоврасчета планывидовхарактеристик планыобмена планысчетов полнотекстовыйпоиск пользователиинформационнойбазы последовательности проверкавстроенныхпокупок рабочаядата расширенияконфигурации регистрыбухгалтерии регистрынакопления регистрырасчета регистрысведений регламентныезадания сериализаторxdto справочники средствагеопозиционирования средствакриптографии средствамультимедиа средстваотображениярекламы средствапочты средствателефонии фабрикаxdto файловыепотоки фоновыезадания хранилищанастроек хранилищевариантовотчетов хранилищенастроекданныхформ хранилищеобщихнастроек хранилищепользовательскихнастроекдинамическихсписков хранилищепользовательскихнастроекотчетов хранилищесистемныхнастроек \",m=l+c+d+p,u=\"webцвета windowsцвета windowsшрифты библиотекакартинок рамкистиля символы цветастиля шрифтыстиля \",b=\"автоматическоесохранениеданныхформывнастройках автонумерациявформе автораздвижениесерий анимациядиаграммы вариантвыравниванияэлементовизаголовков вариантуправлениявысотойтаблицы вертикальнаяпрокруткаформы вертикальноеположение вертикальноеположениеэлемента видгруппыформы виддекорацииформы виддополненияэлементаформы видизмененияданных видкнопкиформы видпереключателя видподписейкдиаграмме видполяформы видфлажка влияниеразмеранапузырекдиаграммы горизонтальноеположение горизонтальноеположениеэлемента группировкаколонок группировкаподчиненныхэлементовформы группыиэлементы действиеперетаскивания дополнительныйрежимотображения допустимыедействияперетаскивания интервалмеждуэлементамиформы использованиевывода использованиеполосыпрокрутки используемоезначениеточкибиржевойдиаграммы историявыборапривводе источникзначенийоситочекдиаграммы источникзначенияразмерапузырькадиаграммы категориягруппыкоманд максимумсерий начальноеотображениедерева начальноеотображениесписка обновлениетекстаредактирования ориентациядендрограммы ориентациядиаграммы ориентацияметокдиаграммы ориентацияметоксводнойдиаграммы ориентацияэлементаформы отображениевдиаграмме отображениевлегендедиаграммы отображениегруппыкнопок отображениезаголовкашкалыдиаграммы отображениезначенийсводнойдиаграммы отображениезначенияизмерительнойдиаграммы отображениеинтерваладиаграммыганта отображениекнопки отображениекнопкивыбора отображениеобсужденийформы отображениеобычнойгруппы отображениеотрицательныхзначенийпузырьковойдиаграммы отображениепанелипоиска отображениеподсказки отображениепредупрежденияприредактировании отображениеразметкиполосырегулирования отображениестраницформы отображениетаблицы отображениетекстазначениядиаграммыганта отображениеуправленияобычнойгруппы отображениефигурыкнопки палитрацветовдиаграммы поведениеобычнойгруппы поддержкамасштабадендрограммы поддержкамасштабадиаграммыганта поддержкамасштабасводнойдиаграммы поисквтаблицепривводе положениезаголовкаэлементаформы положениекартинкикнопкиформы положениекартинкиэлементаграфическойсхемы положениекоманднойпанелиформы положениекоманднойпанелиэлементаформы положениеопорнойточкиотрисовки положениеподписейкдиаграмме положениеподписейшкалызначенийизмерительнойдиаграммы положениесостоянияпросмотра положениестрокипоиска положениетекстасоединительнойлинии положениеуправленияпоиском положениешкалывремени порядокотображенияточекгоризонтальнойгистограммы порядоксерийвлегендедиаграммы размеркартинки расположениезаголовкашкалыдиаграммы растягиваниеповертикалидиаграммыганта режимавтоотображениясостояния режимвводастроктаблицы режимвыборанезаполненного режимвыделениядаты режимвыделениястрокитаблицы режимвыделениятаблицы режимизмененияразмера режимизменениясвязанногозначения режимиспользованиядиалогапечати режимиспользованияпараметракоманды режиммасштабированияпросмотра режимосновногоокнаклиентскогоприложения режимоткрытияокнаформы режимотображениявыделения режимотображениягеографическойсхемы режимотображениязначенийсерии режимотрисовкисеткиграфическойсхемы режимполупрозрачностидиаграммы режимпробеловдиаграммы режимразмещениянастранице режимредактированияколонки режимсглаживаниядиаграммы режимсглаживанияиндикатора режимсписказадач сквозноевыравнивание сохранениеданныхформывнастройках способзаполнениятекстазаголовкашкалыдиаграммы способопределенияограничивающегозначениядиаграммы стандартнаягруппакоманд стандартноеоформление статусоповещенияпользователя стильстрелки типаппроксимациилиниитрендадиаграммы типдиаграммы типединицышкалывремени типимпортасерийслоягеографическойсхемы типлиниигеографическойсхемы типлиниидиаграммы типмаркерагеографическойсхемы типмаркерадиаграммы типобластиоформления типорганизацииисточникаданныхгеографическойсхемы типотображениясериислоягеографическойсхемы типотображенияточечногообъектагеографическойсхемы типотображенияшкалыэлементалегендыгеографическойсхемы типпоискаобъектовгеографическойсхемы типпроекциигеографическойсхемы типразмещенияизмерений типразмещенияреквизитовизмерений типрамкиэлементауправления типсводнойдиаграммы типсвязидиаграммыганта типсоединениязначенийпосериямдиаграммы типсоединенияточекдиаграммы типсоединительнойлинии типстороныэлементаграфическойсхемы типформыотчета типшкалырадарнойдиаграммы факторлиниитрендадиаграммы фигуракнопки фигурыграфическойсхемы фиксациявтаблице форматдняшкалывремени форматкартинки ширинаподчиненныхэлементовформы \",g=\"виддвижениябухгалтерии виддвижениянакопления видпериодарегистрарасчета видсчета видточкимаршрутабизнеспроцесса использованиеагрегатарегистранакопления использованиегруппиэлементов использованиережимапроведения использованиесреза периодичностьагрегатарегистранакопления режимавтовремя режимзаписидокумента режимпроведениядокумента \",f=\"авторегистрацияизменений допустимыйномерсообщения отправкаэлементаданных получениеэлементаданных \",_=\"использованиерасшифровкитабличногодокумента ориентациястраницы положениеитоговколоноксводнойтаблицы положениеитоговстроксводнойтаблицы положениетекстаотносительнокартинки расположениезаголовкагруппировкитабличногодокумента способчтениязначенийтабличногодокумента типдвустороннейпечати типзаполненияобластитабличногодокумента типкурсоровтабличногодокумента типлиниирисункатабличногодокумента типлинииячейкитабличногодокумента типнаправленияпереходатабличногодокумента типотображениявыделениятабличногодокумента типотображениялинийсводнойтаблицы типразмещениятекстатабличногодокумента типрисункатабличногодокумента типсмещениятабличногодокумента типузоратабличногодокумента типфайлатабличногодокумента точностьпечати чередованиерасположениястраниц \",h=\"отображениевремениэлементовпланировщика \",v=\"типфайлаформатированногодокумента \",y=\"обходрезультатазапроса типзаписизапроса \",S=\"видзаполнениярасшифровкипостроителяотчета типдобавленияпредставлений типизмеренияпостроителяотчета типразмещенияитогов \",C=\"доступкфайлу режимдиалогавыборафайла режимоткрытияфайла \",x=\"типизмеренияпостроителязапроса \",E=\"видданныханализа методкластеризации типединицыинтервалавременианализаданных типзаполнениятаблицырезультатаанализаданных типиспользованиячисловыхзначенийанализаданных типисточникаданныхпоискаассоциаций типколонкианализаданныхдереворешений типколонкианализаданныхкластеризация типколонкианализаданныхобщаястатистика типколонкианализаданныхпоискассоциаций типколонкианализаданныхпоискпоследовательностей типколонкимоделипрогноза типмерырасстоянияанализаданных типотсеченияправилассоциации типполяанализаданных типстандартизациианализаданных типупорядочиванияправилассоциациианализаданных типупорядочиванияшаблоновпоследовательностейанализаданных типупрощениядереварешений \",N=\"wsнаправлениепараметра вариантxpathxs вариантзаписидатыjson вариантпростоготипаxs видгруппымоделиxs видфасетаxdto действиепостроителяdom завершенностьпростоготипаxs завершенностьсоставноготипаxs завершенностьсхемыxs запрещенныеподстановкиxs исключениягруппподстановкиxs категорияиспользованияатрибутаxs категорияограниченияидентичностиxs категорияограниченияпространствименxs методнаследованияxs модельсодержимогоxs назначениетипаxml недопустимыеподстановкиxs обработкапробельныхсимволовxs обработкасодержимогоxs ограничениезначенияxs параметрыотбораузловdom переносстрокjson позициявдокументеdom пробельныесимволыxml типатрибутаxml типзначенияjson типканоническогоxml типкомпонентыxs типпроверкиxml типрезультатаdomxpath типузлаdom типузлаxml формаxml формапредставленияxs форматдатыjson экранированиесимволовjson \",T=\"видсравнениякомпоновкиданных действиеобработкирасшифровкикомпоновкиданных направлениесортировкикомпоновкиданных расположениевложенныхэлементоврезультатакомпоновкиданных расположениеитоговкомпоновкиданных расположениегруппировкикомпоновкиданных расположениеполейгруппировкикомпоновкиданных расположениеполякомпоновкиданных расположениереквизитовкомпоновкиданных расположениересурсовкомпоновкиданных типбухгалтерскогоостаткакомпоновкиданных типвыводатекстакомпоновкиданных типгруппировкикомпоновкиданных типгруппыэлементовотборакомпоновкиданных типдополненияпериодакомпоновкиданных типзаголовкаполейкомпоновкиданных типмакетагруппировкикомпоновкиданных типмакетаобластикомпоновкиданных типостаткакомпоновкиданных типпериодакомпоновкиданных типразмещениятекстакомпоновкиданных типсвязинаборовданныхкомпоновкиданных типэлементарезультатакомпоновкиданных расположениелегендыдиаграммыкомпоновкиданных типпримененияотборакомпоновкиданных режимотображенияэлементанастройкикомпоновкиданных режимотображениянастроеккомпоновкиданных состояниеэлементанастройкикомпоновкиданных способвосстановлениянастроеккомпоновкиданных режимкомпоновкирезультата использованиепараметракомпоновкиданных автопозицияресурсовкомпоновкиданных вариантиспользованиягруппировкикомпоновкиданных расположениересурсоввдиаграммекомпоновкиданных фиксациякомпоновкиданных использованиеусловногооформлениякомпоновкиданных \",w=\"важностьинтернетпочтовогосообщения обработкатекстаинтернетпочтовогосообщения способкодированияинтернетпочтовоговложения способкодированиянеasciiсимволовинтернетпочтовогосообщения типтекстапочтовогосообщения протоколинтернетпочты статусразборапочтовогосообщения \",A=\"режимтранзакциизаписижурналарегистрации статустранзакциизаписижурналарегистрации уровеньжурналарегистрации \",M=\"расположениехранилищасертификатовкриптографии режимвключениясертификатовкриптографии режимпроверкисертификатакриптографии типхранилищасертификатовкриптографии \",D=\"кодировкаименфайловвzipфайле методсжатияzip методшифрованияzip режимвосстановленияпутейфайловzip режимобработкиподкаталоговzip режимсохраненияпутейzip уровеньсжатияzip \",I=\"звуковоеоповещение направлениепереходакстроке позициявпотоке порядокбайтов режимблокировкиданных режимуправленияблокировкойданных сервисвстроенныхпокупок состояниефоновогозадания типподписчикадоставляемыхуведомлений уровеньиспользованиязащищенногосоединенияftp \",k=\"направлениепорядкасхемызапроса типдополненияпериодамисхемызапроса типконтрольнойточкисхемызапроса типобъединениясхемызапроса типпараметрадоступнойтаблицысхемызапроса типсоединениясхемызапроса \",R=\"httpметод автоиспользованиеобщегореквизита автопрефиксномеразадачи вариантвстроенногоязыка видиерархии видрегистранакопления видтаблицывнешнегоисточникаданных записьдвиженийприпроведении заполнениепоследовательностей индексирование использованиебазыпланавидоврасчета использованиебыстроговыбора использованиеобщегореквизита использованиеподчинения использованиеполнотекстовогопоиска использованиеразделяемыхданныхобщегореквизита использованиереквизита назначениеиспользованияприложения назначениерасширенияконфигурации направлениепередачи обновлениепредопределенныхданных оперативноепроведение основноепредставлениевидарасчета основноепредставлениевидахарактеристики основноепредставлениезадачи основноепредставлениепланаобмена основноепредставлениесправочника основноепредставлениесчета перемещениеграницыприпроведении периодичностьномерабизнеспроцесса периодичностьномерадокумента периодичностьрегистрарасчета периодичностьрегистрасведений повторноеиспользованиевозвращаемыхзначений полнотекстовыйпоискпривводепостроке принадлежностьобъекта проведение разделениеаутентификацииобщегореквизита разделениеданныхобщегореквизита разделениерасширенийконфигурацииобщегореквизита режимавтонумерацииобъектов режимзаписирегистра режимиспользованиямодальности режимиспользованиясинхронныхвызововрасширенийплатформыивнешнихкомпонент режимповторногоиспользованиясеансов режимполученияданныхвыборапривводепостроке режимсовместимости режимсовместимостиинтерфейса режимуправленияблокировкойданныхпоумолчанию сериикодовпланавидовхарактеристик сериикодовпланасчетов сериикодовсправочника созданиепривводе способвыбора способпоискастрокипривводепостроке способредактирования типданныхтаблицывнешнегоисточникаданных типкодапланавидоврасчета типкодасправочника типмакета типномерабизнеспроцесса типномерадокумента типномеразадачи типформы удалениедвижений \",L=\"важностьпроблемыприменениярасширенияконфигурации вариантинтерфейсаклиентскогоприложения вариантмасштабаформклиентскогоприложения вариантосновногошрифтаклиентскогоприложения вариантстандартногопериода вариантстандартнойдатыначала видграницы видкартинки видотображенияполнотекстовогопоиска видрамки видсравнения видцвета видчисловогозначения видшрифта допустимаядлина допустимыйзнак использованиеbyteordermark использованиеметаданныхполнотекстовогопоиска источникрасширенийконфигурации клавиша кодвозвратадиалога кодировкаxbase кодировкатекста направлениепоиска направлениесортировки обновлениепредопределенныхданных обновлениеприизмененииданных отображениепанелиразделов проверказаполнения режимдиалогавопрос режимзапускаклиентскогоприложения режимокругления режимоткрытияформприложения режимполнотекстовогопоиска скоростьклиентскогосоединения состояниевнешнегоисточникаданных состояниеобновленияконфигурациибазыданных способвыборасертификатаwindows способкодированиястроки статуссообщения типвнешнейкомпоненты типплатформы типповеденияклавишиenter типэлементаинформацииовыполненииобновленияконфигурациибазыданных уровеньизоляциитранзакций хешфункция частидаты\",P=u+b+g+f+_+h+v+y+S+C+x+E+N+T+w+A+M+D+I+k+R+L,O=\"comобъект ftpсоединение httpзапрос httpсервисответ httpсоединение wsопределения wsпрокси xbase анализданных аннотацияxs блокировкаданных буфердвоичныхданных включениеxs выражениекомпоновкиданных генераторслучайныхчисел географическаясхема географическиекоординаты графическаясхема группамоделиxs данныерасшифровкикомпоновкиданных двоичныеданные дендрограмма диаграмма диаграммаганта диалогвыборафайла диалогвыборацвета диалогвыборашрифта диалограсписаниярегламентногозадания диалогредактированиястандартногопериода диапазон документdom документhtml документацияxs доставляемоеуведомление записьdom записьfastinfoset записьhtml записьjson записьxml записьzipфайла записьданных записьтекста записьузловdom запрос защищенноесоединениеopenssl значенияполейрасшифровкикомпоновкиданных извлечениетекста импортxs интернетпочта интернетпочтовоесообщение интернетпочтовыйпрофиль интернетпрокси интернетсоединение информациядляприложенияxs использованиеатрибутаxs использованиесобытияжурналарегистрации источникдоступныхнастроеккомпоновкиданных итераторузловdom картинка квалификаторыдаты квалификаторыдвоичныхданных квалификаторыстроки квалификаторычисла компоновщикмакетакомпоновкиданных компоновщикнастроеккомпоновкиданных конструктормакетаоформлениякомпоновкиданных конструкторнастроеккомпоновкиданных конструкторформатнойстроки линия макеткомпоновкиданных макетобластикомпоновкиданных макетоформлениякомпоновкиданных маскаxs менеджеркриптографии наборсхемxml настройкикомпоновкиданных настройкисериализацииjson обработкакартинок обработкарасшифровкикомпоновкиданных обходдереваdom объявлениеатрибутаxs объявлениенотацииxs объявлениеэлементаxs описаниеиспользованиясобытиядоступжурналарегистрации описаниеиспользованиясобытияотказвдоступежурналарегистрации описаниеобработкирасшифровкикомпоновкиданных описаниепередаваемогофайла описаниетипов определениегруппыатрибутовxs определениегруппымоделиxs определениеограниченияидентичностиxs определениепростоготипаxs определениесоставноготипаxs определениетипадокументаdom определенияxpathxs отборкомпоновкиданных пакетотображаемыхдокументов параметрвыбора параметркомпоновкиданных параметрызаписиjson параметрызаписиxml параметрычтенияxml переопределениеxs планировщик полеанализаданных полекомпоновкиданных построительdom построительзапроса построительотчета построительотчетаанализаданных построительсхемxml поток потоквпамяти почта почтовоесообщение преобразованиеxsl преобразованиекканоническомуxml процессорвыводарезультатакомпоновкиданныхвколлекциюзначений процессорвыводарезультатакомпоновкиданныхвтабличныйдокумент процессоркомпоновкиданных разыменовательпространствименdom рамка расписаниерегламентногозадания расширенноеимяxml результатчтенияданных своднаядиаграмма связьпараметравыбора связьпотипу связьпотипукомпоновкиданных сериализаторxdto сертификатклиентаwindows сертификатклиентафайл сертификаткриптографии сертификатыудостоверяющихцентровwindows сертификатыудостоверяющихцентровфайл сжатиеданных системнаяинформация сообщениепользователю сочетаниеклавиш сравнениезначений стандартнаядатаначала стандартныйпериод схемаxml схемакомпоновкиданных табличныйдокумент текстовыйдокумент тестируемоеприложение типданныхxml уникальныйидентификатор фабрикаxdto файл файловыйпоток фасетдлиныxs фасетколичестваразрядовдробнойчастиxs фасетмаксимальноговключающегозначенияxs фасетмаксимальногоисключающегозначенияxs фасетмаксимальнойдлиныxs фасетминимальноговключающегозначенияxs фасетминимальногоисключающегозначенияxs фасетминимальнойдлиныxs фасетобразцаxs фасетобщегоколичестваразрядовxs фасетперечисленияxs фасетпробельныхсимволовxs фильтрузловdom форматированнаястрока форматированныйдокумент фрагментxs хешированиеданных хранилищезначения цвет чтениеfastinfoset чтениеhtml чтениеjson чтениеxml чтениеzipфайла чтениеданных чтениетекста чтениеузловdom шрифт элементрезультатакомпоновкиданных \",F=\"comsafearray деревозначений массив соответствие списокзначений структура таблицазначений фиксированнаяструктура фиксированноесоответствие фиксированныймассив \",B=O+F,G=\"null истина ложь неопределено\",q=e.inherit(e.NM),U={\ncN:\"string\",b:'\"|\\\\|',e:'\"|$',c:[{b:'\"\"'}]},z={b:\"'\",e:\"'\",eB:!0,eE:!0,c:[{cN:\"number\",b:\"\\\\d{4}([\\\\.\\\\\\\\/:-]?\\\\d{2}){0,5}\"}]},$=e.inherit(e.CLCM),V={cN:\"meta\",l:t,b:\"#|&\",e:\"$\",k:{\"meta-keyword\":i+s},c:[$]},W={cN:\"symbol\",b:\"~\",e:\";|:\",eE:!0},H={cN:\"function\",l:t,v:[{b:\"процедура|функция\",e:\"\\\\)\",k:\"процедура функция\"},{b:\"конецпроцедуры|конецфункции\",k:\"конецпроцедуры конецфункции\"}],c:[{b:\"\\\\(\",e:\"\\\\)\",endsParent:!0,c:[{cN:\"params\",l:t,b:t,e:\",\",eE:!0,eW:!0,k:{keyword:\"знач\",literal:G},c:[q,U,z]},$]},e.inherit(e.TM,{b:t})]};return{cI:!0,l:t,k:{keyword:i,built_in:m,\"class\":P,type:B,literal:G},c:[V,H,$,W,q,U,z]}}),e.registerLanguage(\"abnf\",function(e){var t={ruleDeclaration:\"^[a-zA-Z][a-zA-Z0-9-]*\",unexpectedChars:\"[!@#$^&',?+~`|:]\"},r=[\"ALPHA\",\"BIT\",\"CHAR\",\"CR\",\"CRLF\",\"CTL\",\"DIGIT\",\"DQUOTE\",\"HEXDIG\",\"HTAB\",\"LF\",\"LWSP\",\"OCTET\",\"SP\",\"VCHAR\",\"WSP\"],a=e.C(\";\",\"$\"),i={cN:\"symbol\",b:/%b[0-1]+(-[0-1]+|(\\.[0-1]+)+){0,1}/},n={cN:\"symbol\",b:/%d[0-9]+(-[0-9]+|(\\.[0-9]+)+){0,1}/},o={cN:\"symbol\",b:/%x[0-9A-F]+(-[0-9A-F]+|(\\.[0-9A-F]+)+){0,1}/},s={cN:\"symbol\",b:/%[si]/},l={b:t.ruleDeclaration+\"\\\\s*=\",rB:!0,e:/=/,r:0,c:[{cN:\"attribute\",b:t.ruleDeclaration}]};return{i:t.unexpectedChars,k:r.join(\" \"),c:[l,a,i,n,o,s,e.QSM,e.NM]}}),e.registerLanguage(\"accesslog\",function(e){return{c:[{cN:\"number\",b:\"\\\\b\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}(:\\\\d{1,5})?\\\\b\"},{cN:\"number\",b:\"\\\\b\\\\d+\\\\b\",r:0},{cN:\"string\",b:'\"(GET|POST|HEAD|PUT|DELETE|CONNECT|OPTIONS|PATCH|TRACE)',e:'\"',k:\"GET POST HEAD PUT DELETE CONNECT OPTIONS PATCH TRACE\",i:\"\\\\n\",r:10},{cN:\"string\",b:/\\[/,e:/\\]/,i:\"\\\\n\"},{cN:\"string\",b:'\"',e:'\"',i:\"\\\\n\"}]}}),e.registerLanguage(\"actionscript\",function(e){var t=\"[a-zA-Z_$][a-zA-Z0-9_$]*\",r=\"([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)\",a={cN:\"rest_arg\",b:\"[.]{3}\",e:t,r:10};return{aliases:[\"as\"],k:{keyword:\"as break case catch class const continue default delete do dynamic each else extends final finally for function get if implements import in include instanceof interface internal is namespace native new override package private protected public return set static super switch this throw try typeof use var void while with\",literal:\"true false null undefined\"},c:[e.ASM,e.QSM,e.CLCM,e.CBCM,e.CNM,{cN:\"class\",bK:\"package\",e:\"{\",c:[e.TM]},{cN:\"class\",bK:\"class interface\",e:\"{\",eE:!0,c:[{bK:\"extends implements\"},e.TM]},{cN:\"meta\",bK:\"import include\",e:\";\",k:{\"meta-keyword\":\"import include\"}},{cN:\"function\",bK:\"function\",e:\"[{;]\",eE:!0,i:\"\\\\S\",c:[e.TM,{cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",c:[e.ASM,e.QSM,e.CLCM,e.CBCM,a]},{b:\":\\\\s*\"+r}]},e.METHOD_GUARD],i:/#/}}),e.registerLanguage(\"ada\",function(e){var t=\"\\\\d(_|\\\\d)*\",r=\"[eE][-+]?\"+t,a=t+\"(\\\\.\"+t+\")?(\"+r+\")?\",i=\"\\\\w+\",n=t+\"#\"+i+\"(\\\\.\"+i+\")?#(\"+r+\")?\",o=\"\\\\b(\"+n+\"|\"+a+\")\",s=\"[A-Za-z](_?[A-Za-z0-9.])*\",l=\"[]{}%#'\\\"\",c=e.C(\"--\",\"$\"),d={b:\"\\\\s+:\\\\s+\",e:\"\\\\s*(:=|;|\\\\)|=>|$)\",i:l,c:[{bK:\"loop for declare others\",endsParent:!0},{cN:\"keyword\",bK:\"not null constant access function procedure in out aliased exception\"},{cN:\"type\",b:s,endsParent:!0,r:0}]};return{cI:!0,k:{keyword:\"abort else new return abs elsif not reverse abstract end accept entry select access exception of separate aliased exit or some all others subtype and for out synchronized array function overriding at tagged generic package task begin goto pragma terminate body private then if procedure type case in protected constant interface is raise use declare range delay limited record when delta loop rem while digits renames with do mod requeue xor\",literal:\"True False\"},c:[c,{cN:\"string\",b:/\"/,e:/\"/,c:[{b:/\"\"/,r:0}]},{cN:\"string\",b:/'.'/},{cN:\"number\",b:o,r:0},{cN:\"symbol\",b:\"'\"+s},{cN:\"title\",b:\"(\\\\bwith\\\\s+)?(\\\\bprivate\\\\s+)?\\\\bpackage\\\\s+(\\\\bbody\\\\s+)?\",e:\"(is|$)\",k:\"package body\",eB:!0,eE:!0,i:l},{b:\"(\\\\b(with|overriding)\\\\s+)?\\\\b(function|procedure)\\\\s+\",e:\"(\\\\bis|\\\\bwith|\\\\brenames|\\\\)\\\\s*;)\",k:\"overriding function procedure with is renames return\",rB:!0,c:[c,{cN:\"title\",b:\"(\\\\bwith\\\\s+)?\\\\b(function|procedure)\\\\s+\",e:\"(\\\\(|\\\\s+|$)\",eB:!0,eE:!0,i:l},d,{cN:\"type\",b:\"\\\\breturn\\\\s+\",e:\"(\\\\s+|;|$)\",k:\"return\",eB:!0,eE:!0,endsParent:!0,i:l}]},{cN:\"type\",b:\"\\\\b(sub)?type\\\\s+\",e:\"\\\\s+\",k:\"type\",eB:!0,i:l},d]}}),e.registerLanguage(\"apache\",function(e){var t={cN:\"number\",b:\"[\\\\$%]\\\\d+\"};return{aliases:[\"apacheconf\"],cI:!0,c:[e.HCM,{cN:\"section\",b:\"</?\",e:\">\"},{cN:\"attribute\",b:/\\w+/,r:0,k:{nomarkup:\"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername\"},starts:{e:/$/,r:0,k:{literal:\"on off all\"},c:[{cN:\"meta\",b:\"\\\\s\\\\[\",e:\"\\\\]$\"},{cN:\"variable\",b:\"[\\\\$%]\\\\{\",e:\"\\\\}\",c:[\"self\",t]},t,e.QSM]}}],i:/\\S/}}),e.registerLanguage(\"applescript\",function(e){var t=e.inherit(e.QSM,{i:\"\"}),r={cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",c:[\"self\",e.CNM,t]},a=e.C(\"--\",\"$\"),i=e.C(\"\\\\(\\\\*\",\"\\\\*\\\\)\",{c:[\"self\",a]}),n=[a,i,e.HCM];return{aliases:[\"osascript\"],k:{keyword:\"about above after against and around as at back before beginning behind below beneath beside between but by considering contain contains continue copy div does eighth else end equal equals error every exit fifth first for fourth from front get given global if ignoring in into is it its last local me middle mod my ninth not of on onto or over prop property put ref reference repeat returning script second set seventh since sixth some tell tenth that the|0 then third through thru timeout times to transaction try until where while whose with without\",literal:\"AppleScript false linefeed return pi quote result space tab true\",built_in:\"alias application boolean class constant date file integer list number real record string text activate beep count delay launch log offset read round run say summarize write character characters contents day frontmost id item length month name paragraph paragraphs rest reverse running time version weekday word words year\"},c:[t,e.CNM,{cN:\"built_in\",b:\"\\\\b(clipboard info|the clipboard|info for|list (disks|folder)|mount volume|path to|(close|open for) access|(get|set) eof|current date|do shell script|get volume settings|random number|set volume|system attribute|system info|time to GMT|(load|run|store) script|scripting components|ASCII (character|number)|localized string|choose (application|color|file|file name|folder|from list|remote application|URL)|display (alert|dialog))\\\\b|^\\\\s*return\\\\b\"},{cN:\"literal\",b:\"\\\\b(text item delimiters|current application|missing value)\\\\b\"},{cN:\"keyword\",b:\"\\\\b(apart from|aside from|instead of|out of|greater than|isn't|(doesn't|does not) (equal|come before|come after|contain)|(greater|less) than( or equal)?|(starts?|ends|begins?) with|contained by|comes (before|after)|a (ref|reference)|POSIX file|POSIX path|(date|time) string|quoted form)\\\\b\"},{bK:\"on\",i:\"[${=;\\\\n]\",c:[e.UTM,r]}].concat(n),i:\"//|->|=>|\\\\[\\\\[\"}}),e.registerLanguage(\"cpp\",function(e){var t={cN:\"keyword\",b:\"\\\\b[a-z\\\\d_]*_t\\\\b\"},r={cN:\"string\",v:[{b:'(u8?|U)?L?\"',e:'\"',i:\"\\\\n\",c:[e.BE]},{b:'(u8?|U)?R\"',e:'\"',c:[e.BE]},{b:\"'\\\\\\\\?.\",e:\"'\",i:\".\"}]},a={cN:\"number\",v:[{b:\"\\\\b(0b[01']+)\"},{b:\"(-?)\\\\b([\\\\d']+(\\\\.[\\\\d']*)?|\\\\.[\\\\d']+)(u|U|l|L|ul|UL|f|F|b|B)\"},{b:\"(-?)(\\\\b0[xX][a-fA-F0-9']+|(\\\\b[\\\\d']+(\\\\.[\\\\d']*)?|\\\\.[\\\\d']+)([eE][-+]?[\\\\d']+)?)\"}],r:0},i={cN:\"meta\",b:/#\\s*[a-z]+\\b/,e:/$/,k:{\"meta-keyword\":\"if else elif endif define undef warning error line pragma ifdef ifndef include\"},c:[{b:/\\\\\\n/,r:0},e.inherit(r,{cN:\"meta-string\"}),{cN:\"meta-string\",b:/<[^\\n>]*>/,e:/$/,i:\"\\\\n\"},e.CLCM,e.CBCM]},n=e.IR+\"\\\\s*\\\\(\",o={keyword:\"int float while private char catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and or not\",built_in:\"std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr\",literal:\"true false nullptr NULL\"},s=[t,e.CLCM,e.CBCM,a,r];return{aliases:[\"c\",\"cc\",\"h\",\"c++\",\"h++\",\"hpp\"],k:o,i:\"</\",c:s.concat([i,{b:\"\\\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\\\s*<\",e:\">\",k:o,c:[\"self\",t]},{b:e.IR+\"::\",k:o},{v:[{b:/=/,e:/;/},{b:/\\(/,e:/\\)/},{bK:\"new throw return else\",e:/;/}],k:o,c:s.concat([{b:/\\(/,e:/\\)/,k:o,c:s.concat([\"self\"]),r:0}]),r:0},{cN:\"function\",b:\"(\"+e.IR+\"[\\\\*&\\\\s]+)+\"+n,rB:!0,e:/[{;=]/,eE:!0,k:o,i:/[^\\w\\s\\*&]/,c:[{b:n,rB:!0,c:[e.TM],r:0},{cN:\"params\",b:/\\(/,e:/\\)/,k:o,r:0,c:[e.CLCM,e.CBCM,r,a,t]},e.CLCM,e.CBCM,i]},{cN:\"class\",bK:\"class struct\",e:/[{;:]/,c:[{b:/</,e:/>/,c:[\"self\"]},e.TM]}]),exports:{preprocessor:i,strings:r,k:o}}}),e.registerLanguage(\"arduino\",function(e){var t=e.getLanguage(\"cpp\").exports;return{k:{keyword:\"boolean byte word string String array \"+t.k.keyword,built_in:\"setup loop while catch for if do goto try switch case else default break continue return KeyboardController MouseController SoftwareSerial EthernetServer EthernetClient LiquidCrystal RobotControl GSMVoiceCall EthernetUDP EsploraTFT HttpClient RobotMotor WiFiClient GSMScanner FileSystem Scheduler GSMServer YunClient YunServer IPAddress GSMClient GSMModem Keyboard Ethernet Console GSMBand Esplora Stepper Process WiFiUDP GSM_SMS Mailbox USBHost Firmata PImage Client Server GSMPIN FileIO Bridge Serial EEPROM Stream Mouse Audio Servo File Task GPRS WiFi Wire TFT GSM SPI SD runShellCommandAsynchronously analogWriteResolution retrieveCallingNumber printFirmwareVersion analogReadResolution sendDigitalPortPair noListenOnLocalhost readJoystickButton setFirmwareVersion readJoystickSwitch scrollDisplayRight getVoiceCallStatus scrollDisplayLeft writeMicroseconds delayMicroseconds beginTransmission getSignalStrength runAsynchronously getAsynchronously listenOnLocalhost getCurrentCarrier readAccelerometer messageAvailable sendDigitalPorts lineFollowConfig countryNameWrite runShellCommand readStringUntil rewindDirectory readTemperature setClockDivider readLightSensor endTransmission analogReference detachInterrupt countryNameRead attachInterrupt encryptionType readBytesUntil robotNameWrite readMicrophone robotNameRead cityNameWrite userNameWrite readJoystickY readJoystickX mouseReleased openNextFile scanNetworks noInterrupts digitalWrite beginSpeaker mousePressed isActionDone mouseDragged displayLogos noAutoscroll addParameter remoteNumber getModifiers keyboardRead userNameRead waitContinue processInput parseCommand printVersion readNetworks writeMessage blinkVersion cityNameRead readMessage setDataMode parsePacket isListening setBitOrder beginPacket isDirectory motorsWrite drawCompass digitalRead clearScreen serialEvent rightToLeft setTextSize leftToRight requestFrom keyReleased compassRead analogWrite interrupts WiFiServer disconnect playMelody parseFloat autoscroll getPINUsed setPINUsed setTimeout sendAnalog readSlider analogRead beginWrite createChar motorsStop keyPressed tempoWrite readButton subnetMask debugPrint macAddress writeGreen randomSeed attachGPRS readString sendString remotePort releaseAll mouseMoved background getXChange getYChange answerCall getResult voiceCall endPacket constrain getSocket writeJSON getButton available connected findUntil readBytes exitValue readGreen writeBlue startLoop IPAddress isPressed sendSysex pauseMode gatewayIP setCursor getOemKey tuneWrite noDisplay loadImage switchPIN onRequest onReceive changePIN playFile noBuffer parseInt overflow checkPIN knobRead beginTFT bitClear updateIR bitWrite position writeRGB highByte writeRed setSpeed readBlue noStroke remoteIP transfer shutdown hangCall beginSMS endWrite attached maintain noCursor checkReg checkPUK shiftOut isValid shiftIn pulseIn connect println localIP pinMode getIMEI display noBlink process getBand running beginSD drawBMP lowByte setBand release bitRead prepare pointTo readRed setMode noFill remove listen stroke detach attach noTone exists buffer height bitSet circle config cursor random IRread setDNS endSMS getKey micros millis begin print write ready flush width isPIN blink clear press mkdir rmdir close point yield image BSSID click delay read text move peek beep rect line open seek fill size turn stop home find step tone sqrt RSSI SSID end bit tan cos sin pow map abs max min get run put\",literal:\"DIGITAL_MESSAGE FIRMATA_STRING ANALOG_MESSAGE REPORT_DIGITAL REPORT_ANALOG INPUT_PULLUP SET_PIN_MODE INTERNAL2V56 SYSTEM_RESET LED_BUILTIN INTERNAL1V1 SYSEX_START INTERNAL EXTERNAL DEFAULT OUTPUT INPUT HIGH LOW\"},c:[t.preprocessor,e.CLCM,e.CBCM,e.ASM,e.QSM,e.CNM]}}),e.registerLanguage(\"armasm\",function(e){return{cI:!0,aliases:[\"arm\"],l:\"\\\\.?\"+e.IR,k:{meta:\".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND \",built_in:\"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @\"},c:[{cN:\"keyword\",b:\"\\\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?\",e:\"\\\\s\"},e.C(\"[;@]\",\"$\",{r:0}),e.CBCM,e.QSM,{cN:\"string\",b:\"'\",e:\"[^\\\\\\\\]'\",r:0},{cN:\"title\",b:\"\\\\|\",e:\"\\\\|\",i:\"\\\\n\",r:0},{cN:\"number\",v:[{b:\"[#$=]?0x[0-9a-f]+\"},{b:\"[#$=]?0b[01]+\"},{b:\"[#$=]\\\\d+\"},{b:\"\\\\b\\\\d+\"}],r:0},{cN:\"symbol\",v:[{b:\"^[a-z_\\\\.\\\\$][a-z0-9_\\\\.\\\\$]+\"},{b:\"^\\\\s*[a-z_\\\\.\\\\$][a-z0-9_\\\\.\\\\$]+:\"},{b:\"[=#]\\\\w+\"}],r:0}]}}),e.registerLanguage(\"xml\",function(e){var t=\"[A-Za-z0-9\\\\._:-]+\",r={eW:!0,i:/</,r:0,c:[{cN:\"attr\",b:t,r:0},{b:/=\\s*/,r:0,c:[{cN:\"string\",endsParent:!0,v:[{b:/\"/,e:/\"/},{b:/'/,e:/'/},{b:/[^\\s\"'=<>`]+/}]}]}]};return{aliases:[\"html\",\"xhtml\",\"rss\",\"atom\",\"xjb\",\"xsd\",\"xsl\",\"plist\"],cI:!0,c:[{cN:\"meta\",b:\"<!DOCTYPE\",e:\">\",r:10,c:[{b:\"\\\\[\",e:\"\\\\]\"}]},e.C(\"<!--\",\"-->\",{r:10}),{b:\"<\\\\!\\\\[CDATA\\\\[\",e:\"\\\\]\\\\]>\",r:10},{b:/<\\?(php)?/,e:/\\?>/,sL:\"php\",c:[{b:\"/\\\\*\",e:\"\\\\*/\",skip:!0}]},{cN:\"tag\",b:\"<style(?=\\\\s|>|$)\",e:\">\",k:{name:\"style\"},c:[r],starts:{e:\"</style>\",rE:!0,sL:[\"css\",\"xml\"]}},{cN:\"tag\",b:\"<script(?=\\\\s|>|$)\",e:\">\",k:{name:\"script\"},c:[r],starts:{e:\"</script>\",rE:!0,sL:[\"actionscript\",\"javascript\",\"handlebars\",\"xml\"]}},{cN:\"meta\",v:[{b:/<\\?xml/,e:/\\?>/,r:10},{b:/<\\?\\w+/,e:/\\?>/}]},{cN:\"tag\",b:\"</?\",e:\"/?>\",c:[{cN:\"name\",b:/[^\\/><\\s]+/,r:0},r]}]}}),e.registerLanguage(\"asciidoc\",function(e){return{aliases:[\"adoc\"],c:[e.C(\"^/{4,}\\\\n\",\"\\\\n/{4,}$\",{r:10}),e.C(\"^//\",\"$\",{r:0}),{cN:\"title\",b:\"^\\\\.\\\\w.*$\"},{b:\"^[=\\\\*]{4,}\\\\n\",e:\"\\\\n^[=\\\\*]{4,}$\",r:10},{cN:\"section\",r:10,v:[{b:\"^(={1,5}) .+?( \\\\1)?$\"},{b:\"^[^\\\\[\\\\]\\\\n]+?\\\\n[=\\\\-~\\\\^\\\\+]{2,}$\"}]},{cN:\"meta\",b:\"^:.+?:\",e:\"\\\\s\",eE:!0,r:10},{cN:\"meta\",b:\"^\\\\[.+?\\\\]$\",r:0},{cN:\"quote\",b:\"^_{4,}\\\\n\",e:\"\\\\n_{4,}$\",r:10},{cN:\"code\",b:\"^[\\\\-\\\\.]{4,}\\\\n\",e:\"\\\\n[\\\\-\\\\.]{4,}$\",r:10},{b:\"^\\\\+{4,}\\\\n\",e:\"\\\\n\\\\+{4,}$\",c:[{b:\"<\",e:\">\",sL:\"xml\",r:0}],r:10},{cN:\"bullet\",b:\"^(\\\\*+|\\\\-+|\\\\.+|[^\\\\n]+?::)\\\\s+\"},{cN:\"symbol\",b:\"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\\\s+\",r:10},{cN:\"strong\",b:\"\\\\B\\\\*(?![\\\\*\\\\s])\",e:\"(\\\\n{2}|\\\\*)\",c:[{b:\"\\\\\\\\*\\\\w\",r:0}]},{cN:\"emphasis\",b:\"\\\\B'(?!['\\\\s])\",e:\"(\\\\n{2}|')\",c:[{b:\"\\\\\\\\'\\\\w\",r:0}],r:0},{cN:\"emphasis\",b:\"_(?![_\\\\s])\",e:\"(\\\\n{2}|_)\",r:0},{cN:\"string\",v:[{b:\"``.+?''\"},{b:\"`.+?'\"}]},{cN:\"code\",b:\"(`.+?`|\\\\+.+?\\\\+)\",r:0},{cN:\"code\",b:\"^[ \\\\t]\",e:\"$\",r:0},{b:\"^'{3,}[ \\\\t]*$\",r:10},{b:\"(link:)?(http|https|ftp|file|irc|image:?):\\\\S+\\\\[.*?\\\\]\",rB:!0,c:[{b:\"(link|image:?):\",r:0},{cN:\"link\",b:\"\\\\w\",e:\"[^\\\\[]+\",r:0},{cN:\"string\",b:\"\\\\[\",e:\"\\\\]\",eB:!0,eE:!0,r:0}],r:10}]}}),e.registerLanguage(\"aspectj\",function(e){var t=\"false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else extends implements break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws privileged aspectOf adviceexecution proceed cflowbelow cflow initialization preinitialization staticinitialization withincode target within execution getWithinTypeName handler thisJoinPoint thisJoinPointStaticPart thisEnclosingJoinPointStaticPart declare parents warning error soft precedence thisAspectInstance\",r=\"get set args call\";return{k:t,i:/<\\/|#/,c:[e.C(\"/\\\\*\\\\*\",\"\\\\*/\",{r:0,c:[{b:/\\w+@/,r:0},{cN:\"doctag\",b:\"@[A-Za-z]+\"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:\"class\",bK:\"aspect\",e:/[{;=]/,eE:!0,i:/[:;\"\\[\\]]/,c:[{bK:\"extends implements pertypewithin perthis pertarget percflowbelow percflow issingleton\"},e.UTM,{b:/\\([^\\)]*/,e:/[)]+/,k:t+\" \"+r,eE:!1}]},{cN:\"class\",bK:\"class interface\",e:/[{;=]/,eE:!0,r:0,k:\"class interface\",i:/[:\"\\[\\]]/,c:[{bK:\"extends implements\"},e.UTM]},{bK:\"pointcut after before around throwing returning\",e:/[)]/,eE:!1,i:/[\"\\[\\]]/,c:[{b:e.UIR+\"\\\\s*\\\\(\",rB:!0,c:[e.UTM]}]},{b:/[:]/,rB:!0,e:/[{;]/,r:0,eE:!1,k:t,i:/[\"\\[\\]]/,c:[{b:e.UIR+\"\\\\s*\\\\(\",k:t+\" \"+r,r:0},e.QSM]},{bK:\"new throw\",r:0},{cN:\"function\",b:/\\w+ +\\w+(\\.)?\\w+\\s*\\([^\\)]*\\)\\s*((throws)[\\w\\s,]+)?[\\{;]/,rB:!0,e:/[{;=]/,k:t,eE:!0,c:[{b:e.UIR+\"\\\\s*\\\\(\",rB:!0,r:0,c:[e.UTM]},{cN:\"params\",b:/\\(/,e:/\\)/,r:0,k:t,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},e.CNM,{cN:\"meta\",b:\"@[A-Za-z]+\"}]}}),e.registerLanguage(\"autohotkey\",function(e){var t={b:\"`[\\\\s\\\\S]\"};return{cI:!0,aliases:[\"ahk\"],k:{keyword:\"Break Continue Critical Exit ExitApp Gosub Goto New OnExit Pause return SetBatchLines SetTimer Suspend Thread Throw Until ahk_id ahk_class ahk_pid ahk_exe ahk_group\",literal:\"A|0 true false NOT AND OR\",built_in:\"ComSpec Clipboard ClipboardAll ErrorLevel\"},c:[{cN:\"built_in\",b:\"A_[a-zA-Z0-9]+\"},t,e.inherit(e.QSM,{c:[t]}),e.C(\";\",\"$\",{r:0}),e.CBCM,{cN:\"number\",b:e.NR,r:0},{cN:\"subst\",b:\"%(?=[a-zA-Z0-9#_$@])\",e:\"%\",i:\"[^a-zA-Z0-9#_$@]\"},{cN:\"built_in\",b:\"^\\\\s*\\\\w+\\\\s*,\"},{cN:\"meta\",b:\"^\\\\s*#w+\",e:\"$\",r:0},{cN:\"symbol\",c:[t],v:[{b:'^[^\\\\n\";]+::(?!=)'},{b:'^[^\\\\n\";]+:(?!=)',r:0}]},{b:\",\\\\s*,\"}]}}),e.registerLanguage(\"autoit\",function(e){var t=\"ByRef Case Const ContinueCase ContinueLoop Default Dim Do Else ElseIf EndFunc EndIf EndSelect EndSwitch EndWith Enum Exit ExitLoop For Func Global If In Local Next ReDim Return Select Static Step Switch Then To Until Volatile WEnd While With\",r=\"True False And Null Not Or\",a=\"Abs ACos AdlibRegister AdlibUnRegister Asc AscW ASin Assign ATan AutoItSetOption AutoItWinGetTitle AutoItWinSetTitle Beep Binary BinaryLen BinaryMid BinaryToString BitAND BitNOT BitOR BitRotate BitShift BitXOR BlockInput Break Call CDTray Ceiling Chr ChrW ClipGet ClipPut ConsoleRead ConsoleWrite ConsoleWriteError ControlClick ControlCommand ControlDisable ControlEnable ControlFocus ControlGetFocus ControlGetHandle ControlGetPos ControlGetText ControlHide ControlListView ControlMove ControlSend ControlSetText ControlShow ControlTreeView Cos Dec DirCopy DirCreate DirGetSize DirMove DirRemove DllCall DllCallAddress DllCallbackFree DllCallbackGetPtr DllCallbackRegister DllClose DllOpen DllStructCreate DllStructGetData DllStructGetPtr DllStructGetSize DllStructSetData DriveGetDrive DriveGetFileSystem DriveGetLabel DriveGetSerial DriveGetType DriveMapAdd DriveMapDel DriveMapGet DriveSetLabel DriveSpaceFree DriveSpaceTotal DriveStatus EnvGet EnvSet EnvUpdate Eval Execute Exp FileChangeDir FileClose FileCopy FileCreateNTFSLink FileCreateShortcut FileDelete FileExists FileFindFirstFile FileFindNextFile FileFlush FileGetAttrib FileGetEncoding FileGetLongName FileGetPos FileGetShortcut FileGetShortName FileGetSize FileGetTime FileGetVersion FileInstall FileMove FileOpen FileOpenDialog FileRead FileReadLine FileReadToArray FileRecycle FileRecycleEmpty FileSaveDialog FileSelectFolder FileSetAttrib FileSetEnd FileSetPos FileSetTime FileWrite FileWriteLine Floor FtpSetProxy FuncName GUICreate GUICtrlCreateAvi GUICtrlCreateButton GUICtrlCreateCheckbox GUICtrlCreateCombo GUICtrlCreateContextMenu GUICtrlCreateDate GUICtrlCreateDummy GUICtrlCreateEdit GUICtrlCreateGraphic GUICtrlCreateGroup GUICtrlCreateIcon GUICtrlCreateInput GUICtrlCreateLabel GUICtrlCreateList GUICtrlCreateListView GUICtrlCreateListViewItem GUICtrlCreateMenu GUICtrlCreateMenuItem GUICtrlCreateMonthCal GUICtrlCreateObj GUICtrlCreatePic GUICtrlCreateProgress GUICtrlCreateRadio GUICtrlCreateSlider GUICtrlCreateTab GUICtrlCreateTabItem GUICtrlCreateTreeView GUICtrlCreateTreeViewItem GUICtrlCreateUpdown GUICtrlDelete GUICtrlGetHandle GUICtrlGetState GUICtrlRead GUICtrlRecvMsg GUICtrlRegisterListViewSort GUICtrlSendMsg GUICtrlSendToDummy GUICtrlSetBkColor GUICtrlSetColor GUICtrlSetCursor GUICtrlSetData GUICtrlSetDefBkColor GUICtrlSetDefColor GUICtrlSetFont GUICtrlSetGraphic GUICtrlSetImage GUICtrlSetLimit GUICtrlSetOnEvent GUICtrlSetPos GUICtrlSetResizing GUICtrlSetState GUICtrlSetStyle GUICtrlSetTip GUIDelete GUIGetCursorInfo GUIGetMsg GUIGetStyle GUIRegisterMsg GUISetAccelerators GUISetBkColor GUISetCoord GUISetCursor GUISetFont GUISetHelp GUISetIcon GUISetOnEvent GUISetState GUISetStyle GUIStartGroup GUISwitch Hex HotKeySet HttpSetProxy HttpSetUserAgent HWnd InetClose InetGet InetGetInfo InetGetSize InetRead IniDelete IniRead IniReadSection IniReadSectionNames IniRenameSection IniWrite IniWriteSection InputBox Int IsAdmin IsArray IsBinary IsBool IsDeclared IsDllStruct IsFloat IsFunc IsHWnd IsInt IsKeyword IsNumber IsObj IsPtr IsString Log MemGetStats Mod MouseClick MouseClickDrag MouseDown MouseGetCursor MouseGetPos MouseMove MouseUp MouseWheel MsgBox Number ObjCreate ObjCreateInterface ObjEvent ObjGet ObjName OnAutoItExitRegister OnAutoItExitUnRegister Ping PixelChecksum PixelGetColor PixelSearch ProcessClose ProcessExists ProcessGetStats ProcessList ProcessSetPriority ProcessWait ProcessWaitClose ProgressOff ProgressOn ProgressSet Ptr Random RegDelete RegEnumKey RegEnumVal RegRead RegWrite Round Run RunAs RunAsWait RunWait Send SendKeepActive SetError SetExtended ShellExecute ShellExecuteWait Shutdown Sin Sleep SoundPlay SoundSetWaveVolume SplashImageOn SplashOff SplashTextOn Sqrt SRandom StatusbarGetText StderrRead StdinWrite StdioClose StdoutRead String StringAddCR StringCompare StringFormat StringFromASCIIArray StringInStr StringIsAlNum StringIsAlpha StringIsASCII StringIsDigit StringIsFloat StringIsInt StringIsLower StringIsSpace StringIsUpper StringIsXDigit StringLeft StringLen StringLower StringMid StringRegExp StringRegExpReplace StringReplace StringReverse StringRight StringSplit StringStripCR StringStripWS StringToASCIIArray StringToBinary StringTrimLeft StringTrimRight StringUpper Tan TCPAccept TCPCloseSocket TCPConnect TCPListen TCPNameToIP TCPRecv TCPSend TCPShutdown, UDPShutdown TCPStartup, UDPStartup TimerDiff TimerInit ToolTip TrayCreateItem TrayCreateMenu TrayGetMsg TrayItemDelete TrayItemGetHandle TrayItemGetState TrayItemGetText TrayItemSetOnEvent TrayItemSetState TrayItemSetText TraySetClick TraySetIcon TraySetOnEvent TraySetPauseIcon TraySetState TraySetToolTip TrayTip UBound UDPBind UDPCloseSocket UDPOpen UDPRecv UDPSend VarGetType WinActivate WinActive WinClose WinExists WinFlash WinGetCaretPos WinGetClassList WinGetClientSize WinGetHandle WinGetPos WinGetProcess WinGetState WinGetText WinGetTitle WinKill WinList WinMenuSelectItem WinMinimizeAll WinMinimizeAllUndo WinMove WinSetOnTop WinSetState WinSetTitle WinSetTrans WinWait\",i={v:[e.C(\";\",\"$\",{r:0}),e.C(\"#cs\",\"#ce\"),e.C(\"#comments-start\",\"#comments-end\")]},n={b:\"\\\\$[A-z0-9_]+\"},o={cN:\"string\",v:[{b:/\"/,e:/\"/,c:[{b:/\"\"/,r:0}]},{b:/'/,e:/'/,c:[{b:/''/,r:0}]}]},s={v:[e.BNM,e.CNM]},l={cN:\"meta\",b:\"#\",e:\"$\",k:{\"meta-keyword\":\"comments include include-once NoTrayIcon OnAutoItStartRegister pragma compile RequireAdmin\"},c:[{b:/\\\\\\n/,r:0},{bK:\"include\",k:{\"meta-keyword\":\"include\"},e:\"$\",c:[o,{cN:\"meta-string\",v:[{b:\"<\",e:\">\"},{b:/\"/,e:/\"/,c:[{b:/\"\"/,r:0}]},{b:/'/,e:/'/,c:[{b:/''/,r:0}]}]}]},o,i]},c={cN:\"symbol\",b:\"@[A-z0-9_]+\"},d={cN:\"function\",bK:\"Func\",e:\"$\",i:\"\\\\$|\\\\[|%\",c:[e.UTM,{cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",c:[n,o,s]}]};return{cI:!0,i:/\\/\\*/,k:{keyword:t,built_in:a,literal:r},c:[i,n,o,s,l,c,d]}}),e.registerLanguage(\"avrasm\",function(e){return{cI:!0,l:\"\\\\.?\"+e.IR,k:{keyword:\"adc add adiw and andi asr bclr bld brbc brbs brcc brcs break breq brge brhc brhs brid brie brlo brlt brmi brne brpl brsh brtc brts brvc brvs bset bst call cbi cbr clc clh cli cln clr cls clt clv clz com cp cpc cpi cpse dec eicall eijmp elpm eor fmul fmuls fmulsu icall ijmp in inc jmp ld ldd ldi lds lpm lsl lsr mov movw mul muls mulsu neg nop or ori out pop push rcall ret reti rjmp rol ror sbc sbr sbrc sbrs sec seh sbi sbci sbic sbis sbiw sei sen ser ses set sev sez sleep spm st std sts sub subi swap tst wdr\",built_in:\"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 r30 r31 x|0 xh xl y|0 yh yl z|0 zh zl ucsr1c udr1 ucsr1a ucsr1b ubrr1l ubrr1h ucsr0c ubrr0h tccr3c tccr3a tccr3b tcnt3h tcnt3l ocr3ah ocr3al ocr3bh ocr3bl ocr3ch ocr3cl icr3h icr3l etimsk etifr tccr1c ocr1ch ocr1cl twcr twdr twar twsr twbr osccal xmcra xmcrb eicra spmcsr spmcr portg ddrg ping portf ddrf sreg sph spl xdiv rampz eicrb eimsk gimsk gicr eifr gifr timsk tifr mcucr mcucsr tccr0 tcnt0 ocr0 assr tccr1a tccr1b tcnt1h tcnt1l ocr1ah ocr1al ocr1bh ocr1bl icr1h icr1l tccr2 tcnt2 ocr2 ocdr wdtcr sfior eearh eearl eedr eecr porta ddra pina portb ddrb pinb portc ddrc pinc portd ddrd pind spdr spsr spcr udr0 ucsr0a ucsr0b ubrr0l acsr admux adcsr adch adcl porte ddre pine pinf\",meta:\".byte .cseg .db .def .device .dseg .dw .endmacro .equ .eseg .exit .include .list .listmac .macro .nolist .org .set\"},c:[e.CBCM,e.C(\";\",\"$\",{r:0}),e.CNM,e.BNM,{cN:\"number\",b:\"\\\\b(\\\\$[a-zA-Z0-9]+|0o[0-7]+)\"},e.QSM,{cN:\"string\",b:\"'\",e:\"[^\\\\\\\\]'\",i:\"[^\\\\\\\\][^']\"},{cN:\"symbol\",b:\"^[A-Za-z0-9_.$]+:\"},{cN:\"meta\",b:\"#\",e:\"$\"},{cN:\"subst\",b:\"@[0-9]+\"}]}}),e.registerLanguage(\"awk\",function(e){var t={cN:\"variable\",v:[{b:/\\$[\\w\\d#@][\\w\\d_]*/},{b:/\\$\\{(.*?)}/}]},r=\"BEGIN END if else while do for in break continue delete next nextfile function func exit|10\",a={cN:\"string\",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,r:10},{b:/(u|b)?r?\"\"\"/,e:/\"\"\"/,r:10},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)\"/,e:/\"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)\"/,e:/\"/},e.ASM,e.QSM]};return{k:{keyword:r},c:[t,a,e.RM,e.HCM,e.NM]}}),e.registerLanguage(\"axapta\",function(e){return{k:\"false int abstract private char boolean static null if for true while long throw finally protected final return void enum else break new catch byte super case short default double public try this switch continue reverse firstfast firstonly forupdate nofetch sum avg minof maxof count order group by asc desc index hint like dispaly edit client server ttsbegin ttscommit str real date container anytype common div mod\",c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.CNM,{cN:\"meta\",b:\"#\",e:\"$\"},{cN:\"class\",bK:\"class interface\",e:\"{\",eE:!0,i:\":\",c:[{bK:\"extends implements\"},e.UTM]}]}}),e.registerLanguage(\"bash\",function(e){var t={cN:\"variable\",v:[{b:/\\$[\\w\\d#@][\\w\\d_]*/},{b:/\\$\\{(.*?)}/}]},r={cN:\"string\",b:/\"/,e:/\"/,c:[e.BE,t,{cN:\"variable\",b:/\\$\\(/,e:/\\)/,c:[e.BE]}]},a={cN:\"string\",b:/'/,e:/'/};return{aliases:[\"sh\",\"zsh\"],l:/\\b-?[a-z\\._]+\\b/,k:{keyword:\"if then else elif fi for while in do done case esac function\",literal:\"true false\",built_in:\"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp\",_:\"-ne -eq -lt -gt -f -d -e -s -l -a\"},c:[{cN:\"meta\",b:/^#![^\\n]+sh\\s*$/,r:10},{cN:\"function\",b:/\\w[\\w\\d_]*\\s*\\(\\s*\\)\\s*\\{/,rB:!0,c:[e.inherit(e.TM,{b:/\\w[\\w\\d_]*/})],r:0},e.HCM,r,a,t]}}),e.registerLanguage(\"basic\",function(e){return{cI:!0,i:\"^.\",l:\"[a-zA-Z][a-zA-Z0-9_$%!#]*\",k:{keyword:\"ABS ASC AND ATN AUTO|0 BEEP BLOAD|10 BSAVE|10 CALL CALLS CDBL CHAIN CHDIR CHR$|10 CINT CIRCLE CLEAR CLOSE CLS COLOR COM COMMON CONT COS CSNG CSRLIN CVD CVI CVS DATA DATE$ DEFDBL DEFINT DEFSNG DEFSTR DEF|0 SEG USR DELETE DIM DRAW EDIT END ENVIRON ENVIRON$ EOF EQV ERASE ERDEV ERDEV$ ERL ERR ERROR EXP FIELD FILES FIX FOR|0 FRE GET GOSUB|10 GOTO HEX$ IF|0 THEN ELSE|0 INKEY$ INP INPUT INPUT# INPUT$ INSTR IMP INT IOCTL IOCTL$ KEY ON OFF LIST KILL LEFT$ LEN LET LINE LLIST LOAD LOC LOCATE LOF LOG LPRINT USING LSET MERGE MID$ MKDIR MKD$ MKI$ MKS$ MOD NAME NEW NEXT NOISE NOT OCT$ ON OR PEN PLAY STRIG OPEN OPTION BASE OUT PAINT PALETTE PCOPY PEEK PMAP POINT POKE POS PRINT PRINT] PSET PRESET PUT RANDOMIZE READ REM RENUM RESET|0 RESTORE RESUME RETURN|0 RIGHT$ RMDIR RND RSET RUN SAVE SCREEN SGN SHELL SIN SOUND SPACE$ SPC SQR STEP STICK STOP STR$ STRING$ SWAP SYSTEM TAB TAN TIME$ TIMER TROFF TRON TO USR VAL VARPTR VARPTR$ VIEW WAIT WHILE WEND WIDTH WINDOW WRITE XOR\"\n},c:[e.QSM,e.C(\"REM\",\"$\",{r:10}),e.C(\"'\",\"$\",{r:0}),{cN:\"symbol\",b:\"^[0-9]+ \",r:10},{cN:\"number\",b:\"\\\\b([0-9]+[0-9edED.]*[#!]?)\",r:0},{cN:\"number\",b:\"(&[hH][0-9a-fA-F]{1,4})\"},{cN:\"number\",b:\"(&[oO][0-7]{1,6})\"}]}}),e.registerLanguage(\"bnf\",function(e){return{c:[{cN:\"attribute\",b:/</,e:/>/},{b:/::=/,starts:{e:/$/,c:[{b:/</,e:/>/},e.CLCM,e.CBCM,e.ASM,e.QSM]}}]}}),e.registerLanguage(\"brainfuck\",function(e){var t={cN:\"literal\",b:\"[\\\\+\\\\-]\",r:0};return{aliases:[\"bf\"],c:[e.C(\"[^\\\\[\\\\]\\\\.,\\\\+\\\\-<> \\r\\n]\",\"[\\\\[\\\\]\\\\.,\\\\+\\\\-<> \\r\\n]\",{rE:!0,r:0}),{cN:\"title\",b:\"[\\\\[\\\\]]\",r:0},{cN:\"string\",b:\"[\\\\.,]\",r:0},{b:/\\+\\+|\\-\\-/,rB:!0,c:[t]},t]}}),e.registerLanguage(\"cal\",function(e){var t=\"div mod in and or not xor asserterror begin case do downto else end exit for if of repeat then to until while with var\",r=\"false true\",a=[e.CLCM,e.C(/\\{/,/\\}/,{r:0}),e.C(/\\(\\*/,/\\*\\)/,{r:10})],i={cN:\"string\",b:/'/,e:/'/,c:[{b:/''/}]},n={cN:\"string\",b:/(#\\d+)+/},o={cN:\"number\",b:\"\\\\b\\\\d+(\\\\.\\\\d+)?(DT|D|T)\",r:0},s={cN:\"string\",b:'\"',e:'\"'},l={cN:\"function\",bK:\"procedure\",e:/[:;]/,k:\"procedure|10\",c:[e.TM,{cN:\"params\",b:/\\(/,e:/\\)/,k:t,c:[i,n]}].concat(a)},c={cN:\"class\",b:\"OBJECT (Table|Form|Report|Dataport|Codeunit|XMLport|MenuSuite|Page|Query) (\\\\d+) ([^\\\\r\\\\n]+)\",rB:!0,c:[e.TM,l]};return{cI:!0,k:{keyword:t,literal:r},i:/\\/\\*/,c:[i,n,o,s,e.NM,c,l]}}),e.registerLanguage(\"capnproto\",function(e){return{aliases:[\"capnp\"],k:{keyword:\"struct enum interface union group import using const annotation extends in of on as with from fixed\",built_in:\"Void Bool Int8 Int16 Int32 Int64 UInt8 UInt16 UInt32 UInt64 Float32 Float64 Text Data AnyPointer AnyStruct Capability List\",literal:\"true false\"},c:[e.QSM,e.NM,e.HCM,{cN:\"meta\",b:/@0x[\\w\\d]{16};/,i:/\\n/},{cN:\"symbol\",b:/@\\d+\\b/},{cN:\"class\",bK:\"struct enum\",e:/\\{/,i:/\\n/,c:[e.inherit(e.TM,{starts:{eW:!0,eE:!0}})]},{cN:\"class\",bK:\"interface\",e:/\\{/,i:/\\n/,c:[e.inherit(e.TM,{starts:{eW:!0,eE:!0}})]}]}}),e.registerLanguage(\"ceylon\",function(e){var t=\"assembly module package import alias class interface object given value assign void function new of extends satisfies abstracts in out return break continue throw assert dynamic if else switch case for while try catch finally then let this outer super is exists nonempty\",r=\"shared abstract formal default actual variable late native deprecatedfinal sealed annotation suppressWarnings small\",a=\"doc by license see throws tagged\",i={cN:\"subst\",eB:!0,eE:!0,b:/``/,e:/``/,k:t,r:10},n=[{cN:\"string\",b:'\"\"\"',e:'\"\"\"',r:10},{cN:\"string\",b:'\"',e:'\"',c:[i]},{cN:\"string\",b:\"'\",e:\"'\"},{cN:\"number\",b:\"#[0-9a-fA-F_]+|\\\\$[01_]+|[0-9_]+(?:\\\\.[0-9_](?:[eE][+-]?\\\\d+)?)?[kMGTPmunpf]?\",r:0}];return i.c=n,{k:{keyword:t+\" \"+r,meta:a},i:\"\\\\$[^01]|#[^0-9a-fA-F]\",c:[e.CLCM,e.C(\"/\\\\*\",\"\\\\*/\",{c:[\"self\"]}),{cN:\"meta\",b:'@[a-z]\\\\w*(?:\\\\:\"[^\"]*\")?'}].concat(n)}}),e.registerLanguage(\"clean\",function(e){return{aliases:[\"clean\",\"icl\",\"dcl\"],k:{keyword:\"if let in with where case of class instance otherwise implementation definition system module from import qualified as special code inline foreign export ccall stdcall generic derive infix infixl infixr\",literal:\"True False\"},c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.CNM,{b:\"->|<-[|:]?|::|#!?|>>=|\\\\{\\\\||\\\\|\\\\}|:==|=:|\\\\.\\\\.|<>|`\"}]}}),e.registerLanguage(\"clojure\",function(e){var t={\"builtin-name\":\"def defonce cond apply if-not if-let if not not= = < > <= >= == + / * - rem quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last drop-while while intern condp case reduced cycle split-at split-with repeat replicate iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter monitor-exit defmacro defn defn- macroexpand macroexpand-1 for dosync and or when when-not when-let comp juxt partial sequence memoize constantly complement identity assert peek pop doto proxy defstruct first rest cons defprotocol cast coll deftype defrecord last butlast sigs reify second ffirst fnext nfirst nnext defmulti defmethod meta with-meta ns in-ns create-ns import refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint biginteger bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline flush read slurp read-line subvec with-open memfn time re-find re-groups rand-int rand mod locking assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! new next conj set! to-array future future-call into-array aset gen-class reduce map filter find empty hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize\"},r=\"a-zA-Z_\\\\-!.?+*=<>&#'\",a=\"[\"+r+\"][\"+r+\"0-9/;:]*\",i=\"[-+]?\\\\d+(\\\\.\\\\d+)?\",n={b:a,r:0},o={cN:\"number\",b:i,r:0},s=e.inherit(e.QSM,{i:null}),l=e.C(\";\",\"$\",{r:0}),c={cN:\"literal\",b:/\\b(true|false|nil)\\b/},d={b:\"[\\\\[\\\\{]\",e:\"[\\\\]\\\\}]\"},p={cN:\"comment\",b:\"\\\\^\"+a},m=e.C(\"\\\\^\\\\{\",\"\\\\}\"),u={cN:\"symbol\",b:\"[:]{1,2}\"+a},b={b:\"\\\\(\",e:\"\\\\)\"},g={eW:!0,r:0},f={k:t,l:a,cN:\"name\",b:a,starts:g},_=[b,s,p,m,l,u,d,o,c,n];return b.c=[e.C(\"comment\",\"\"),f,g],g.c=_,d.c=_,m.c=[d],{aliases:[\"clj\"],i:/\\S/,c:[b,s,p,m,l,u,d,o,c]}}),e.registerLanguage(\"clojure-repl\",function(e){return{c:[{cN:\"meta\",b:/^([\\w.-]+|\\s*#_)=>/,starts:{e:/$/,sL:\"clojure\"}}]}}),e.registerLanguage(\"cmake\",function(e){return{aliases:[\"cmake.in\"],cI:!0,k:{keyword:\"add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_subdirectory add_test aux_source_directory break build_command cmake_minimum_required cmake_policy configure_file create_test_sourcelist define_property else elseif enable_language enable_testing endforeach endfunction endif endmacro endwhile execute_process export find_file find_library find_package find_path find_program fltk_wrap_ui foreach function get_cmake_property get_directory_property get_filename_component get_property get_source_file_property get_target_property get_test_property if include include_directories include_external_msproject include_regular_expression install link_directories load_cache load_command macro mark_as_advanced message option output_required_files project qt_wrap_cpp qt_wrap_ui remove_definitions return separate_arguments set set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties site_name source_group string target_link_libraries try_compile try_run unset variable_watch while build_name exec_program export_library_dependencies install_files install_programs install_targets link_libraries make_directory remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file qt5_use_modules qt5_use_package qt5_wrap_cpp on off true false and or equal less greater strless strgreater strequal matches\"},c:[{cN:\"variable\",b:\"\\\\${\",e:\"}\"},e.HCM,e.QSM,e.NM]}}),e.registerLanguage(\"coffeescript\",function(e){var t={keyword:\"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super yield import export from as default await then unless until loop of by when and or is isnt not\",literal:\"true false null undefined yes no on off\",built_in:\"npm require console print module global window document\"},r=\"[A-Za-z$_][0-9A-Za-z$_]*\",a={cN:\"subst\",b:/#\\{/,e:/}/,k:t},i=[e.BNM,e.inherit(e.CNM,{starts:{e:\"(\\\\s*/)?\",r:0}}),{cN:\"string\",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/\"\"\"/,e:/\"\"\"/,c:[e.BE,a]},{b:/\"/,e:/\"/,c:[e.BE,a]}]},{cN:\"regexp\",v:[{b:\"///\",e:\"///\",c:[a,e.HCM]},{b:\"//[gim]*\",r:0},{b:/\\/(?![ *])(\\\\\\/|.)*?\\/[gim]*(?=\\W|$)/}]},{b:\"@\"+r},{sL:\"javascript\",eB:!0,eE:!0,v:[{b:\"```\",e:\"```\"},{b:\"`\",e:\"`\"}]}];a.c=i;var n=e.inherit(e.TM,{b:r}),o=\"(\\\\(.*\\\\))?\\\\s*\\\\B[-=]>\",s={cN:\"params\",b:\"\\\\([^\\\\(]\",rB:!0,c:[{b:/\\(/,e:/\\)/,k:t,c:[\"self\"].concat(i)}]};return{aliases:[\"coffee\",\"cson\",\"iced\"],k:t,i:/\\/\\*/,c:i.concat([e.C(\"###\",\"###\"),e.HCM,{cN:\"function\",b:\"^\\\\s*\"+r+\"\\\\s*=\\\\s*\"+o,e:\"[-=]>\",rB:!0,c:[n,s]},{b:/[:\\(,=]\\s*/,r:0,c:[{cN:\"function\",b:o,e:\"[-=]>\",rB:!0,c:[s]}]},{cN:\"class\",bK:\"class\",e:\"$\",i:/[:=\"\\[\\]]/,c:[{bK:\"extends\",eW:!0,i:/[:=\"\\[\\]]/,c:[n]},n]},{b:r+\":\",e:\":\",rB:!0,rE:!0,r:0}])}}),e.registerLanguage(\"coq\",function(e){return{k:{keyword:\"_ as at cofix else end exists exists2 fix for forall fun if IF in let match mod Prop return Set then Type using where with Abort About Add Admit Admitted All Arguments Assumptions Axiom Back BackTo Backtrack Bind Blacklist Canonical Cd Check Class Classes Close Coercion Coercions CoFixpoint CoInductive Collection Combined Compute Conjecture Conjectures Constant constr Constraint Constructors Context Corollary CreateHintDb Cut Declare Defined Definition Delimit Dependencies DependentDerive Drop eauto End Equality Eval Example Existential Existentials Existing Export exporting Extern Extract Extraction Fact Field Fields File Fixpoint Focus for From Function Functional Generalizable Global Goal Grab Grammar Graph Guarded Heap Hint HintDb Hints Hypotheses Hypothesis ident Identity If Immediate Implicit Import Include Inductive Infix Info Initial Inline Inspect Instance Instances Intro Intros Inversion Inversion_clear Language Left Lemma Let Libraries Library Load LoadPath Local Locate Ltac ML Mode Module Modules Monomorphic Morphism Next NoInline Notation Obligation Obligations Opaque Open Optimize Options Parameter Parameters Parametric Path Paths pattern Polymorphic Preterm Print Printing Program Projections Proof Proposition Pwd Qed Quit Rec Record Recursive Redirect Relation Remark Remove Require Reserved Reset Resolve Restart Rewrite Right Ring Rings Save Scheme Scope Scopes Script Search SearchAbout SearchHead SearchPattern SearchRewrite Section Separate Set Setoid Show Solve Sorted Step Strategies Strategy Structure SubClass Table Tables Tactic Term Test Theorem Time Timeout Transparent Type Typeclasses Types Undelimit Undo Unfocus Unfocused Unfold Universe Universes Unset Unshelve using Variable Variables Variant Verbose Visibility where with\",built_in:\"abstract absurd admit after apply as assert assumption at auto autorewrite autounfold before bottom btauto by case case_eq cbn cbv change classical_left classical_right clear clearbody cofix compare compute congruence constr_eq constructor contradict contradiction cut cutrewrite cycle decide decompose dependent destruct destruction dintuition discriminate discrR do double dtauto eapply eassumption eauto ecase econstructor edestruct ediscriminate eelim eexact eexists einduction einjection eleft elim elimtype enough equality erewrite eright esimplify_eq esplit evar exact exactly_once exfalso exists f_equal fail field field_simplify field_simplify_eq first firstorder fix fold fourier functional generalize generalizing gfail give_up has_evar hnf idtac in induction injection instantiate intro intro_pattern intros intuition inversion inversion_clear is_evar is_var lapply lazy left lia lra move native_compute nia nsatz omega once pattern pose progress proof psatz quote record red refine reflexivity remember rename repeat replace revert revgoals rewrite rewrite_strat right ring ring_simplify rtauto set setoid_reflexivity setoid_replace setoid_rewrite setoid_symmetry setoid_transitivity shelve shelve_unifiable simpl simple simplify_eq solve specialize split split_Rabs split_Rmult stepl stepr subst sum swap symmetry tactic tauto time timeout top transitivity trivial try tryif unfold unify until using vm_compute with\"},c:[e.QSM,e.C(\"\\\\(\\\\*\",\"\\\\*\\\\)\"),e.CNM,{cN:\"type\",eB:!0,b:\"\\\\|\\\\s*\",e:\"\\\\w+\"},{b:/[-=]>/}]}}),e.registerLanguage(\"cos\",function(e){var t={cN:\"string\",v:[{b:'\"',e:'\"',c:[{b:'\"\"',r:0}]}]},r={cN:\"number\",b:\"\\\\b(\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)\",r:0},a=\"property parameter class classmethod clientmethod extends as break catch close continue do d|0 else elseif for goto halt hang h|0 if job j|0 kill k|0 lock l|0 merge new open quit q|0 read r|0 return set s|0 tcommit throw trollback try tstart use view while write w|0 xecute x|0 zkill znspace zn ztrap zwrite zw zzdump zzwrite print zbreak zinsert zload zprint zremove zsave zzprint mv mvcall mvcrt mvdim mvprint zquit zsync ascii\";return{cI:!0,aliases:[\"cos\",\"cls\"],k:a,c:[r,t,e.CLCM,e.CBCM,{cN:\"comment\",b:/;/,e:\"$\",r:0},{cN:\"built_in\",b:/(?:\\$\\$?|\\.\\.)\\^?[a-zA-Z]+/},{cN:\"built_in\",b:/\\$\\$\\$[a-zA-Z]+/},{cN:\"built_in\",b:/%[a-z]+(?:\\.[a-z]+)*/},{cN:\"symbol\",b:/\\^%?[a-zA-Z][\\w]*/},{cN:\"keyword\",b:/##class|##super|#define|#dim/},{b:/&sql\\(/,e:/\\)/,eB:!0,eE:!0,sL:\"sql\"},{b:/&(js|jscript|javascript)</,e:/>/,eB:!0,eE:!0,sL:\"javascript\"},{b:/&html<\\s*</,e:/>\\s*>/,sL:\"xml\"}]}}),e.registerLanguage(\"crmsh\",function(e){var t=\"primitive rsc_template\",r=\"group clone ms master location colocation order fencing_topology rsc_ticket acl_target acl_group user role tag xml\",a=\"property rsc_defaults op_defaults\",i=\"params meta operations op rule attributes utilization\",n=\"read write deny defined not_defined in_range date spec in ref reference attribute type xpath version and or lt gt tag lte gte eq ne \\\\\",o=\"number string\",s=\"Master Started Slave Stopped start promote demote stop monitor true false\";return{aliases:[\"crm\",\"pcmk\"],cI:!0,k:{keyword:i+\" \"+n+\" \"+o,literal:s},c:[e.HCM,{bK:\"node\",starts:{e:\"\\\\s*([\\\\w_-]+:)?\",starts:{cN:\"title\",e:\"\\\\s*[\\\\$\\\\w_][\\\\w_-]*\"}}},{bK:t,starts:{cN:\"title\",e:\"\\\\s*[\\\\$\\\\w_][\\\\w_-]*\",starts:{e:\"\\\\s*@?[\\\\w_][\\\\w_\\\\.:-]*\"}}},{b:\"\\\\b(\"+r.split(\" \").join(\"|\")+\")\\\\s+\",k:r,starts:{cN:\"title\",e:\"[\\\\$\\\\w_][\\\\w_-]*\"}},{bK:a,starts:{cN:\"title\",e:\"\\\\s*([\\\\w_-]+:)?\"}},e.QSM,{cN:\"meta\",b:\"(ocf|systemd|service|lsb):[\\\\w_:-]+\",r:0},{cN:\"number\",b:\"\\\\b\\\\d+(\\\\.\\\\d+)?(ms|s|h|m)?\",r:0},{cN:\"literal\",b:\"[-]?(infinity|inf)\",r:0},{cN:\"attr\",b:/([A-Za-z\\$_\\#][\\w_-]+)=/,r:0},{cN:\"tag\",b:\"</?\",e:\"/?>\",r:0}]}}),e.registerLanguage(\"crystal\",function(e){function t(e,t){var r=[{b:e,e:t}];return r[0].c=r,r}var r=\"(_[uif](8|16|32|64))?\",a=\"[a-zA-Z_]\\\\w*[!?=]?\",i=\"!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~\",n=\"[a-zA-Z_]\\\\w*[!?=]?|[-+~]\\\\@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\][=?]?\",o={keyword:\"abstract alias as as? asm begin break case class def do else elsif end ensure enum extend for fun if include instance_sizeof is_a? lib macro module next nil? of out pointerof private protected rescue responds_to? return require select self sizeof struct super then type typeof union uninitialized unless until when while with yield __DIR__ __END_LINE__ __FILE__ __LINE__\",literal:\"false nil true\"},s={cN:\"subst\",b:\"#{\",e:\"}\",k:o},l={cN:\"template-variable\",v:[{b:\"\\\\{\\\\{\",e:\"\\\\}\\\\}\"},{b:\"\\\\{%\",e:\"%\\\\}\"}],k:o},c={cN:\"string\",c:[e.BE,s],v:[{b:/'/,e:/'/},{b:/\"/,e:/\"/},{b:/`/,e:/`/},{b:\"%w?\\\\(\",e:\"\\\\)\",c:t(\"\\\\(\",\"\\\\)\")},{b:\"%w?\\\\[\",e:\"\\\\]\",c:t(\"\\\\[\",\"\\\\]\")},{b:\"%w?{\",e:\"}\",c:t(\"{\",\"}\")},{b:\"%w?<\",e:\">\",c:t(\"<\",\">\")},{b:\"%w?/\",e:\"/\"},{b:\"%w?%\",e:\"%\"},{b:\"%w?-\",e:\"-\"},{b:\"%w?\\\\|\",e:\"\\\\|\"},{b:/<<-\\w+$/,e:/^\\s*\\w+$/}],r:0},d={cN:\"string\",v:[{b:\"%q\\\\(\",e:\"\\\\)\",c:t(\"\\\\(\",\"\\\\)\")},{b:\"%q\\\\[\",e:\"\\\\]\",c:t(\"\\\\[\",\"\\\\]\")},{b:\"%q{\",e:\"}\",c:t(\"{\",\"}\")},{b:\"%q<\",e:\">\",c:t(\"<\",\">\")},{b:\"%q/\",e:\"/\"},{b:\"%q%\",e:\"%\"},{b:\"%q-\",e:\"-\"},{b:\"%q\\\\|\",e:\"\\\\|\"},{b:/<<-'\\w+'$/,e:/^\\s*\\w+$/}],r:0},p={b:\"(\"+i+\")\\\\s*\",c:[{cN:\"regexp\",c:[e.BE,s],v:[{b:\"//[a-z]*\",r:0},{b:\"/\",e:\"/[a-z]*\"},{b:\"%r\\\\(\",e:\"\\\\)\",c:t(\"\\\\(\",\"\\\\)\")},{b:\"%r\\\\[\",e:\"\\\\]\",c:t(\"\\\\[\",\"\\\\]\")},{b:\"%r{\",e:\"}\",c:t(\"{\",\"}\")},{b:\"%r<\",e:\">\",c:t(\"<\",\">\")},{b:\"%r/\",e:\"/\"},{b:\"%r%\",e:\"%\"},{b:\"%r-\",e:\"-\"},{b:\"%r\\\\|\",e:\"\\\\|\"}]}],r:0},m={cN:\"regexp\",c:[e.BE,s],v:[{b:\"%r\\\\(\",e:\"\\\\)\",c:t(\"\\\\(\",\"\\\\)\")},{b:\"%r\\\\[\",e:\"\\\\]\",c:t(\"\\\\[\",\"\\\\]\")},{b:\"%r{\",e:\"}\",c:t(\"{\",\"}\")},{b:\"%r<\",e:\">\",c:t(\"<\",\">\")},{b:\"%r/\",e:\"/\"},{b:\"%r%\",e:\"%\"},{b:\"%r-\",e:\"-\"},{b:\"%r\\\\|\",e:\"\\\\|\"}],r:0},u={cN:\"meta\",b:\"@\\\\[\",e:\"\\\\]\",c:[e.inherit(e.QSM,{cN:\"meta-string\"})]},b=[l,c,d,p,m,u,e.HCM,{cN:\"class\",bK:\"class module struct\",e:\"$|;\",i:/=/,c:[e.HCM,e.inherit(e.TM,{b:\"[A-Za-z_]\\\\w*(::\\\\w+)*(\\\\?|\\\\!)?\"}),{b:\"<\"}]},{cN:\"class\",bK:\"lib enum union\",e:\"$|;\",i:/=/,c:[e.HCM,e.inherit(e.TM,{b:\"[A-Za-z_]\\\\w*(::\\\\w+)*(\\\\?|\\\\!)?\"})],r:10},{cN:\"function\",bK:\"def\",e:/\\B\\b/,c:[e.inherit(e.TM,{b:n,endsParent:!0})]},{cN:\"function\",bK:\"fun macro\",e:/\\B\\b/,c:[e.inherit(e.TM,{b:n,endsParent:!0})],r:5},{cN:\"symbol\",b:e.UIR+\"(\\\\!|\\\\?)?:\",r:0},{cN:\"symbol\",b:\":\",c:[c,{b:n}],r:0},{cN:\"number\",v:[{b:\"\\\\b0b([01_]*[01])\"+r},{b:\"\\\\b0o([0-7_]*[0-7])\"+r},{b:\"\\\\b0x([A-Fa-f0-9_]*[A-Fa-f0-9])\"+r},{b:\"\\\\b(([0-9][0-9_]*[0-9]|[0-9])(\\\\.[0-9_]*[0-9])?([eE][+-]?[0-9_]*[0-9])?)\"+r}],r:0}];return s.c=b,l.c=b.slice(1),{aliases:[\"cr\"],l:a,k:o,c:b}}),e.registerLanguage(\"cs\",function(e){var t={keyword:\"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long nameof object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let on orderby partial remove select set value var where yield\",literal:\"null false true\"},r={cN:\"string\",b:'@\"',e:'\"',c:[{b:'\"\"'}]},a=e.inherit(r,{i:/\\n/}),i={cN:\"subst\",b:\"{\",e:\"}\",k:t},n=e.inherit(i,{i:/\\n/}),o={cN:\"string\",b:/\\$\"/,e:'\"',i:/\\n/,c:[{b:\"{{\"},{b:\"}}\"},e.BE,n]},s={cN:\"string\",b:/\\$@\"/,e:'\"',c:[{b:\"{{\"},{b:\"}}\"},{b:'\"\"'},i]},l=e.inherit(s,{i:/\\n/,c:[{b:\"{{\"},{b:\"}}\"},{b:'\"\"'},n]});i.c=[s,o,r,e.ASM,e.QSM,e.CNM,e.CBCM],n.c=[l,o,a,e.ASM,e.QSM,e.CNM,e.inherit(e.CBCM,{i:/\\n/})];var c={v:[s,o,r,e.ASM,e.QSM]},d=e.IR+\"(<\"+e.IR+\"(\\\\s*,\\\\s*\"+e.IR+\")*>)?(\\\\[\\\\])?\";return{aliases:[\"csharp\"],k:t,i:/::/,c:[e.C(\"///\",\"$\",{rB:!0,c:[{cN:\"doctag\",v:[{b:\"///\",r:0},{b:\"<!--|-->\"},{b:\"</?\",e:\">\"}]}]}),e.CLCM,e.CBCM,{cN:\"meta\",b:\"#\",e:\"$\",k:{\"meta-keyword\":\"if else elif endif define undef warning error line region endregion pragma checksum\"}},c,e.CNM,{bK:\"class interface\",e:/[{;=]/,i:/[^\\s:]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:\"namespace\",e:/[{;=]/,i:/[^\\s:]/,c:[e.inherit(e.TM,{b:\"[a-zA-Z](\\\\.?\\\\w)*\"}),e.CLCM,e.CBCM]},{cN:\"meta\",b:\"^\\\\s*\\\\[\",eB:!0,e:\"\\\\]\",eE:!0,c:[{cN:\"meta-string\",b:/\"/,e:/\"/}]},{bK:\"new return throw await else\",r:0},{cN:\"function\",b:\"(\"+d+\"\\\\s+)+\"+e.IR+\"\\\\s*\\\\(\",rB:!0,e:/[{;=]/,eE:!0,k:t,c:[{b:e.IR+\"\\\\s*\\\\(\",rB:!0,c:[e.TM],r:0},{cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:t,r:0,c:[c,e.CNM,e.CBCM]},e.CLCM,e.CBCM]}]}}),e.registerLanguage(\"csp\",function(e){return{cI:!1,l:\"[a-zA-Z][a-zA-Z0-9_-]*\",k:{keyword:\"base-uri child-src connect-src default-src font-src form-action frame-ancestors frame-src img-src media-src object-src plugin-types report-uri sandbox script-src style-src\"},c:[{cN:\"string\",b:\"'\",e:\"'\"},{cN:\"attribute\",b:\"^Content\",e:\":\",eE:!0}]}}),e.registerLanguage(\"css\",function(e){var t=\"[a-zA-Z-][a-zA-Z0-9_-]*\",r={b:/[A-Z\\_\\.\\-]+\\s*:/,rB:!0,e:\";\",eW:!0,c:[{cN:\"attribute\",b:/\\S/,e:\":\",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\\w-]+\\(/,rB:!0,c:[{cN:\"built_in\",b:/[\\w-]+/},{b:/\\(/,e:/\\)/,c:[e.ASM,e.QSM]}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:\"number\",b:\"#[0-9A-Fa-f]+\"},{cN:\"meta\",b:\"!important\"}]}}]};return{cI:!0,i:/[=\\/|'\\$]/,c:[e.CBCM,{cN:\"selector-id\",b:/#[A-Za-z0-9_-]+/},{cN:\"selector-class\",b:/\\.[A-Za-z0-9_-]+/},{cN:\"selector-attr\",b:/\\[/,e:/\\]/,i:\"$\"},{cN:\"selector-pseudo\",b:/:(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\"'.]+/},{b:\"@(font-face|page)\",l:\"[a-z-]+\",k:\"font-face page\"},{b:\"@\",e:\"[{;]\",i:/:/,c:[{cN:\"keyword\",b:/\\w+/},{b:/\\s/,eW:!0,eE:!0,r:0,c:[e.ASM,e.QSM,e.CSSNM]}]},{cN:\"selector-tag\",b:t,r:0},{b:\"{\",e:\"}\",i:/\\S/,c:[e.CBCM,r]}]}}),e.registerLanguage(\"d\",function(e){var t={keyword:\"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__\",built_in:\"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring\",literal:\"false null true\"},r=\"(0|[1-9][\\\\d_]*)\",a=\"(0|[1-9][\\\\d_]*|\\\\d[\\\\d_]*|[\\\\d_]+?\\\\d)\",i=\"0[bB][01_]+\",n=\"([\\\\da-fA-F][\\\\da-fA-F_]*|_[\\\\da-fA-F][\\\\da-fA-F_]*)\",o=\"0[xX]\"+n,s=\"([eE][+-]?\"+a+\")\",l=\"(\"+a+\"(\\\\.\\\\d*|\"+s+\")|\\\\d+\\\\.\"+a+a+\"|\\\\.\"+r+s+\"?)\",c=\"(0[xX](\"+n+\"\\\\.\"+n+\"|\\\\.?\"+n+\")[pP][+-]?\"+a+\")\",d=\"(\"+r+\"|\"+i+\"|\"+o+\")\",p=\"(\"+c+\"|\"+l+\")\",m=\"\\\\\\\\(['\\\"\\\\?\\\\\\\\abfnrtv]|u[\\\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\\\dA-Fa-f]{2}|U[\\\\dA-Fa-f]{8})|&[a-zA-Z\\\\d]{2,};\",u={cN:\"number\",b:\"\\\\b\"+d+\"(L|u|U|Lu|LU|uL|UL)?\",r:0},b={cN:\"number\",b:\"\\\\b(\"+p+\"([fF]|L|i|[fF]i|Li)?|\"+d+\"(i|[fF]i|Li))\",r:0},g={cN:\"string\",b:\"'(\"+m+\"|.)\",e:\"'\",i:\".\"},f={b:m,r:0},_={cN:\"string\",b:'\"',c:[f],e:'\"[cwd]?'},h={cN:\"string\",b:'[rq]\"',e:'\"[cwd]?',r:5},v={cN:\"string\",b:\"`\",e:\"`[cwd]?\"},y={cN:\"string\",b:'x\"[\\\\da-fA-F\\\\s\\\\n\\\\r]*\"[cwd]?',r:10},S={cN:\"string\",b:'q\"\\\\{',e:'\\\\}\"'},C={cN:\"meta\",b:\"^#!\",e:\"$\",r:5},x={cN:\"meta\",b:\"#(line)\",e:\"$\",r:5},E={cN:\"keyword\",b:\"@[a-zA-Z_][a-zA-Z_\\\\d]*\"},N=e.C(\"\\\\/\\\\+\",\"\\\\+\\\\/\",{c:[\"self\"],r:10});return{l:e.UIR,k:t,c:[e.CLCM,e.CBCM,N,y,_,h,v,S,b,u,g,C,x,E]}}),e.registerLanguage(\"markdown\",function(e){return{aliases:[\"md\",\"mkdown\",\"mkd\"],c:[{cN:\"section\",v:[{b:\"^#{1,6}\",e:\"$\"},{b:\"^.+?\\\\n[=-]{2,}$\"}]},{b:\"<\",e:\">\",sL:\"xml\",r:0},{cN:\"bullet\",b:\"^([*+-]|(\\\\d+\\\\.))\\\\s+\"},{cN:\"strong\",b:\"[*_]{2}.+?[*_]{2}\"},{cN:\"emphasis\",v:[{b:\"\\\\*.+?\\\\*\"},{b:\"_.+?_\",r:0}]},{cN:\"quote\",b:\"^>\\\\s+\",e:\"$\"},{cN:\"code\",v:[{b:\"^```w*s*$\",e:\"^```s*$\"},{b:\"`.+?`\"},{b:\"^( {4}|\t)\",e:\"$\",r:0}]},{b:\"^[-\\\\*]{3,}\",e:\"$\"},{b:\"\\\\[.+?\\\\][\\\\(\\\\[].*?[\\\\)\\\\]]\",rB:!0,c:[{cN:\"string\",b:\"\\\\[\",e:\"\\\\]\",eB:!0,rE:!0,r:0},{cN:\"link\",b:\"\\\\]\\\\(\",e:\"\\\\)\",eB:!0,eE:!0},{cN:\"symbol\",b:\"\\\\]\\\\[\",e:\"\\\\]\",eB:!0,eE:!0}],r:10},{b:/^\\[[^\\n]+\\]:/,rB:!0,c:[{cN:\"symbol\",b:/\\[/,e:/\\]/,eB:!0,eE:!0},{cN:\"link\",b:/:\\s*/,e:/$/,eB:!0}]}]}}),e.registerLanguage(\"dart\",function(e){var t={cN:\"subst\",b:\"\\\\$\\\\{\",e:\"}\",k:\"true false null this is new super\"},r={cN:\"string\",v:[{b:\"r'''\",e:\"'''\"},{b:'r\"\"\"',e:'\"\"\"'},{b:\"r'\",e:\"'\",i:\"\\\\n\"},{b:'r\"',e:'\"',i:\"\\\\n\"},{b:\"'''\",e:\"'''\",c:[e.BE,t]},{b:'\"\"\"',e:'\"\"\"',c:[e.BE,t]},{b:\"'\",e:\"'\",i:\"\\\\n\",c:[e.BE,t]},{b:'\"',e:'\"',i:\"\\\\n\",c:[e.BE,t]}]};t.c=[e.CNM,r];var a={keyword:\"assert async await break case catch class const continue default do else enum extends false final finally for if in is new null rethrow return super switch sync this throw true try var void while with yield abstract as dynamic export external factory get implements import library operator part set static typedef\",built_in:\"print Comparable DateTime Duration Function Iterable Iterator List Map Match Null Object Pattern RegExp Set Stopwatch String StringBuffer StringSink Symbol Type Uri bool double int num document window querySelector querySelectorAll Element ElementList\"};return{k:a,c:[r,e.C(\"/\\\\*\\\\*\",\"\\\\*/\",{sL:\"markdown\"}),e.C(\"///\",\"$\",{sL:\"markdown\"}),e.CLCM,e.CBCM,{cN:\"class\",bK:\"class interface\",e:\"{\",eE:!0,c:[{bK:\"extends implements\"},e.UTM]},e.CNM,{cN:\"meta\",b:\"@[A-Za-z]+\"},{b:\"=>\"}]}}),e.registerLanguage(\"delphi\",function(e){var t=\"exports register file shl array record property for mod while set ally label uses raise not stored class safecall var interface or private static exit index inherited to else stdcall override shr asm far resourcestring finalization packed virtual out and protected library do xorwrite goto near function end div overload object unit begin string on inline repeat until destructor write message program with read initialization except default nil if case cdecl in downto threadvar of try pascal const external constructor type public then implementation finally published procedure absolute reintroduce operator as is abstract alias assembler bitpacked break continue cppdecl cvar enumerator experimental platform deprecated unimplemented dynamic export far16 forward generic helper implements interrupt iochecks local name nodefault noreturn nostackframe oldfpccall otherwise saveregisters softfloat specialize strict unaligned varargs \",r=[e.CLCM,e.C(/\\{/,/\\}/,{r:0}),e.C(/\\(\\*/,/\\*\\)/,{r:10})],a={cN:\"meta\",v:[{b:/\\{\\$/,e:/\\}/},{b:/\\(\\*\\$/,e:/\\*\\)/}]},i={cN:\"string\",b:/'/,e:/'/,c:[{b:/''/}]},n={cN:\"string\",b:/(#\\d+)+/},o={b:e.IR+\"\\\\s*=\\\\s*class\\\\s*\\\\(\",rB:!0,c:[e.TM]},s={cN:\"function\",bK:\"function constructor destructor procedure\",e:/[:;]/,k:\"function constructor|10 destructor|10 procedure|10\",c:[e.TM,{cN:\"params\",b:/\\(/,e:/\\)/,k:t,c:[i,n,a].concat(r)},a].concat(r)};return{aliases:[\"dpr\",\"dfm\",\"pas\",\"pascal\",\"freepascal\",\"lazarus\",\"lpr\",\"lfm\"],cI:!0,k:t,i:/\"|\\$[G-Zg-z]|\\/\\*|<\\/|\\|/,c:[i,n,e.NM,o,s,a].concat(r)}}),e.registerLanguage(\"diff\",function(e){return{aliases:[\"patch\"],c:[{cN:\"meta\",r:10,v:[{b:/^@@ +\\-\\d+,\\d+ +\\+\\d+,\\d+ +@@$/},{b:/^\\*\\*\\* +\\d+,\\d+ +\\*\\*\\*\\*$/},{b:/^\\-\\-\\- +\\d+,\\d+ +\\-\\-\\-\\-$/}]},{cN:\"comment\",v:[{b:/Index: /,e:/$/},{b:/={3,}/,e:/$/},{b:/^\\-{3}/,e:/$/},{b:/^\\*{3} /,e:/$/},{b:/^\\+{3}/,e:/$/},{b:/\\*{5}/,e:/\\*{5}$/}]},{cN:\"addition\",b:\"^\\\\+\",e:\"$\"},{cN:\"deletion\",b:\"^\\\\-\",e:\"$\"},{cN:\"addition\",b:\"^\\\\!\",e:\"$\"}]}}),e.registerLanguage(\"django\",function(e){var t={b:/\\|[A-Za-z]+:?/,k:{name:\"truncatewords removetags linebreaksbr yesno get_digit timesince random striptags filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort dictsortreversed default_if_none pluralize lower join center default truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize localtime utc timezone\"},c:[e.QSM,e.ASM]};return{aliases:[\"jinja\"],cI:!0,sL:\"xml\",c:[e.C(/\\{%\\s*comment\\s*%}/,/\\{%\\s*endcomment\\s*%}/),e.C(/\\{#/,/#}/),{cN:\"template-tag\",b:/\\{%/,e:/%}/,c:[{cN:\"name\",b:/\\w+/,k:{name:\"comment endcomment load templatetag ifchanged endifchanged if endif firstof for endfor ifnotequal endifnotequal widthratio extends include spaceless endspaceless regroup ifequal endifequal ssi now with cycle url filter endfilter debug block endblock else autoescape endautoescape csrf_token empty elif endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix plural get_current_language language get_available_languages get_current_language_bidi get_language_info get_language_info_list localize endlocalize localtime endlocaltime timezone endtimezone get_current_timezone verbatim\"},starts:{eW:!0,k:\"in by as\",c:[t],r:0}}]},{cN:\"template-variable\",b:/\\{\\{/,e:/}}/,c:[t]}]}}),e.registerLanguage(\"dns\",function(e){return{aliases:[\"bind\",\"zone\"],k:{keyword:\"IN A AAAA AFSDB APL CAA CDNSKEY CDS CERT CNAME DHCID DLV DNAME DNSKEY DS HIP IPSECKEY KEY KX LOC MX NAPTR NS NSEC NSEC3 NSEC3PARAM PTR RRSIG RP SIG SOA SRV SSHFP TA TKEY TLSA TSIG TXT\"},c:[e.C(\";\",\"$\",{r:0}),{cN:\"meta\",b:/^\\$(TTL|GENERATE|INCLUDE|ORIGIN)\\b/},{cN:\"number\",b:\"((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:)))\\\\b\"},{cN:\"number\",b:\"((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\\\b\"},e.inherit(e.NM,{b:/\\b\\d+[dhwm]?/})]}}),e.registerLanguage(\"dockerfile\",function(e){return{aliases:[\"docker\"],cI:!0,k:\"from maintainer expose env arg user onbuild stopsignal\",c:[e.HCM,e.ASM,e.QSM,e.NM,{bK:\"run cmd entrypoint volume add copy workdir label healthcheck shell\",starts:{e:/[^\\\\]\\n/,sL:\"bash\"}}],i:\"</\"}}),e.registerLanguage(\"dos\",function(e){var t=e.C(/^\\s*@?rem\\b/,/$/,{r:10}),r={cN:\"symbol\",b:\"^\\\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\\\s+label)\",r:0};return{aliases:[\"bat\",\"cmd\"],cI:!0,i:/\\/\\*/,k:{keyword:\"if else goto for in do call exit not exist errorlevel defined equ neq lss leq gtr geq\",built_in:\"prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux shift cd dir echo setlocal endlocal set pause copy append assoc at attrib break cacls cd chcp chdir chkdsk chkntfs cls cmd color comp compact convert date dir diskcomp diskcopy doskey erase fs find findstr format ftype graftabl help keyb label md mkdir mode more move path pause print popd pushd promt rd recover rem rename replace restore rmdir shiftsort start subst time title tree type ver verify vol ping net ipconfig taskkill xcopy ren del\"},c:[{cN:\"variable\",b:/%%[^ ]|%[^ ]+?%|![^ ]+?!/},{cN:\"function\",b:r.b,e:\"goto:eof\",c:[e.inherit(e.TM,{b:\"([_a-zA-Z]\\\\w*\\\\.)*([_a-zA-Z]\\\\w*:)?[_a-zA-Z]\\\\w*\"}),t]},{cN:\"number\",b:\"\\\\b\\\\d+\",r:0},t]}}),e.registerLanguage(\"dsconfig\",function(e){var t={cN:\"string\",b:/\"/,e:/\"/},r={cN:\"string\",b:/'/,e:/'/},a={cN:\"string\",b:\"[\\\\w-?]+:\\\\w+\",e:\"\\\\W\",r:0},i={cN:\"string\",b:\"\\\\w+-?\\\\w+\",e:\"\\\\W\",r:0};return{k:\"dsconfig\",c:[{cN:\"keyword\",b:\"^dsconfig\",e:\"\\\\s\",eE:!0,r:10},{cN:\"built_in\",b:\"(list|create|get|set|delete)-(\\\\w+)\",e:\"\\\\s\",eE:!0,i:\"!@#$%^&*()\",r:10},{cN:\"built_in\",b:\"--(\\\\w+)\",e:\"\\\\s\",eE:!0},t,r,a,i,e.HCM]}}),e.registerLanguage(\"dts\",function(e){var t={cN:\"string\",v:[e.inherit(e.QSM,{b:'((u8?|U)|L)?\"'}),{b:'(u8?|U)?R\"',e:'\"',c:[e.BE]},{b:\"'\\\\\\\\?.\",e:\"'\",i:\".\"}]},r={cN:\"number\",v:[{b:\"\\\\b(\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)(u|U|l|L|ul|UL|f|F)\"},{b:e.CNR}],r:0},a={cN:\"meta\",b:\"#\",e:\"$\",k:{\"meta-keyword\":\"if else elif endif define undef ifdef ifndef\"},c:[{b:/\\\\\\n/,r:0},{bK:\"include\",e:\"$\",k:{\"meta-keyword\":\"include\"},c:[e.inherit(t,{cN:\"meta-string\"}),{cN:\"meta-string\",b:\"<\",e:\">\",\ni:\"\\\\n\"}]},t,e.CLCM,e.CBCM]},i={cN:\"variable\",b:\"\\\\&[a-z\\\\d_]*\\\\b\"},n={cN:\"meta-keyword\",b:\"/[a-z][a-z\\\\d-]*/\"},o={cN:\"symbol\",b:\"^\\\\s*[a-zA-Z_][a-zA-Z\\\\d_]*:\"},s={cN:\"params\",b:\"<\",e:\">\",c:[r,i]},l={cN:\"class\",b:/[a-zA-Z_][a-zA-Z\\d_@]*\\s{/,e:/[{;=]/,rB:!0,eE:!0},c={cN:\"class\",b:\"/\\\\s*{\",e:\"};\",r:10,c:[i,n,o,l,s,e.CLCM,e.CBCM,r,t]};return{k:\"\",c:[c,i,n,o,l,s,e.CLCM,e.CBCM,r,t,a,{b:e.IR+\"::\",k:\"\"}]}}),e.registerLanguage(\"dust\",function(e){var t=\"if eq ne lt lte gt gte select default math sep\";return{aliases:[\"dst\"],cI:!0,sL:\"xml\",c:[{cN:\"template-tag\",b:/\\{[#\\/]/,e:/\\}/,i:/;/,c:[{cN:\"name\",b:/[a-zA-Z\\.-]+/,starts:{eW:!0,r:0,c:[e.QSM]}}]},{cN:\"template-variable\",b:/\\{/,e:/\\}/,i:/;/,k:t}]}}),e.registerLanguage(\"ebnf\",function(e){var t=e.C(/\\(\\*/,/\\*\\)/),r={cN:\"attribute\",b:/^[ ]*[a-zA-Z][a-zA-Z-]*([\\s-]+[a-zA-Z][a-zA-Z]*)*/},a={cN:\"meta\",b:/\\?.*\\?/},i={b:/=/,e:/;/,c:[t,a,e.ASM,e.QSM]};return{i:/\\S/,c:[t,r,i]}}),e.registerLanguage(\"elixir\",function(e){var t=\"[a-zA-Z_][a-zA-Z0-9_]*(\\\\!|\\\\?)?\",r=\"[a-zA-Z_]\\\\w*[!?=]?|[-+~]\\\\@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?\",a=\"and false then defined module in return redo retry end for true self when next until do begin unless nil break not case cond alias while ensure or include use alias fn quote\",i={cN:\"subst\",b:\"#\\\\{\",e:\"}\",l:t,k:a},n={cN:\"string\",c:[e.BE,i],v:[{b:/'/,e:/'/},{b:/\"/,e:/\"/}]},o={cN:\"function\",bK:\"def defp defmacro\",e:/\\B\\b/,c:[e.inherit(e.TM,{b:t,endsParent:!0})]},s=e.inherit(o,{cN:\"class\",bK:\"defimpl defmodule defprotocol defrecord\",e:/\\bdo\\b|$|;/}),l=[n,e.HCM,s,o,{cN:\"symbol\",b:\":(?!\\\\s)\",c:[n,{b:r}],r:0},{cN:\"symbol\",b:t+\":\",r:0},{cN:\"number\",b:\"(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b\",r:0},{cN:\"variable\",b:\"(\\\\$\\\\W)|((\\\\$|\\\\@\\\\@?)(\\\\w+))\"},{b:\"->\"},{b:\"(\"+e.RSR+\")\\\\s*\",c:[e.HCM,{cN:\"regexp\",i:\"\\\\n\",c:[e.BE,i],v:[{b:\"/\",e:\"/[a-z]*\"},{b:\"%r\\\\[\",e:\"\\\\][a-z]*\"}]}],r:0}];return i.c=l,{l:t,k:a,c:l}}),e.registerLanguage(\"elm\",function(e){var t={v:[e.C(\"--\",\"$\"),e.C(\"{-\",\"-}\",{c:[\"self\"]})]},r={cN:\"type\",b:\"\\\\b[A-Z][\\\\w']*\",r:0},a={b:\"\\\\(\",e:\"\\\\)\",i:'\"',c:[{cN:\"type\",b:\"\\\\b[A-Z][\\\\w]*(\\\\((\\\\.\\\\.|,|\\\\w+)\\\\))?\"},t]},i={b:\"{\",e:\"}\",c:a.c};return{k:\"let in if then else case of where module import exposing type alias as infix infixl infixr port effect command subscription\",c:[{bK:\"port effect module\",e:\"exposing\",k:\"port effect module where command subscription exposing\",c:[a,t],i:\"\\\\W\\\\.|;\"},{b:\"import\",e:\"$\",k:\"import as exposing\",c:[a,t],i:\"\\\\W\\\\.|;\"},{b:\"type\",e:\"$\",k:\"type alias\",c:[r,a,i,t]},{bK:\"infix infixl infixr\",e:\"$\",c:[e.CNM,t]},{b:\"port\",e:\"$\",k:\"port\",c:[t]},e.QSM,e.CNM,r,e.inherit(e.TM,{b:\"^[_a-z][\\\\w']*\"}),t,{b:\"->|<-\"}],i:/;/}}),e.registerLanguage(\"ruby\",function(e){var t=\"[a-zA-Z_]\\\\w*[!?=]?|[-+~]\\\\@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?\",r={keyword:\"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor\",literal:\"true false nil\"},a={cN:\"doctag\",b:\"@[A-Za-z]+\"},i={b:\"#<\",e:\">\"},n=[e.C(\"#\",\"$\",{c:[a]}),e.C(\"^\\\\=begin\",\"^\\\\=end\",{c:[a],r:10}),e.C(\"^__END__\",\"\\\\n$\")],o={cN:\"subst\",b:\"#\\\\{\",e:\"}\",k:r},s={cN:\"string\",c:[e.BE,o],v:[{b:/'/,e:/'/},{b:/\"/,e:/\"/},{b:/`/,e:/`/},{b:\"%[qQwWx]?\\\\(\",e:\"\\\\)\"},{b:\"%[qQwWx]?\\\\[\",e:\"\\\\]\"},{b:\"%[qQwWx]?{\",e:\"}\"},{b:\"%[qQwWx]?<\",e:\">\"},{b:\"%[qQwWx]?/\",e:\"/\"},{b:\"%[qQwWx]?%\",e:\"%\"},{b:\"%[qQwWx]?-\",e:\"-\"},{b:\"%[qQwWx]?\\\\|\",e:\"\\\\|\"},{b:/\\B\\?(\\\\\\d{1,3}|\\\\x[A-Fa-f0-9]{1,2}|\\\\u[A-Fa-f0-9]{4}|\\\\?\\S)\\b/},{b:/<<(-?)\\w+$/,e:/^\\s*\\w+$/}]},l={cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",endsParent:!0,k:r},c=[s,i,{cN:\"class\",bK:\"class module\",e:\"$|;\",i:/=/,c:[e.inherit(e.TM,{b:\"[A-Za-z_]\\\\w*(::\\\\w+)*(\\\\?|\\\\!)?\"}),{b:\"<\\\\s*\",c:[{b:\"(\"+e.IR+\"::)?\"+e.IR}]}].concat(n)},{cN:\"function\",bK:\"def\",e:\"$|;\",c:[e.inherit(e.TM,{b:t}),l].concat(n)},{b:e.IR+\"::\"},{cN:\"symbol\",b:e.UIR+\"(\\\\!|\\\\?)?:\",r:0},{cN:\"symbol\",b:\":(?!\\\\s)\",c:[s,{b:t}],r:0},{cN:\"number\",b:\"(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b\",r:0},{b:\"(\\\\$\\\\W)|((\\\\$|\\\\@\\\\@?)(\\\\w+))\"},{cN:\"params\",b:/\\|/,e:/\\|/,k:r},{b:\"(\"+e.RSR+\"|unless)\\\\s*\",k:\"unless\",c:[i,{cN:\"regexp\",c:[e.BE,o],i:/\\n/,v:[{b:\"/\",e:\"/[a-z]*\"},{b:\"%r{\",e:\"}[a-z]*\"},{b:\"%r\\\\(\",e:\"\\\\)[a-z]*\"},{b:\"%r!\",e:\"![a-z]*\"},{b:\"%r\\\\[\",e:\"\\\\][a-z]*\"}]}].concat(n),r:0}].concat(n);o.c=c,l.c=c;var d=\"[>?]>\",p=\"[\\\\w#]+\\\\(\\\\w+\\\\):\\\\d+:\\\\d+>\",m=\"(\\\\w+-)?\\\\d+\\\\.\\\\d+\\\\.\\\\d(p\\\\d+)?[^>]+>\",u=[{b:/^\\s*=>/,starts:{e:\"$\",c:c}},{cN:\"meta\",b:\"^(\"+d+\"|\"+p+\"|\"+m+\")\",starts:{e:\"$\",c:c}}];return{aliases:[\"rb\",\"gemspec\",\"podspec\",\"thor\",\"irb\"],k:r,i:/\\/\\*/,c:n.concat(u).concat(c)}}),e.registerLanguage(\"erb\",function(e){return{sL:\"xml\",c:[e.C(\"<%#\",\"%>\"),{b:\"<%[%=-]?\",e:\"[%-]?%>\",sL:\"ruby\",eB:!0,eE:!0}]}}),e.registerLanguage(\"erlang-repl\",function(e){return{k:{built_in:\"spawn spawn_link self\",keyword:\"after and andalso|10 band begin bnot bor bsl bsr bxor case catch cond div end fun if let not of or orelse|10 query receive rem try when xor\"},c:[{cN:\"meta\",b:\"^[0-9]+> \",r:10},e.C(\"%\",\"$\"),{cN:\"number\",b:\"\\\\b(\\\\d+#[a-fA-F0-9]+|\\\\d+(\\\\.\\\\d+)?([eE][-+]?\\\\d+)?)\",r:0},e.ASM,e.QSM,{b:\"\\\\?(::)?([A-Z]\\\\w*(::)?)+\"},{b:\"->\"},{b:\"ok\"},{b:\"!\"},{b:\"(\\\\b[a-z'][a-zA-Z0-9_']*:[a-z'][a-zA-Z0-9_']*)|(\\\\b[a-z'][a-zA-Z0-9_']*)\",r:0},{b:\"[A-Z][a-zA-Z0-9_']*\",r:0}]}}),e.registerLanguage(\"erlang\",function(e){var t=\"[a-z'][a-zA-Z0-9_']*\",r=\"(\"+t+\":\"+t+\"|\"+t+\")\",a={keyword:\"after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun if let not of orelse|10 query receive rem try when xor\",literal:\"false true\"},i=e.C(\"%\",\"$\"),n={cN:\"number\",b:\"\\\\b(\\\\d+#[a-fA-F0-9]+|\\\\d+(\\\\.\\\\d+)?([eE][-+]?\\\\d+)?)\",r:0},o={b:\"fun\\\\s+\"+t+\"/\\\\d+\"},s={b:r+\"\\\\(\",e:\"\\\\)\",rB:!0,r:0,c:[{b:r,r:0},{b:\"\\\\(\",e:\"\\\\)\",eW:!0,rE:!0,r:0}]},l={b:\"{\",e:\"}\",r:0},c={b:\"\\\\b_([A-Z][A-Za-z0-9_]*)?\",r:0},d={b:\"[A-Z][a-zA-Z0-9_]*\",r:0},p={b:\"#\"+e.UIR,r:0,rB:!0,c:[{b:\"#\"+e.UIR,r:0},{b:\"{\",e:\"}\",r:0}]},m={bK:\"fun receive if try case\",e:\"end\",k:a};m.c=[i,o,e.inherit(e.ASM,{cN:\"\"}),m,s,e.QSM,n,l,c,d,p];var u=[i,o,m,s,e.QSM,n,l,c,d,p];s.c[1].c=u,l.c=u,p.c[1].c=u;var b={cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",c:u};return{aliases:[\"erl\"],k:a,i:\"(</|\\\\*=|\\\\+=|-=|/\\\\*|\\\\*/|\\\\(\\\\*|\\\\*\\\\))\",c:[{cN:\"function\",b:\"^\"+t+\"\\\\s*\\\\(\",e:\"->\",rB:!0,i:\"\\\\(|#|//|/\\\\*|\\\\\\\\|:|;\",c:[b,e.inherit(e.TM,{b:t})],starts:{e:\";|\\\\.\",k:a,c:u}},i,{b:\"^-\",e:\"\\\\.\",r:0,eE:!0,rB:!0,l:\"-\"+e.IR,k:\"-module -record -undef -export -ifdef -ifndef -author -copyright -doc -vsn -import -include -include_lib -compile -define -else -endif -file -behaviour -behavior -spec\",c:[b]},n,e.QSM,p,c,d,l,{b:/\\.$/}]}}),e.registerLanguage(\"excel\",function(e){return{aliases:[\"xlsx\",\"xls\"],cI:!0,l:/[a-zA-Z][\\w\\.]*/,k:{built_in:\"ABS ACCRINT ACCRINTM ACOS ACOSH ACOT ACOTH AGGREGATE ADDRESS AMORDEGRC AMORLINC AND ARABIC AREAS ASC ASIN ASINH ATAN ATAN2 ATANH AVEDEV AVERAGE AVERAGEA AVERAGEIF AVERAGEIFS BAHTTEXT BASE BESSELI BESSELJ BESSELK BESSELY BETADIST BETA.DIST BETAINV BETA.INV BIN2DEC BIN2HEX BIN2OCT BINOMDIST BINOM.DIST BINOM.DIST.RANGE BINOM.INV BITAND BITLSHIFT BITOR BITRSHIFT BITXOR CALL CEILING CEILING.MATH CEILING.PRECISE CELL CHAR CHIDIST CHIINV CHITEST CHISQ.DIST CHISQ.DIST.RT CHISQ.INV CHISQ.INV.RT CHISQ.TEST CHOOSE CLEAN CODE COLUMN COLUMNS COMBIN COMBINA COMPLEX CONCAT CONCATENATE CONFIDENCE CONFIDENCE.NORM CONFIDENCE.T CONVERT CORREL COS COSH COT COTH COUNT COUNTA COUNTBLANK COUNTIF COUNTIFS COUPDAYBS COUPDAYS COUPDAYSNC COUPNCD COUPNUM COUPPCD COVAR COVARIANCE.P COVARIANCE.S CRITBINOM CSC CSCH CUBEKPIMEMBER CUBEMEMBER CUBEMEMBERPROPERTY CUBERANKEDMEMBER CUBESET CUBESETCOUNT CUBEVALUE CUMIPMT CUMPRINC DATE DATEDIF DATEVALUE DAVERAGE DAY DAYS DAYS360 DB DBCS DCOUNT DCOUNTA DDB DEC2BIN DEC2HEX DEC2OCT DECIMAL DEGREES DELTA DEVSQ DGET DISC DMAX DMIN DOLLAR DOLLARDE DOLLARFR DPRODUCT DSTDEV DSTDEVP DSUM DURATION DVAR DVARP EDATE EFFECT ENCODEURL EOMONTH ERF ERF.PRECISE ERFC ERFC.PRECISE ERROR.TYPE EUROCONVERT EVEN EXACT EXP EXPON.DIST EXPONDIST FACT FACTDOUBLE FALSE|0 F.DIST FDIST F.DIST.RT FILTERXML FIND FINDB F.INV F.INV.RT FINV FISHER FISHERINV FIXED FLOOR FLOOR.MATH FLOOR.PRECISE FORECAST FORECAST.ETS FORECAST.ETS.CONFINT FORECAST.ETS.SEASONALITY FORECAST.ETS.STAT FORECAST.LINEAR FORMULATEXT FREQUENCY F.TEST FTEST FV FVSCHEDULE GAMMA GAMMA.DIST GAMMADIST GAMMA.INV GAMMAINV GAMMALN GAMMALN.PRECISE GAUSS GCD GEOMEAN GESTEP GETPIVOTDATA GROWTH HARMEAN HEX2BIN HEX2DEC HEX2OCT HLOOKUP HOUR HYPERLINK HYPGEOM.DIST HYPGEOMDIST IF|0 IFERROR IFNA IFS IMABS IMAGINARY IMARGUMENT IMCONJUGATE IMCOS IMCOSH IMCOT IMCSC IMCSCH IMDIV IMEXP IMLN IMLOG10 IMLOG2 IMPOWER IMPRODUCT IMREAL IMSEC IMSECH IMSIN IMSINH IMSQRT IMSUB IMSUM IMTAN INDEX INDIRECT INFO INT INTERCEPT INTRATE IPMT IRR ISBLANK ISERR ISERROR ISEVEN ISFORMULA ISLOGICAL ISNA ISNONTEXT ISNUMBER ISODD ISREF ISTEXT ISO.CEILING ISOWEEKNUM ISPMT JIS KURT LARGE LCM LEFT LEFTB LEN LENB LINEST LN LOG LOG10 LOGEST LOGINV LOGNORM.DIST LOGNORMDIST LOGNORM.INV LOOKUP LOWER MATCH MAX MAXA MAXIFS MDETERM MDURATION MEDIAN MID MIDBs MIN MINIFS MINA MINUTE MINVERSE MIRR MMULT MOD MODE MODE.MULT MODE.SNGL MONTH MROUND MULTINOMIAL MUNIT N NA NEGBINOM.DIST NEGBINOMDIST NETWORKDAYS NETWORKDAYS.INTL NOMINAL NORM.DIST NORMDIST NORMINV NORM.INV NORM.S.DIST NORMSDIST NORM.S.INV NORMSINV NOT NOW NPER NPV NUMBERVALUE OCT2BIN OCT2DEC OCT2HEX ODD ODDFPRICE ODDFYIELD ODDLPRICE ODDLYIELD OFFSET OR PDURATION PEARSON PERCENTILE.EXC PERCENTILE.INC PERCENTILE PERCENTRANK.EXC PERCENTRANK.INC PERCENTRANK PERMUT PERMUTATIONA PHI PHONETIC PI PMT POISSON.DIST POISSON POWER PPMT PRICE PRICEDISC PRICEMAT PROB PRODUCT PROPER PV QUARTILE QUARTILE.EXC QUARTILE.INC QUOTIENT RADIANS RAND RANDBETWEEN RANK.AVG RANK.EQ RANK RATE RECEIVED REGISTER.ID REPLACE REPLACEB REPT RIGHT RIGHTB ROMAN ROUND ROUNDDOWN ROUNDUP ROW ROWS RRI RSQ RTD SEARCH SEARCHB SEC SECH SECOND SERIESSUM SHEET SHEETS SIGN SIN SINH SKEW SKEW.P SLN SLOPE SMALL SQL.REQUEST SQRT SQRTPI STANDARDIZE STDEV STDEV.P STDEV.S STDEVA STDEVP STDEVPA STEYX SUBSTITUTE SUBTOTAL SUM SUMIF SUMIFS SUMPRODUCT SUMSQ SUMX2MY2 SUMX2PY2 SUMXMY2 SWITCH SYD T TAN TANH TBILLEQ TBILLPRICE TBILLYIELD T.DIST T.DIST.2T T.DIST.RT TDIST TEXT TEXTJOIN TIME TIMEVALUE T.INV T.INV.2T TINV TODAY TRANSPOSE TREND TRIM TRIMMEAN TRUE|0 TRUNC T.TEST TTEST TYPE UNICHAR UNICODE UPPER VALUE VAR VAR.P VAR.S VARA VARP VARPA VDB VLOOKUP WEBSERVICE WEEKDAY WEEKNUM WEIBULL WEIBULL.DIST WORKDAY WORKDAY.INTL XIRR XNPV XOR YEAR YEARFRAC YIELD YIELDDISC YIELDMAT Z.TEST ZTEST\"},c:[{b:/^=/,e:/[^=]/,rE:!0,i:/=/,r:10},{cN:\"symbol\",b:/\\b[A-Z]{1,2}\\d+\\b/,e:/[^\\d]/,eE:!0,r:0},{cN:\"symbol\",b:/[A-Z]{0,2}\\d*:[A-Z]{0,2}\\d*/,r:0},e.BE,e.QSM,{cN:\"number\",b:e.NR+\"(%)?\",r:0},e.C(/\\bN\\(/,/\\)/,{eB:!0,eE:!0,i:/\\n/})]}}),e.registerLanguage(\"fix\",function(e){return{c:[{b:/[^\\u2401\\u0001]+/,e:/[\\u2401\\u0001]/,eE:!0,rB:!0,rE:!1,c:[{b:/([^\\u2401\\u0001=]+)/,e:/=([^\\u2401\\u0001=]+)/,rE:!0,rB:!1,cN:\"attr\"},{b:/=/,e:/([\\u2401\\u0001])/,eE:!0,eB:!0,cN:\"string\"}]}],cI:!0}}),e.registerLanguage(\"flix\",function(e){var t={cN:\"string\",b:/'(.|\\\\[xXuU][a-zA-Z0-9]+)'/},r={cN:\"string\",v:[{b:'\"',e:'\"'}]},a={cN:\"title\",b:/[^0-9\\n\\t \"'(),.`{}\\[\\]:;][^\\n\\t \"'(),.`{}\\[\\]:;]+|[^0-9\\n\\t \"'(),.`{}\\[\\]:;=]/},i={cN:\"function\",bK:\"def\",e:/[:={\\[(\\n;]/,eE:!0,c:[a]};return{k:{literal:\"true false\",keyword:\"case class def else enum if impl import in lat rel index let match namespace switch type yield with\"},c:[e.CLCM,e.CBCM,t,r,i,e.CNM]}}),e.registerLanguage(\"fortran\",function(e){var t={cN:\"params\",b:\"\\\\(\",e:\"\\\\)\"},r={literal:\".False. .True.\",keyword:\"kind do while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated  c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure integer real character complex logical dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data\",built_in:\"alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_ofacosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image\"};return{cI:!0,aliases:[\"f90\",\"f95\"],k:r,i:/\\/\\*/,c:[e.inherit(e.ASM,{cN:\"string\",r:0}),e.inherit(e.QSM,{cN:\"string\",r:0}),{cN:\"function\",bK:\"subroutine function program\",i:\"[${=\\\\n]\",c:[e.UTM,t]},e.C(\"!\",\"$\",{r:0}),{cN:\"number\",b:\"(?=\\\\b|\\\\+|\\\\-|\\\\.)(?=\\\\.\\\\d|\\\\d)(?:\\\\d+)?(?:\\\\.?\\\\d*)(?:[de][+-]?\\\\d+)?\\\\b\\\\.?\",r:0}]}}),e.registerLanguage(\"fsharp\",function(e){var t={b:\"<\",e:\">\",c:[e.inherit(e.TM,{b:/'[a-zA-Z0-9_]+/})]};return{aliases:[\"fs\"],k:\"abstract and as assert base begin class default delegate do done downcast downto elif else end exception extern false finally for fun function global if in inherit inline interface internal lazy let match member module mutable namespace new null of open or override private public rec return sig static struct then to true try type upcast use val void when while with yield\",i:/\\/\\*/,c:[{cN:\"keyword\",b:/\\b(yield|return|let|do)!/},{cN:\"string\",b:'@\"',e:'\"',c:[{b:'\"\"'}]},{cN:\"string\",b:'\"\"\"',e:'\"\"\"'},e.C(\"\\\\(\\\\*\",\"\\\\*\\\\)\"),{cN:\"class\",bK:\"type\",e:\"\\\\(|=|$\",eE:!0,c:[e.UTM,t]},{cN:\"meta\",b:\"\\\\[<\",e:\">\\\\]\",r:10},{cN:\"symbol\",b:\"\\\\B('[A-Za-z])\\\\b\",c:[e.BE]},e.CLCM,e.inherit(e.QSM,{i:null}),e.CNM]}}),e.registerLanguage(\"gams\",function(e){var t={keyword:\"abort acronym acronyms alias all and assign binary card diag display else eq file files for free ge gt if integer le loop lt maximizing minimizing model models ne negative no not option options or ord positive prod put putpage puttl repeat sameas semicont semiint smax smin solve sos1 sos2 sum system table then until using while xor yes\",literal:\"eps inf na\",\"built-in\":\"abs arccos arcsin arctan arctan2 Beta betaReg binomial ceil centropy cos cosh cvPower div div0 eDist entropy errorf execSeed exp fact floor frac gamma gammaReg log logBeta logGamma log10 log2 mapVal max min mod ncpCM ncpF ncpVUpow ncpVUsin normal pi poly power randBinomial randLinear randTriangle round rPower sigmoid sign signPower sin sinh slexp sllog10 slrec sqexp sqlog10 sqr sqrec sqrt tan tanh trunc uniform uniformInt vcPower bool_and bool_eqv bool_imp bool_not bool_or bool_xor ifThen rel_eq rel_ge rel_gt rel_le rel_lt rel_ne gday gdow ghour gleap gmillisec gminute gmonth gsecond gyear jdate jnow jstart jtime errorLevel execError gamsRelease gamsVersion handleCollect handleDelete handleStatus handleSubmit heapFree heapLimit heapSize jobHandle jobKill jobStatus jobTerminate licenseLevel licenseStatus maxExecError sleep timeClose timeComp timeElapsed timeExec timeStart\"},r={cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0},a={cN:\"symbol\",v:[{b:/\\=[lgenxc]=/},{b:/\\$/}]},i={cN:\"comment\",v:[{b:\"'\",e:\"'\"},{b:'\"',e:'\"'}],i:\"\\\\n\",c:[e.BE]},n={b:\"/\",e:\"/\",k:t,c:[i,e.CLCM,e.CBCM,e.QSM,e.ASM,e.CNM]},o={b:/[a-z][a-z0-9_]*(\\([a-z0-9_, ]*\\))?[ \\t]+/,eB:!0,e:\"$\",eW:!0,c:[i,n,{cN:\"comment\",b:/([ ]*[a-z0-9&#*=?@>\\\\<:\\-,()$\\[\\]_.{}!+%^]+)+/,r:0}]};return{aliases:[\"gms\"],cI:!0,k:t,c:[e.C(/^\\$ontext/,/^\\$offtext/),{cN:\"meta\",b:\"^\\\\$[a-z0-9]+\",e:\"$\",rB:!0,c:[{cN:\"meta-keyword\",b:\"^\\\\$[a-z0-9]+\"}]},e.C(\"^\\\\*\",\"$\"),e.CLCM,e.CBCM,e.QSM,e.ASM,{bK:\"set sets parameter parameters variable variables scalar scalars equation equations\",e:\";\",c:[e.C(\"^\\\\*\",\"$\"),e.CLCM,e.CBCM,e.QSM,e.ASM,n,o]},{bK:\"table\",e:\";\",rB:!0,c:[{bK:\"table\",e:\"$\",c:[o]},e.C(\"^\\\\*\",\"$\"),e.CLCM,e.CBCM,e.QSM,e.ASM,e.CNM]},{cN:\"function\",b:/^[a-z][a-z0-9_,\\-+' ()$]+\\.{2}/,rB:!0,c:[{cN:\"title\",b:/^[a-z0-9_]+/},r,a]},e.CNM,a]}}),e.registerLanguage(\"gauss\",function(e){var t={keyword:\"and bool break call callexe checkinterrupt clear clearg closeall cls comlog compile continue create debug declare delete disable dlibrary dllcall do dos ed edit else elseif enable end endfor endif endp endo errorlog errorlogat expr external fn for format goto gosub graph if keyword let lib library line load loadarray loadexe loadf loadk loadm loadp loads loadx local locate loopnextindex lprint lpwidth lshow matrix msym ndpclex new not open or output outwidth plot plotsym pop prcsn print printdos proc push retp return rndcon rndmod rndmult rndseed run save saveall screen scroll setarray show sparse stop string struct system trace trap threadfor threadendfor threadbegin threadjoin threadstat threadend until use while winprint\",built_in:\"abs acf aconcat aeye amax amean AmericanBinomCall AmericanBinomCall_Greeks AmericanBinomCall_ImpVol AmericanBinomPut AmericanBinomPut_Greeks AmericanBinomPut_ImpVol AmericanBSCall AmericanBSCall_Greeks AmericanBSCall_ImpVol AmericanBSPut AmericanBSPut_Greeks AmericanBSPut_ImpVol amin amult annotationGetDefaults annotationSetBkd annotationSetFont annotationSetLineColor annotationSetLineStyle annotationSetLineThickness annualTradingDays arccos arcsin areshape arrayalloc arrayindex arrayinit arraytomat asciiload asclabel astd astds asum atan atan2 atranspose axmargin balance band bandchol bandcholsol bandltsol bandrv bandsolpd bar base10 begwind besselj bessely beta box boxcox cdfBeta cdfBetaInv cdfBinomial cdfBinomialInv cdfBvn cdfBvn2 cdfBvn2e cdfCauchy cdfCauchyInv cdfChic cdfChii cdfChinc cdfChincInv cdfExp cdfExpInv cdfFc cdfFnc cdfFncInv cdfGam cdfGenPareto cdfHyperGeo cdfLaplace cdfLaplaceInv cdfLogistic cdfLogisticInv cdfmControlCreate cdfMvn cdfMvn2e cdfMvnce cdfMvne cdfMvt2e cdfMvtce cdfMvte cdfN cdfN2 cdfNc cdfNegBinomial cdfNegBinomialInv cdfNi cdfPoisson cdfPoissonInv cdfRayleigh cdfRayleighInv cdfTc cdfTci cdfTnc cdfTvn cdfWeibull cdfWeibullInv cdir ceil ChangeDir chdir chiBarSquare chol choldn cholsol cholup chrs close code cols colsf combinate combinated complex con cond conj cons ConScore contour conv convertsatostr convertstrtosa corrm corrms corrvc corrx corrxs cos cosh counts countwts crossprd crout croutp csrcol csrlin csvReadM csvReadSA cumprodc cumsumc curve cvtos datacreate datacreatecomplex datalist dataload dataloop dataopen datasave date datestr datestring datestrymd dayinyr dayofweek dbAddDatabase dbClose dbCommit dbCreateQuery dbExecQuery dbGetConnectOptions dbGetDatabaseName dbGetDriverName dbGetDrivers dbGetHostName dbGetLastErrorNum dbGetLastErrorText dbGetNumericalPrecPolicy dbGetPassword dbGetPort dbGetTableHeaders dbGetTables dbGetUserName dbHasFeature dbIsDriverAvailable dbIsOpen dbIsOpenError dbOpen dbQueryBindValue dbQueryClear dbQueryCols dbQueryExecPrepared dbQueryFetchAllM dbQueryFetchAllSA dbQueryFetchOneM dbQueryFetchOneSA dbQueryFinish dbQueryGetBoundValue dbQueryGetBoundValues dbQueryGetField dbQueryGetLastErrorNum dbQueryGetLastErrorText dbQueryGetLastInsertID dbQueryGetLastQuery dbQueryGetPosition dbQueryIsActive dbQueryIsForwardOnly dbQueryIsNull dbQueryIsSelect dbQueryIsValid dbQueryPrepare dbQueryRows dbQuerySeek dbQuerySeekFirst dbQuerySeekLast dbQuerySeekNext dbQuerySeekPrevious dbQuerySetForwardOnly dbRemoveDatabase dbRollback dbSetConnectOptions dbSetDatabaseName dbSetHostName dbSetNumericalPrecPolicy dbSetPort dbSetUserName dbTransaction DeleteFile delif delrows denseToSp denseToSpRE denToZero design det detl dfft dffti diag diagrv digamma doswin DOSWinCloseall DOSWinOpen dotfeq dotfeqmt dotfge dotfgemt dotfgt dotfgtmt dotfle dotflemt dotflt dotfltmt dotfne dotfnemt draw drop dsCreate dstat dstatmt dstatmtControlCreate dtdate dtday dttime dttodtv dttostr dttoutc dtvnormal dtvtodt dtvtoutc dummy dummybr dummydn eig eigh eighv eigv elapsedTradingDays endwind envget eof eqSolve eqSolvemt eqSolvemtControlCreate eqSolvemtOutCreate eqSolveset erf erfc erfccplx erfcplx error etdays ethsec etstr EuropeanBinomCall EuropeanBinomCall_Greeks EuropeanBinomCall_ImpVol EuropeanBinomPut EuropeanBinomPut_Greeks EuropeanBinomPut_ImpVol EuropeanBSCall EuropeanBSCall_Greeks EuropeanBSCall_ImpVol EuropeanBSPut EuropeanBSPut_Greeks EuropeanBSPut_ImpVol exctsmpl exec execbg exp extern eye fcheckerr fclearerr feq feqmt fflush fft ffti fftm fftmi fftn fge fgemt fgets fgetsa fgetsat fgetst fgt fgtmt fileinfo filesa fle flemt floor flt fltmt fmod fne fnemt fonts fopen formatcv formatnv fputs fputst fseek fstrerror ftell ftocv ftos ftostrC gamma gammacplx gammaii gausset gdaAppend gdaCreate gdaDStat gdaDStatMat gdaGetIndex gdaGetName gdaGetNames gdaGetOrders gdaGetType gdaGetTypes gdaGetVarInfo gdaIsCplx gdaLoad gdaPack gdaRead gdaReadByIndex gdaReadSome gdaReadSparse gdaReadStruct gdaReportVarInfo gdaSave gdaUpdate gdaUpdateAndPack gdaVars gdaWrite gdaWrite32 gdaWriteSome getarray getdims getf getGAUSShome getmatrix getmatrix4D getname getnamef getNextTradingDay getNextWeekDay getnr getorders getpath getPreviousTradingDay getPreviousWeekDay getRow getscalar3D getscalar4D getTrRow getwind glm gradcplx gradMT gradMTm gradMTT gradMTTm gradp graphprt graphset hasimag header headermt hess hessMT hessMTg hessMTgw hessMTm hessMTmw hessMTT hessMTTg hessMTTgw hessMTTm hessMTw hessp hist histf histp hsec imag indcv indexcat indices indices2 indicesf indicesfn indnv indsav integrate1d integrateControlCreate intgrat2 intgrat3 inthp1 inthp2 inthp3 inthp4 inthpControlCreate intquad1 intquad2 intquad3 intrleav intrleavsa intrsect intsimp inv invpd invswp iscplx iscplxf isden isinfnanmiss ismiss key keyav keyw lag lag1 lagn lapEighb lapEighi lapEighvb lapEighvi lapgEig lapgEigh lapgEighv lapgEigv lapgSchur lapgSvdcst lapgSvds lapgSvdst lapSvdcusv lapSvds lapSvdusv ldlp ldlsol linSolve listwise ln lncdfbvn lncdfbvn2 lncdfmvn lncdfn lncdfn2 lncdfnc lnfact lngammacplx lnpdfmvn lnpdfmvt lnpdfn lnpdft loadd loadstruct loadwind loess loessmt loessmtControlCreate log loglog logx logy lower lowmat lowmat1 ltrisol lu lusol machEpsilon make makevars makewind margin matalloc matinit mattoarray maxbytes maxc maxindc maxv maxvec mbesselei mbesselei0 mbesselei1 mbesseli mbesseli0 mbesseli1 meanc median mergeby mergevar minc minindc minv miss missex missrv moment momentd movingave movingaveExpwgt movingaveWgt nextindex nextn nextnevn nextwind ntos null null1 numCombinations ols olsmt olsmtControlCreate olsqr olsqr2 olsqrmt ones optn optnevn orth outtyp pacf packedToSp packr parse pause pdfCauchy pdfChi pdfExp pdfGenPareto pdfHyperGeo pdfLaplace pdfLogistic pdfn pdfPoisson pdfRayleigh pdfWeibull pi pinv pinvmt plotAddArrow plotAddBar plotAddBox plotAddHist plotAddHistF plotAddHistP plotAddPolar plotAddScatter plotAddShape plotAddTextbox plotAddTS plotAddXY plotArea plotBar plotBox plotClearLayout plotContour plotCustomLayout plotGetDefaults plotHist plotHistF plotHistP plotLayout plotLogLog plotLogX plotLogY plotOpenWindow plotPolar plotSave plotScatter plotSetAxesPen plotSetBar plotSetBarFill plotSetBarStacked plotSetBkdColor plotSetFill plotSetGrid plotSetLegend plotSetLineColor plotSetLineStyle plotSetLineSymbol plotSetLineThickness plotSetNewWindow plotSetTitle plotSetWhichYAxis plotSetXAxisShow plotSetXLabel plotSetXRange plotSetXTicInterval plotSetXTicLabel plotSetYAxisShow plotSetYLabel plotSetYRange plotSetZAxisShow plotSetZLabel plotSurface plotTS plotXY polar polychar polyeval polygamma polyint polymake polymat polymroot polymult polyroot pqgwin previousindex princomp printfm printfmt prodc psi putarray putf putvals pvCreate pvGetIndex pvGetParNames pvGetParVector pvLength pvList pvPack pvPacki pvPackm pvPackmi pvPacks pvPacksi pvPacksm pvPacksmi pvPutParVector pvTest pvUnpack QNewton QNewtonmt QNewtonmtControlCreate QNewtonmtOutCreate QNewtonSet QProg QProgmt QProgmtInCreate qqr qqre qqrep qr qre qrep qrsol qrtsol qtyr qtyre qtyrep quantile quantiled qyr qyre qyrep qz rank rankindx readr real reclassify reclassifyCuts recode recserar recsercp recserrc rerun rescale reshape rets rev rfft rffti rfftip rfftn rfftnp rfftp rndBernoulli rndBeta rndBinomial rndCauchy rndChiSquare rndCon rndCreateState rndExp rndGamma rndGeo rndGumbel rndHyperGeo rndi rndKMbeta rndKMgam rndKMi rndKMn rndKMnb rndKMp rndKMu rndKMvm rndLaplace rndLCbeta rndLCgam rndLCi rndLCn rndLCnb rndLCp rndLCu rndLCvm rndLogNorm rndMTu rndMVn rndMVt rndn rndnb rndNegBinomial rndp rndPoisson rndRayleigh rndStateSkip rndu rndvm rndWeibull rndWishart rotater round rows rowsf rref sampleData satostrC saved saveStruct savewind scale scale3d scalerr scalinfnanmiss scalmiss schtoc schur searchsourcepath seekr select selif seqa seqm setdif setdifsa setvars setvwrmode setwind shell shiftr sin singleindex sinh sleep solpd sortc sortcc sortd sorthc sorthcc sortind sortindc sortmc sortr sortrc spBiconjGradSol spChol spConjGradSol spCreate spDenseSubmat spDiagRvMat spEigv spEye spLDL spline spLU spNumNZE spOnes spreadSheetReadM spreadSheetReadSA spreadSheetWrite spScale spSubmat spToDense spTrTDense spTScalar spZeros sqpSolve sqpSolveMT sqpSolveMTControlCreate sqpSolveMTlagrangeCreate sqpSolveMToutCreate sqpSolveSet sqrt statements stdc stdsc stocv stof strcombine strindx strlen strput strrindx strsect strsplit strsplitPad strtodt strtof strtofcplx strtriml strtrimr strtrunc strtruncl strtruncpad strtruncr submat subscat substute subvec sumc sumr surface svd svd1 svd2 svdcusv svds svdusv sysstate tab tan tanh tempname threadBegin threadEnd threadEndFor threadFor threadJoin threadStat time timedt timestr timeutc title tkf2eps tkf2ps tocart todaydt toeplitz token topolar trapchk trigamma trimr trunc type typecv typef union unionsa uniqindx uniqindxsa unique uniquesa upmat upmat1 upper utctodt utctodtv utrisol vals varCovMS varCovXS varget vargetl varmall varmares varput varputl vartypef vcm vcms vcx vcxs vec vech vecr vector vget view viewxyz vlist vnamecv volume vput vread vtypecv wait waitc walkindex where window writer xlabel xlsGetSheetCount xlsGetSheetSize xlsGetSheetTypes xlsMakeRange xlsReadM xlsReadSA xlsWrite xlsWriteM xlsWriteSA xpnd xtics xy xyz ylabel ytics zeros zeta zlabel ztics cdfEmpirical dot h5create h5open h5read h5readAttribute h5write h5writeAttribute ldl plotAddErrorBar plotAddSurface plotCDFEmpirical plotSetColormap plotSetContourLabels plotSetLegendFont plotSetTextInterpreter plotSetXTicCount plotSetYTicCount plotSetZLevels powerm strjoin strtrim sylvester\",literal:\"DB_AFTER_LAST_ROW DB_ALL_TABLES DB_BATCH_OPERATIONS DB_BEFORE_FIRST_ROW DB_BLOB DB_EVENT_NOTIFICATIONS DB_FINISH_QUERY DB_HIGH_PRECISION DB_LAST_INSERT_ID DB_LOW_PRECISION_DOUBLE DB_LOW_PRECISION_INT32 DB_LOW_PRECISION_INT64 DB_LOW_PRECISION_NUMBERS DB_MULTIPLE_RESULT_SETS DB_NAMED_PLACEHOLDERS DB_POSITIONAL_PLACEHOLDERS DB_PREPARED_QUERIES DB_QUERY_SIZE DB_SIMPLE_LOCKING DB_SYSTEM_TABLES DB_TABLES DB_TRANSACTIONS DB_UNICODE DB_VIEWS\"},r={cN:\"meta\",b:\"#\",e:\"$\",k:{\"meta-keyword\":\"define definecs|10 undef ifdef ifndef iflight ifdllcall ifmac ifos2win ifunix else endif lineson linesoff srcfile srcline\"},c:[{b:/\\\\\\n/,r:0},{bK:\"include\",e:\"$\",k:{\"meta-keyword\":\"include\"},c:[{cN:\"meta-string\",b:'\"',e:'\"',i:\"\\\\n\"}]},e.CLCM,e.CBCM]},a=e.UIR+\"\\\\s*\\\\(?\",i=[{cN:\"params\",b:/\\(/,e:/\\)/,k:t,r:0,c:[e.CNM,e.CLCM,e.CBCM]}];return{aliases:[\"gss\"],cI:!0,k:t,i:\"(\\\\{[%#]|[%#]\\\\})\",c:[e.CNM,e.CLCM,e.CBCM,e.C(\"@\",\"@\"),r,{cN:\"string\",b:'\"',e:'\"',c:[e.BE]},{cN:\"function\",bK:\"proc keyword\",e:\";\",eE:!0,k:t,c:[{b:a,rB:!0,c:[e.UTM],r:0},e.CNM,e.CLCM,e.CBCM,r].concat(i)},{cN:\"function\",bK:\"fn\",e:\";\",eE:!0,k:t,c:[{b:a+e.IR+\"\\\\)?\\\\s*\\\\=\\\\s*\",rB:!0,c:[e.UTM],r:0},e.CNM,e.CLCM,e.CBCM].concat(i)},{cN:\"function\",b:\"\\\\bexternal (proc|keyword|fn)\\\\s+\",e:\";\",eE:!0,k:t,c:[{b:a,rB:!0,c:[e.UTM],r:0},e.CLCM,e.CBCM]},{cN:\"function\",b:\"\\\\bexternal (matrix|string|array|sparse matrix|struct \"+e.IR+\")\\\\s+\",e:\";\",eE:!0,k:t,c:[e.CLCM,e.CBCM]}]}}),e.registerLanguage(\"gcode\",function(e){var t=\"[A-Z_][A-Z0-9_.]*\",r=\"\\\\%\",a=\"IF DO WHILE ENDWHILE CALL ENDIF SUB ENDSUB GOTO REPEAT ENDREPEAT EQ LT GT NE GE LE OR XOR\",i={cN:\"meta\",b:\"([O])([0-9]+)\"},n=[e.CLCM,e.CBCM,e.C(/\\(/,/\\)/),e.inherit(e.CNM,{b:\"([-+]?([0-9]*\\\\.?[0-9]+\\\\.?))|\"+e.CNR}),e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null}),{cN:\"name\",b:\"([G])([0-9]+\\\\.?[0-9]?)\"},{cN:\"name\",b:\"([M])([0-9]+\\\\.?[0-9]?)\"},{cN:\"attr\",b:\"(VC|VS|#)\",e:\"(\\\\d+)\"},{cN:\"attr\",b:\"(VZOFX|VZOFY|VZOFZ)\"},{cN:\"built_in\",b:\"(ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN)(\\\\[)\",e:\"([-+]?([0-9]*\\\\.?[0-9]+\\\\.?))(\\\\])\"},{cN:\"symbol\",v:[{b:\"N\",e:\"\\\\d+\",i:\"\\\\W\"}]}];return{aliases:[\"nc\"],cI:!0,l:t,k:a,c:[{cN:\"meta\",b:r},i].concat(n)}}),e.registerLanguage(\"gherkin\",function(e){return{aliases:[\"feature\"],k:\"Feature Background Ability Business Need Scenario Scenarios Scenario Outline Scenario Template Examples Given And Then But When\",c:[{cN:\"symbol\",b:\"\\\\*\",r:0},{cN:\"meta\",b:\"@[^@\\\\s]+\"},{b:\"\\\\|\",e:\"\\\\|\\\\w*$\",c:[{cN:\"string\",b:\"[^|]+\"}]},{cN:\"variable\",b:\"<\",e:\">\"},e.HCM,{cN:\"string\",b:'\"\"\"',e:'\"\"\"'},e.QSM]}}),e.registerLanguage(\"glsl\",function(e){return{k:{keyword:\"break continue discard do else for if return while switch case default attribute binding buffer ccw centroid centroid varying coherent column_major const cw depth_any depth_greater depth_less depth_unchanged early_fragment_tests equal_spacing flat fractional_even_spacing fractional_odd_spacing highp in index inout invariant invocations isolines layout line_strip lines lines_adjacency local_size_x local_size_y local_size_z location lowp max_vertices mediump noperspective offset origin_upper_left out packed patch pixel_center_integer point_mode points precise precision quads r11f_g11f_b10f r16 r16_snorm r16f r16i r16ui r32f r32i r32ui r8 r8_snorm r8i r8ui readonly restrict rg16 rg16_snorm rg16f rg16i rg16ui rg32f rg32i rg32ui rg8 rg8_snorm rg8i rg8ui rgb10_a2 rgb10_a2ui rgba16 rgba16_snorm rgba16f rgba16i rgba16ui rgba32f rgba32i rgba32ui rgba8 rgba8_snorm rgba8i rgba8ui row_major sample shared smooth std140 std430 stream triangle_strip triangles triangles_adjacency uniform varying vertices volatile writeonly\",\ntype:\"atomic_uint bool bvec2 bvec3 bvec4 dmat2 dmat2x2 dmat2x3 dmat2x4 dmat3 dmat3x2 dmat3x3 dmat3x4 dmat4 dmat4x2 dmat4x3 dmat4x4 double dvec2 dvec3 dvec4 float iimage1D iimage1DArray iimage2D iimage2DArray iimage2DMS iimage2DMSArray iimage2DRect iimage3D iimageBufferiimageCube iimageCubeArray image1D image1DArray image2D image2DArray image2DMS image2DMSArray image2DRect image3D imageBuffer imageCube imageCubeArray int isampler1D isampler1DArray isampler2D isampler2DArray isampler2DMS isampler2DMSArray isampler2DRect isampler3D isamplerBuffer isamplerCube isamplerCubeArray ivec2 ivec3 ivec4 mat2 mat2x2 mat2x3 mat2x4 mat3 mat3x2 mat3x3 mat3x4 mat4 mat4x2 mat4x3 mat4x4 sampler1D sampler1DArray sampler1DArrayShadow sampler1DShadow sampler2D sampler2DArray sampler2DArrayShadow sampler2DMS sampler2DMSArray sampler2DRect sampler2DRectShadow sampler2DShadow sampler3D samplerBuffer samplerCube samplerCubeArray samplerCubeArrayShadow samplerCubeShadow image1D uimage1DArray uimage2D uimage2DArray uimage2DMS uimage2DMSArray uimage2DRect uimage3D uimageBuffer uimageCube uimageCubeArray uint usampler1D usampler1DArray usampler2D usampler2DArray usampler2DMS usampler2DMSArray usampler2DRect usampler3D samplerBuffer usamplerCube usamplerCubeArray uvec2 uvec3 uvec4 vec2 vec3 vec4 void\",built_in:\"gl_MaxAtomicCounterBindings gl_MaxAtomicCounterBufferSize gl_MaxClipDistances gl_MaxClipPlanes gl_MaxCombinedAtomicCounterBuffers gl_MaxCombinedAtomicCounters gl_MaxCombinedImageUniforms gl_MaxCombinedImageUnitsAndFragmentOutputs gl_MaxCombinedTextureImageUnits gl_MaxComputeAtomicCounterBuffers gl_MaxComputeAtomicCounters gl_MaxComputeImageUniforms gl_MaxComputeTextureImageUnits gl_MaxComputeUniformComponents gl_MaxComputeWorkGroupCount gl_MaxComputeWorkGroupSize gl_MaxDrawBuffers gl_MaxFragmentAtomicCounterBuffers gl_MaxFragmentAtomicCounters gl_MaxFragmentImageUniforms gl_MaxFragmentInputComponents gl_MaxFragmentInputVectors gl_MaxFragmentUniformComponents gl_MaxFragmentUniformVectors gl_MaxGeometryAtomicCounterBuffers gl_MaxGeometryAtomicCounters gl_MaxGeometryImageUniforms gl_MaxGeometryInputComponents gl_MaxGeometryOutputComponents gl_MaxGeometryOutputVertices gl_MaxGeometryTextureImageUnits gl_MaxGeometryTotalOutputComponents gl_MaxGeometryUniformComponents gl_MaxGeometryVaryingComponents gl_MaxImageSamples gl_MaxImageUnits gl_MaxLights gl_MaxPatchVertices gl_MaxProgramTexelOffset gl_MaxTessControlAtomicCounterBuffers gl_MaxTessControlAtomicCounters gl_MaxTessControlImageUniforms gl_MaxTessControlInputComponents gl_MaxTessControlOutputComponents gl_MaxTessControlTextureImageUnits gl_MaxTessControlTotalOutputComponents gl_MaxTessControlUniformComponents gl_MaxTessEvaluationAtomicCounterBuffers gl_MaxTessEvaluationAtomicCounters gl_MaxTessEvaluationImageUniforms gl_MaxTessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents gl_MaxTessEvaluationTextureImageUnits gl_MaxTessEvaluationUniformComponents gl_MaxTessGenLevel gl_MaxTessPatchComponents gl_MaxTextureCoords gl_MaxTextureImageUnits gl_MaxTextureUnits gl_MaxVaryingComponents gl_MaxVaryingFloats gl_MaxVaryingVectors gl_MaxVertexAtomicCounterBuffers gl_MaxVertexAtomicCounters gl_MaxVertexAttribs gl_MaxVertexImageUniforms gl_MaxVertexOutputComponents gl_MaxVertexOutputVectors gl_MaxVertexTextureImageUnits gl_MaxVertexUniformComponents gl_MaxVertexUniformVectors gl_MaxViewports gl_MinProgramTexelOffset gl_BackColor gl_BackLightModelProduct gl_BackLightProduct gl_BackMaterial gl_BackSecondaryColor gl_ClipDistance gl_ClipPlane gl_ClipVertex gl_Color gl_DepthRange gl_EyePlaneQ gl_EyePlaneR gl_EyePlaneS gl_EyePlaneT gl_Fog gl_FogCoord gl_FogFragCoord gl_FragColor gl_FragCoord gl_FragData gl_FragDepth gl_FrontColor gl_FrontFacing gl_FrontLightModelProduct gl_FrontLightProduct gl_FrontMaterial gl_FrontSecondaryColor gl_GlobalInvocationID gl_InstanceID gl_InvocationID gl_Layer gl_LightModel gl_LightSource gl_LocalInvocationID gl_LocalInvocationIndex gl_ModelViewMatrix gl_ModelViewMatrixInverse gl_ModelViewMatrixInverseTranspose gl_ModelViewMatrixTranspose gl_ModelViewProjectionMatrix gl_ModelViewProjectionMatrixInverse gl_ModelViewProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixTranspose gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_Normal gl_NormalMatrix gl_NormalScale gl_NumSamples gl_NumWorkGroups gl_ObjectPlaneQ gl_ObjectPlaneR gl_ObjectPlaneS gl_ObjectPlaneT gl_PatchVerticesIn gl_Point gl_PointCoord gl_PointSize gl_Position gl_PrimitiveID gl_PrimitiveIDIn gl_ProjectionMatrix gl_ProjectionMatrixInverse gl_ProjectionMatrixInverseTranspose gl_ProjectionMatrixTranspose gl_SampleID gl_SampleMask gl_SampleMaskIn gl_SamplePosition gl_SecondaryColor gl_TessCoord gl_TessLevelInner gl_TessLevelOuter gl_TexCoord gl_TextureEnvColor gl_TextureMatrix gl_TextureMatrixInverse gl_TextureMatrixInverseTranspose gl_TextureMatrixTranspose gl_Vertex gl_VertexID gl_ViewportIndex gl_WorkGroupID gl_WorkGroupSize gl_in gl_out EmitStreamVertex EmitVertex EndPrimitive EndStreamPrimitive abs acos acosh all any asin asinh atan atanh atomicAdd atomicAnd atomicCompSwap atomicCounter atomicCounterDecrement atomicCounterIncrement atomicExchange atomicMax atomicMin atomicOr atomicXor barrier bitCount bitfieldExtract bitfieldInsert bitfieldReverse ceil clamp cos cosh cross dFdx dFdy degrees determinant distance dot equal exp exp2 faceforward findLSB findMSB floatBitsToInt floatBitsToUint floor fma fract frexp ftransform fwidth greaterThan greaterThanEqual groupMemoryBarrier imageAtomicAdd imageAtomicAnd imageAtomicCompSwap imageAtomicExchange imageAtomicMax imageAtomicMin imageAtomicOr imageAtomicXor imageLoad imageSize imageStore imulExtended intBitsToFloat interpolateAtCentroid interpolateAtOffset interpolateAtSample inverse inversesqrt isinf isnan ldexp length lessThan lessThanEqual log log2 matrixCompMult max memoryBarrier memoryBarrierAtomicCounter memoryBarrierBuffer memoryBarrierImage memoryBarrierShared min mix mod modf noise1 noise2 noise3 noise4 normalize not notEqual outerProduct packDouble2x32 packHalf2x16 packSnorm2x16 packSnorm4x8 packUnorm2x16 packUnorm4x8 pow radians reflect refract round roundEven shadow1D shadow1DLod shadow1DProj shadow1DProjLod shadow2D shadow2DLod shadow2DProj shadow2DProjLod sign sin sinh smoothstep sqrt step tan tanh texelFetch texelFetchOffset texture texture1D texture1DLod texture1DProj texture1DProjLod texture2D texture2DLod texture2DProj texture2DProjLod texture3D texture3DLod texture3DProj texture3DProjLod textureCube textureCubeLod textureGather textureGatherOffset textureGatherOffsets textureGrad textureGradOffset textureLod textureLodOffset textureOffset textureProj textureProjGrad textureProjGradOffset textureProjLod textureProjLodOffset textureProjOffset textureQueryLevels textureQueryLod textureSize transpose trunc uaddCarry uintBitsToFloat umulExtended unpackDouble2x32 unpackHalf2x16 unpackSnorm2x16 unpackSnorm4x8 unpackUnorm2x16 unpackUnorm4x8 usubBorrow\",literal:\"true false\"},i:'\"',c:[e.CLCM,e.CBCM,e.CNM,{cN:\"meta\",b:\"#\",e:\"$\"}]}}),e.registerLanguage(\"go\",function(e){var t={keyword:\"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune\",literal:\"true false iota nil\",built_in:\"append cap close complex copy imag len make new panic print println real recover delete\"};return{aliases:[\"golang\"],k:t,i:\"</\",c:[e.CLCM,e.CBCM,{cN:\"string\",v:[e.QSM,{b:\"'\",e:\"[^\\\\\\\\]'\"},{b:\"`\",e:\"`\"}]},{cN:\"number\",v:[{b:e.CNR+\"[dflsi]\",r:1},e.CNM]},{b:/:=/},{cN:\"function\",bK:\"func\",e:/\\s*\\{/,eE:!0,c:[e.TM,{cN:\"params\",b:/\\(/,e:/\\)/,k:t,i:/[\"']/}]}]}}),e.registerLanguage(\"golo\",function(e){return{k:{keyword:\"println readln print import module function local return let var while for foreach times in case when match with break continue augment augmentation each find filter reduce if then else otherwise try catch finally raise throw orIfNull DynamicObject|10 DynamicVariable struct Observable map set vector list array\",literal:\"true false null\"},c:[e.HCM,e.QSM,e.CNM,{cN:\"meta\",b:\"@[A-Za-z]+\"}]}}),e.registerLanguage(\"gradle\",function(e){return{cI:!0,k:{keyword:\"task project allprojects subprojects artifacts buildscript configurations dependencies repositories sourceSets description delete from into include exclude source classpath destinationDir includes options sourceCompatibility targetCompatibility group flatDir doLast doFirst flatten todir fromdir ant def abstract break case catch continue default do else extends final finally for if implements instanceof native new private protected public return static switch synchronized throw throws transient try volatile while strictfp package import false null super this true antlrtask checkstyle codenarc copy boolean byte char class double float int interface long short void compile runTime file fileTree abs any append asList asWritable call collect compareTo count div dump each eachByte eachFile eachLine every find findAll flatten getAt getErr getIn getOut getText grep immutable inject inspect intersect invokeMethods isCase join leftShift minus multiply newInputStream newOutputStream newPrintWriter newReader newWriter next plus pop power previous print println push putAt read readBytes readLines reverse reverseEach round size sort splitEachLine step subMap times toInteger toList tokenize upto waitForOrKill withPrintWriter withReader withStream withWriter withWriterAppend write writeLine\"},c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.NM,e.RM]}}),e.registerLanguage(\"groovy\",function(e){return{k:{literal:\"true false null\",keyword:\"byte short char int long boolean float double void def as in assert trait super this abstract static volatile transient public private protected synchronized final class interface enum if else for while switch case break default continue throw throws try catch finally implements extends new import package return instanceof\"},c:[e.C(\"/\\\\*\\\\*\",\"\\\\*/\",{r:0,c:[{b:/\\w+@/,r:0},{cN:\"doctag\",b:\"@[A-Za-z]+\"}]}),e.CLCM,e.CBCM,{cN:\"string\",b:'\"\"\"',e:'\"\"\"'},{cN:\"string\",b:\"'''\",e:\"'''\"},{cN:\"string\",b:\"\\\\$/\",e:\"/\\\\$\",r:10},e.ASM,{cN:\"regexp\",b:/~?\\/[^\\/\\n]+\\//,c:[e.BE]},e.QSM,{cN:\"meta\",b:\"^#!/usr/bin/env\",e:\"$\",i:\"\\n\"},e.BNM,{cN:\"class\",bK:\"class interface trait enum\",e:\"{\",i:\":\",c:[{bK:\"extends implements\"},e.UTM]},e.CNM,{cN:\"meta\",b:\"@[A-Za-z]+\"},{cN:\"string\",b:/[^\\?]{0}[A-Za-z0-9_$]+ *:/},{b:/\\?/,e:/\\:/},{cN:\"symbol\",b:\"^\\\\s*[A-Za-z0-9_$]+:\",r:0}],i:/#|<\\//}}),e.registerLanguage(\"haml\",function(e){return{cI:!0,c:[{cN:\"meta\",b:\"^!!!( (5|1\\\\.1|Strict|Frameset|Basic|Mobile|RDFa|XML\\\\b.*))?$\",r:10},e.C(\"^\\\\s*(!=#|=#|-#|/).*$\",!1,{r:0}),{b:\"^\\\\s*(-|=|!=)(?!#)\",starts:{e:\"\\\\n\",sL:\"ruby\"}},{cN:\"tag\",b:\"^\\\\s*%\",c:[{cN:\"selector-tag\",b:\"\\\\w+\"},{cN:\"selector-id\",b:\"#[\\\\w-]+\"},{cN:\"selector-class\",b:\"\\\\.[\\\\w-]+\"},{b:\"{\\\\s*\",e:\"\\\\s*}\",c:[{b:\":\\\\w+\\\\s*=>\",e:\",\\\\s+\",rB:!0,eW:!0,c:[{cN:\"attr\",b:\":\\\\w+\"},e.ASM,e.QSM,{b:\"\\\\w+\",r:0}]}]},{b:\"\\\\(\\\\s*\",e:\"\\\\s*\\\\)\",eE:!0,c:[{b:\"\\\\w+\\\\s*=\",e:\"\\\\s+\",rB:!0,eW:!0,c:[{cN:\"attr\",b:\"\\\\w+\",r:0},e.ASM,e.QSM,{b:\"\\\\w+\",r:0}]}]}]},{b:\"^\\\\s*[=~]\\\\s*\"},{b:\"#{\",starts:{e:\"}\",sL:\"ruby\"}}]}}),e.registerLanguage(\"handlebars\",function(e){var t={\"builtin-name\":\"each in with if else unless bindattr action collection debugger log outlet template unbound view yield\"};return{aliases:[\"hbs\",\"html.hbs\",\"html.handlebars\"],cI:!0,sL:\"xml\",c:[e.C(\"{{!(--)?\",\"(--)?}}\"),{cN:\"template-tag\",b:/\\{\\{[#\\/]/,e:/\\}\\}/,c:[{cN:\"name\",b:/[a-zA-Z\\.-]+/,k:t,starts:{eW:!0,r:0,c:[e.QSM]}}]},{cN:\"template-variable\",b:/\\{\\{/,e:/\\}\\}/,k:t}]}}),e.registerLanguage(\"haskell\",function(e){var t={v:[e.C(\"--\",\"$\"),e.C(\"{-\",\"-}\",{c:[\"self\"]})]},r={cN:\"meta\",b:\"{-#\",e:\"#-}\"},a={cN:\"meta\",b:\"^#\",e:\"$\"},i={cN:\"type\",b:\"\\\\b[A-Z][\\\\w']*\",r:0},n={b:\"\\\\(\",e:\"\\\\)\",i:'\"',c:[r,a,{cN:\"type\",b:\"\\\\b[A-Z][\\\\w]*(\\\\((\\\\.\\\\.|,|\\\\w+)\\\\))?\"},e.inherit(e.TM,{b:\"[_a-z][\\\\w']*\"}),t]},o={b:\"{\",e:\"}\",c:n.c};return{aliases:[\"hs\"],k:\"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec\",c:[{bK:\"module\",e:\"where\",k:\"module where\",c:[n,t],i:\"\\\\W\\\\.|;\"},{b:\"\\\\bimport\\\\b\",e:\"$\",k:\"import qualified as hiding\",c:[n,t],i:\"\\\\W\\\\.|;\"},{cN:\"class\",b:\"^(\\\\s*)?(class|instance)\\\\b\",e:\"where\",k:\"class family instance where\",c:[i,n,t]},{cN:\"class\",b:\"\\\\b(data|(new)?type)\\\\b\",e:\"$\",k:\"data family type newtype deriving\",c:[r,i,n,o,t]},{bK:\"default\",e:\"$\",c:[i,n,t]},{bK:\"infix infixl infixr\",e:\"$\",c:[e.CNM,t]},{b:\"\\\\bforeign\\\\b\",e:\"$\",k:\"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe\",c:[i,e.QSM,t]},{cN:\"meta\",b:\"#!\\\\/usr\\\\/bin\\\\/env runhaskell\",e:\"$\"},r,a,e.QSM,e.CNM,i,e.inherit(e.TM,{b:\"^[_a-z][\\\\w']*\"}),t,{b:\"->|<-\"}]}}),e.registerLanguage(\"haxe\",function(e){var t=\"Int Float String Bool Dynamic Void Array \";return{aliases:[\"hx\"],k:{keyword:\"break case cast catch continue default do dynamic else enum extern for function here if import in inline never new override package private get set public return static super switch this throw trace try typedef untyped using var while \"+t,built_in:\"trace this\",literal:\"true false null _\"},c:[{cN:\"string\",b:\"'\",e:\"'\",c:[e.BE,{cN:\"subst\",b:\"\\\\$\\\\{\",e:\"\\\\}\"},{cN:\"subst\",b:\"\\\\$\",e:\"\\\\W}\"}]},e.QSM,e.CLCM,e.CBCM,e.CNM,{cN:\"meta\",b:\"@:\",e:\"$\"},{cN:\"meta\",b:\"#\",e:\"$\",k:{\"meta-keyword\":\"if else elseif end error\"}},{cN:\"type\",b:\":[ \t]*\",e:\"[^A-Za-z0-9_ \t\\\\->]\",eB:!0,eE:!0,r:0},{cN:\"type\",b:\":[ \t]*\",e:\"\\\\W\",eB:!0,eE:!0},{cN:\"type\",b:\"new *\",e:\"\\\\W\",eB:!0,eE:!0},{cN:\"class\",bK:\"enum\",e:\"\\\\{\",c:[e.TM]},{cN:\"class\",bK:\"abstract\",e:\"[\\\\{$]\",c:[{cN:\"type\",b:\"\\\\(\",e:\"\\\\)\",eB:!0,eE:!0},{cN:\"type\",b:\"from +\",e:\"\\\\W\",eB:!0,eE:!0},{cN:\"type\",b:\"to +\",e:\"\\\\W\",eB:!0,eE:!0},e.TM],k:{keyword:\"abstract from to\"}},{cN:\"class\",b:\"\\\\b(class|interface) +\",e:\"[\\\\{$]\",eE:!0,k:\"class interface\",c:[{cN:\"keyword\",b:\"\\\\b(extends|implements) +\",k:\"extends implements\",c:[{cN:\"type\",b:e.IR,r:0}]},e.TM]},{cN:\"function\",bK:\"function\",e:\"\\\\(\",eE:!0,i:\"\\\\S\",c:[e.TM]}],i:/<\\//}}),e.registerLanguage(\"hsp\",function(e){return{cI:!0,l:/[\\w\\._]+/,k:\"goto gosub return break repeat loop continue wait await dim sdim foreach dimtype dup dupptr end stop newmod delmod mref run exgoto on mcall assert logmes newlab resume yield onexit onerror onkey onclick oncmd exist delete mkdir chdir dirlist bload bsave bcopy memfile if else poke wpoke lpoke getstr chdpm memexpand memcpy memset notesel noteadd notedel noteload notesave randomize noteunsel noteget split strrep setease button chgdisp exec dialog mmload mmplay mmstop mci pset pget syscolor mes print title pos circle cls font sysfont objsize picload color palcolor palette redraw width gsel gcopy gzoom gmode bmpsave hsvcolor getkey listbox chkbox combox input mesbox buffer screen bgscr mouse objsel groll line clrobj boxf objprm objmode stick grect grotate gsquare gradf objimage objskip objenable celload celdiv celput newcom querycom delcom cnvstow comres axobj winobj sendmsg comevent comevarg sarrayconv callfunc cnvwtos comevdisp libptr system hspstat hspver stat cnt err strsize looplev sublev iparam wparam lparam refstr refdval int rnd strlen length length2 length3 length4 vartype gettime peek wpeek lpeek varptr varuse noteinfo instr abs limit getease str strmid strf getpath strtrim sin cos tan atan sqrt double absf expf logf limitf powf geteasef mousex mousey mousew hwnd hinstance hdc ginfo objinfo dirinfo sysinfo thismod __hspver__ __hsp30__ __date__ __time__ __line__ __file__ _debug __hspdef__ and or xor not screen_normal screen_palette screen_hide screen_fixedsize screen_tool screen_frame gmode_gdi gmode_mem gmode_rgb0 gmode_alpha gmode_rgb0alpha gmode_add gmode_sub gmode_pixela ginfo_mx ginfo_my ginfo_act ginfo_sel ginfo_wx1 ginfo_wy1 ginfo_wx2 ginfo_wy2 ginfo_vx ginfo_vy ginfo_sizex ginfo_sizey ginfo_winx ginfo_winy ginfo_mesx ginfo_mesy ginfo_r ginfo_g ginfo_b ginfo_paluse ginfo_dispx ginfo_dispy ginfo_cx ginfo_cy ginfo_intid ginfo_newid ginfo_sx ginfo_sy objinfo_mode objinfo_bmscr objinfo_hwnd notemax notesize dir_cur dir_exe dir_win dir_sys dir_cmdline dir_desktop dir_mydoc dir_tv font_normal font_bold font_italic font_underline font_strikeout font_antialias objmode_normal objmode_guifont objmode_usefont gsquare_grad msgothic msmincho do until while wend for next _break _continue switch case default swbreak swend ddim ldim alloc m_pi rad2deg deg2rad ease_linear ease_quad_in ease_quad_out ease_quad_inout ease_cubic_in ease_cubic_out ease_cubic_inout ease_quartic_in ease_quartic_out ease_quartic_inout ease_bounce_in ease_bounce_out ease_bounce_inout ease_shake_in ease_shake_out ease_shake_inout ease_loop\",c:[e.CLCM,e.CBCM,e.QSM,e.ASM,{cN:\"string\",b:'{\"',e:'\"}',c:[e.BE]},e.C(\";\",\"$\",{r:0}),{cN:\"meta\",b:\"#\",e:\"$\",k:{\"meta-keyword\":\"addion cfunc cmd cmpopt comfunc const defcfunc deffunc define else endif enum epack func global if ifdef ifndef include modcfunc modfunc modinit modterm module pack packopt regcmd runtime undef usecom uselib\"},c:[e.inherit(e.QSM,{cN:\"meta-string\"}),e.NM,e.CNM,e.CLCM,e.CBCM]},{cN:\"symbol\",b:\"^\\\\*(\\\\w+|@)\"},e.NM,e.CNM]}}),e.registerLanguage(\"htmlbars\",function(e){var t=\"action collection component concat debugger each each-in else get hash if input link-to loc log mut outlet partial query-params render textarea unbound unless with yield view\",r={i:/\\}\\}/,b:/[a-zA-Z0-9_]+=/,rB:!0,r:0,c:[{cN:\"attr\",b:/[a-zA-Z0-9_]+/}]},a=({i:/\\}\\}/,b:/\\)/,e:/\\)/,c:[{b:/[a-zA-Z\\.\\-]+/,k:{built_in:t},starts:{eW:!0,r:0,c:[e.QSM]}}]},{eW:!0,r:0,k:{keyword:\"as\",built_in:t},c:[e.QSM,r,e.NM]});return{cI:!0,sL:\"xml\",c:[e.C(\"{{!(--)?\",\"(--)?}}\"),{cN:\"template-tag\",b:/\\{\\{[#\\/]/,e:/\\}\\}/,c:[{cN:\"name\",b:/[a-zA-Z\\.\\-]+/,k:{\"builtin-name\":t},starts:a}]},{cN:\"template-variable\",b:/\\{\\{[a-zA-Z][a-zA-Z\\-]+/,e:/\\}\\}/,k:{keyword:\"as\",built_in:t},c:[e.QSM]}]}}),e.registerLanguage(\"http\",function(e){var t=\"HTTP/[0-9\\\\.]+\";return{aliases:[\"https\"],i:\"\\\\S\",c:[{b:\"^\"+t,e:\"$\",c:[{cN:\"number\",b:\"\\\\b\\\\d{3}\\\\b\"}]},{b:\"^[A-Z]+ (.*?) \"+t+\"$\",rB:!0,e:\"$\",c:[{cN:\"string\",b:\" \",e:\" \",eB:!0,eE:!0},{b:t},{cN:\"keyword\",b:\"[A-Z]+\"}]},{cN:\"attribute\",b:\"^\\\\w\",e:\": \",eE:!0,i:\"\\\\n|\\\\s|=\",starts:{e:\"$\",r:0}},{b:\"\\\\n\\\\n\",starts:{sL:[],eW:!0}}]}}),e.registerLanguage(\"hy\",function(e){var t={\"builtin-name\":\"!= % %= & &= * ** **= *= *map + += , --build-class-- --import-- -= . / // //= /= < << <<= <= = > >= >> >>= @ @= ^ ^= abs accumulate all and any ap-compose ap-dotimes ap-each ap-each-while ap-filter ap-first ap-if ap-last ap-map ap-map-when ap-pipe ap-reduce ap-reject apply as-> ascii assert assoc bin break butlast callable calling-module-name car case cdr chain chr coll? combinations compile compress cond cons cons? continue count curry cut cycle dec def default-method defclass defmacro defmacro-alias defmacro/g! defmain defmethod defmulti defn defn-alias defnc defnr defreader defseq del delattr delete-route dict-comp dir disassemble dispatch-reader-macro distinct divmod do doto drop drop-last drop-while empty? end-sequence eval eval-and-compile eval-when-compile even? every? except exec filter first flatten float? fn fnc fnr for for* format fraction genexpr gensym get getattr global globals group-by hasattr hash hex id identity if if* if-not if-python2 import in inc input instance? integer integer-char? integer? interleave interpose is is-coll is-cons is-empty is-even is-every is-float is-instance is-integer is-integer-char is-iterable is-iterator is-keyword is-neg is-none is-not is-numeric is-odd is-pos is-string is-symbol is-zero isinstance islice issubclass iter iterable? iterate iterator? keyword keyword? lambda last len let lif lif-not list* list-comp locals loop macro-error macroexpand macroexpand-1 macroexpand-all map max merge-with method-decorator min multi-decorator multicombinations name neg? next none? nonlocal not not-in not? nth numeric? oct odd? open or ord partition permutations pos? post-route postwalk pow prewalk print product profile/calls profile/cpu put-route quasiquote quote raise range read read-str recursive-replace reduce remove repeat repeatedly repr require rest round route route-with-methods rwm second seq set-comp setattr setv some sorted string string? sum switch symbol? take take-nth take-while tee try unless unquote unquote-splicing vars walk when while with with* with-decorator with-gensyms xi xor yield yield-from zero? zip zip-longest | |= ~\"},r=\"a-zA-Z_\\\\-!.?+*=<>&#'\",a=\"[\"+r+\"][\"+r+\"0-9/;:]*\",i=\"[-+]?\\\\d+(\\\\.\\\\d+)?\",n={cN:\"meta\",b:\"^#!\",e:\"$\"},o={b:a,r:0},s={cN:\"number\",b:i,r:0},l=e.inherit(e.QSM,{i:null}),c=e.C(\";\",\"$\",{r:0}),d={cN:\"literal\",b:/\\b([Tt]rue|[Ff]alse|nil|None)\\b/},p={b:\"[\\\\[\\\\{]\",e:\"[\\\\]\\\\}]\"},m={cN:\"comment\",b:\"\\\\^\"+a},u=e.C(\"\\\\^\\\\{\",\"\\\\}\"),b={cN:\"symbol\",b:\"[:]{1,2}\"+a},g={b:\"\\\\(\",e:\"\\\\)\"},f={eW:!0,r:0},_={k:t,l:a,cN:\"name\",b:a,starts:f},h=[g,l,m,u,c,b,p,s,d,o];return g.c=[e.C(\"comment\",\"\"),_,f],f.c=h,p.c=h,{aliases:[\"hylang\"],i:/\\S/,c:[n,g,l,m,u,c,b,p,s,d]}}),e.registerLanguage(\"inform7\",function(e){var t=\"\\\\[\",r=\"\\\\]\";return{aliases:[\"i7\"],cI:!0,k:{keyword:\"thing room person man woman animal container supporter backdrop door scenery open closed locked inside gender is are say understand kind of rule\"},c:[{cN:\"string\",b:'\"',e:'\"',r:0,c:[{cN:\"subst\",b:t,e:r}]},{cN:\"section\",b:/^(Volume|Book|Part|Chapter|Section|Table)\\b/,e:\"$\"},{b:/^(Check|Carry out|Report|Instead of|To|Rule|When|Before|After)\\b/,e:\":\",c:[{b:\"\\\\(This\",e:\"\\\\)\"}]},{cN:\"comment\",b:t,e:r,c:[\"self\"]}]}}),e.registerLanguage(\"ini\",function(e){var t={cN:\"string\",c:[e.BE],v:[{b:\"'''\",e:\"'''\",r:10},{b:'\"\"\"',e:'\"\"\"',r:10},{b:'\"',e:'\"'},{b:\"'\",e:\"'\"}]};return{aliases:[\"toml\"],cI:!0,i:/\\S/,c:[e.C(\";\",\"$\"),e.HCM,{cN:\"section\",b:/^\\s*\\[+/,e:/\\]+/},{b:/^[a-z0-9\\[\\]_-]+\\s*=\\s*/,e:\"$\",rB:!0,c:[{cN:\"attr\",b:/[a-z0-9\\[\\]_-]+/},{b:/=/,eW:!0,r:0,c:[{cN:\"literal\",b:/\\bon|off|true|false|yes|no\\b/},{cN:\"variable\",v:[{b:/\\$[\\w\\d\"][\\w\\d_]*/},{b:/\\$\\{(.*?)}/}]},t,{cN:\"number\",b:/([\\+\\-]+)?[\\d]+_[\\d_]+/},e.NM]}]}]}}),e.registerLanguage(\"irpf90\",function(e){var t={cN:\"params\",b:\"\\\\(\",e:\"\\\\)\"},r={literal:\".False. .True.\",keyword:\"kind do while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated  c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure integer real character complex logical dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data begin_provider &begin_provider end_provider begin_shell end_shell begin_template end_template subst assert touch soft_touch provide no_dep free irp_if irp_else irp_endif irp_write irp_read\",built_in:\"alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_ofacosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image IRP_ALIGN irp_here\"};return{cI:!0,k:r,i:/\\/\\*/,c:[e.inherit(e.ASM,{cN:\"string\",r:0}),e.inherit(e.QSM,{cN:\"string\",r:0}),{cN:\"function\",bK:\"subroutine function program\",i:\"[${=\\\\n]\",c:[e.UTM,t]},e.C(\"!\",\"$\",{r:0}),e.C(\"begin_doc\",\"end_doc\",{r:10}),{cN:\"number\",b:\"(?=\\\\b|\\\\+|\\\\-|\\\\.)(?=\\\\.\\\\d|\\\\d)(?:\\\\d+)?(?:\\\\.?\\\\d*)(?:[de][+-]?\\\\d+)?\\\\b\\\\.?\",r:0}]}}),e.registerLanguage(\"java\",function(e){var t=\"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*\",r=t+\"(<\"+t+\"(\\\\s*,\\\\s*\"+t+\")*>)?\",a=\"false synchronized int abstract float private char boolean static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do\",i=\"\\\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+)(\\\\.([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+))?|\\\\.([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+))([eE][-+]?\\\\d+)?)[lLfF]?\",n={cN:\"number\",b:i,r:0};return{aliases:[\"jsp\"],k:a,i:/<\\/|#/,c:[e.C(\"/\\\\*\\\\*\",\"\\\\*/\",{r:0,c:[{b:/\\w+@/,r:0},{cN:\"doctag\",b:\"@[A-Za-z]+\"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:\"class\",bK:\"class interface\",e:/[{;=]/,eE:!0,k:\"class interface\",i:/[:\"\\[\\]]/,c:[{bK:\"extends implements\"},e.UTM]},{bK:\"new throw return else\",r:0},{cN:\"function\",b:\"(\"+r+\"\\\\s+)+\"+e.UIR+\"\\\\s*\\\\(\",rB:!0,e:/[{;=]/,eE:!0,k:a,c:[{b:e.UIR+\"\\\\s*\\\\(\",rB:!0,r:0,c:[e.UTM]},{cN:\"params\",b:/\\(/,e:/\\)/,k:a,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},n,{cN:\"meta\",b:\"@[A-Za-z]+\"}]}}),e.registerLanguage(\"javascript\",function(e){var t=\"[A-Za-z$_][0-9A-Za-z$_]*\",r={keyword:\"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as\",literal:\"true false null undefined NaN Infinity\",built_in:\"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise\"},a={cN:\"number\",v:[{b:\"\\\\b(0[bB][01]+)\"},{b:\"\\\\b(0[oO][0-7]+)\"},{b:e.CNR}],r:0},i={cN:\"subst\",b:\"\\\\$\\\\{\",e:\"\\\\}\",k:r,c:[]},n={cN:\"string\",b:\"`\",e:\"`\",c:[e.BE,i]};i.c=[e.ASM,e.QSM,n,a,e.RM];var o=i.c.concat([e.CBCM,e.CLCM]);return{aliases:[\"js\",\"jsx\"],k:r,c:[{cN:\"meta\",r:10,b:/^\\s*['\"]use (strict|asm)['\"]/},{cN:\"meta\",b:/^#!/,e:/$/},e.ASM,e.QSM,n,e.CLCM,e.CBCM,a,{b:/[{,]\\s*/,r:0,c:[{b:t+\"\\\\s*:\",rB:!0,r:0,c:[{cN:\"attr\",b:t,r:0}]}]},{b:\"(\"+e.RSR+\"|\\\\b(case|return|throw)\\\\b)\\\\s*\",k:\"return throw case\",c:[e.CLCM,e.CBCM,e.RM,{cN:\"function\",b:\"(\\\\(.*?\\\\)|\"+t+\")\\\\s*=>\",rB:!0,e:\"\\\\s*=>\",c:[{cN:\"params\",v:[{b:t},{b:/\\(\\s*\\)/},{b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:r,c:o}]}]},{b:/</,e:/(\\/\\w+|\\w+\\/)>/,sL:\"xml\",c:[{b:/<\\w+\\s*\\/>/,skip:!0},{b:/<\\w+/,e:/(\\/\\w+|\\w+\\/)>/,skip:!0,c:[{b:/<\\w+\\s*\\/>/,skip:!0},\"self\"]}]}],r:0},{cN:\"function\",bK:\"function\",e:/\\{/,eE:!0,c:[e.inherit(e.TM,{b:t}),{cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0,c:o}],i:/\\[|%/},{b:/\\$[(.]/},e.METHOD_GUARD,{cN:\"class\",bK:\"class\",e:/[{;=]/,eE:!0,i:/[:\"\\[\\]]/,c:[{bK:\"extends\"},e.UTM]},{bK:\"constructor\",e:/\\{/,eE:!0}],i:/#(?!!)/}}),e.registerLanguage(\"jboss-cli\",function(e){var t={b:/[\\w-]+ *=/,rB:!0,r:0,c:[{cN:\"attr\",b:/[\\w-]+/}]},r={cN:\"params\",b:/\\(/,e:/\\)/,c:[t],r:0},a={cN:\"function\",b:/:[\\w\\-.]+/,r:0},i={cN:\"string\",b:/\\B(([\\/.])[\\w\\-.\\/=]+)+/},n={cN:\"params\",b:/--[\\w\\-=\\/]+/};return{aliases:[\"wildfly-cli\"],l:\"[a-z-]+\",k:{keyword:\"alias batch cd clear command connect connection-factory connection-info data-source deploy deployment-info deployment-overlay echo echo-dmr help history if jdbc-driver-info jms-queue|20 jms-topic|20 ls patch pwd quit read-attribute read-operation reload rollout-plan run-batch set shutdown try unalias undeploy unset version xa-data-source\",literal:\"true false\"},c:[e.HCM,e.QSM,n,a,i,r]}}),e.registerLanguage(\"json\",function(e){var t={literal:\"true false null\"},r=[e.QSM,e.CNM],a={e:\",\",eW:!0,eE:!0,c:r,k:t},i={b:\"{\",e:\"}\",c:[{cN:\"attr\",b:/\"/,e:/\"/,c:[e.BE],i:\"\\\\n\"},e.inherit(a,{b:/:/})],i:\"\\\\S\"},n={b:\"\\\\[\",e:\"\\\\]\",c:[e.inherit(a)],i:\"\\\\S\"};return r.splice(r.length,0,i,n),{c:r,k:t,i:\"\\\\S\"}}),e.registerLanguage(\"julia\",function(e){var t={keyword:\"in isa where baremodule begin break catch ccall const continue do else elseif end export false finally for function global if import importall let local macro module quote return true try using while type immutable abstract bitstype typealias \",literal:\"true false ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im nothing pi γ π φ \",built_in:\"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool \"\n},r=\"[A-Za-z_\\\\u00A1-\\\\uFFFF][A-Za-z_0-9\\\\u00A1-\\\\uFFFF]*\",a={l:r,k:t,i:/<\\//},i={cN:\"number\",b:/(\\b0x[\\d_]*(\\.[\\d_]*)?|0x\\.\\d[\\d_]*)p[-+]?\\d+|\\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\\b\\d[\\d_]*(\\.[\\d_]*)?|\\.\\d[\\d_]*)([eEfF][-+]?\\d+)?/,r:0},n={cN:\"string\",b:/'(.|\\\\[xXuU][a-zA-Z0-9]+)'/},o={cN:\"subst\",b:/\\$\\(/,e:/\\)/,k:t},s={cN:\"variable\",b:\"\\\\$\"+r},l={cN:\"string\",c:[e.BE,o,s],v:[{b:/\\w*\"\"\"/,e:/\"\"\"\\w*/,r:10},{b:/\\w*\"/,e:/\"\\w*/}]},c={cN:\"string\",c:[e.BE,o,s],b:\"`\",e:\"`\"},d={cN:\"meta\",b:\"@\"+r},p={cN:\"comment\",v:[{b:\"#=\",e:\"=#\",r:10},{b:\"#\",e:\"$\"}]};return a.c=[i,n,l,c,d,p,e.HCM,{cN:\"keyword\",b:\"\\\\b(((abstract|primitive)\\\\s+)type|(mutable\\\\s+)?struct)\\\\b\"},{b:/<:/}],o.c=a.c,a}),e.registerLanguage(\"julia-repl\",function(e){return{c:[{cN:\"meta\",b:/^julia>/,r:10,starts:{e:/^(?![ ]{6})/,sL:\"julia\"},aliases:[\"jldoctest\"]}]}}),e.registerLanguage(\"kotlin\",function(e){var t={keyword:\"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit initinterface annotation data sealed internal infix operator out by constructor super trait volatile transient native default\",built_in:\"Byte Short Char Int Long Boolean Float Double Void Unit Nothing\",literal:\"true false null\"},r={cN:\"keyword\",b:/\\b(break|continue|return|this)\\b/,starts:{c:[{cN:\"symbol\",b:/@\\w+/}]}},a={cN:\"symbol\",b:e.UIR+\"@\"},i={cN:\"subst\",b:\"\\\\${\",e:\"}\",c:[e.ASM,e.CNM]},n={cN:\"variable\",b:\"\\\\$\"+e.UIR},o={cN:\"string\",v:[{b:'\"\"\"',e:'\"\"\"',c:[n,i]},{b:\"'\",e:\"'\",i:/\\n/,c:[e.BE]},{b:'\"',e:'\"',i:/\\n/,c:[e.BE,n,i]}]},s={cN:\"meta\",b:\"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\\\s*:(?:\\\\s*\"+e.UIR+\")?\"},l={cN:\"meta\",b:\"@\"+e.UIR,c:[{b:/\\(/,e:/\\)/,c:[e.inherit(o,{cN:\"meta-string\"})]}]};return{k:t,c:[e.C(\"/\\\\*\\\\*\",\"\\\\*/\",{r:0,c:[{cN:\"doctag\",b:\"@[A-Za-z]+\"}]}),e.CLCM,e.CBCM,r,a,s,l,{cN:\"function\",bK:\"fun\",e:\"[(]|$\",rB:!0,eE:!0,k:t,i:/fun\\s+(<.*>)?[^\\s\\(]+(\\s+[^\\s\\(]+)\\s*=/,r:5,c:[{b:e.UIR+\"\\\\s*\\\\(\",rB:!0,r:0,c:[e.UTM]},{cN:\"type\",b:/</,e:/>/,k:\"reified\",r:0},{cN:\"params\",b:/\\(/,e:/\\)/,endsParent:!0,k:t,r:0,c:[{b:/:/,e:/[=,\\/]/,eW:!0,c:[{cN:\"type\",b:e.UIR},e.CLCM,e.CBCM],r:0},e.CLCM,e.CBCM,s,l,o,e.CNM]},e.CBCM]},{cN:\"class\",bK:\"class interface trait\",e:/[:\\{(]|$/,eE:!0,i:\"extends implements\",c:[{bK:\"public protected internal private constructor\"},e.UTM,{cN:\"type\",b:/</,e:/>/,eB:!0,eE:!0,r:0},{cN:\"type\",b:/[,:]\\s*/,e:/[<\\(,]|$/,eB:!0,rE:!0},s,l]},o,{cN:\"meta\",b:\"^#!/usr/bin/env\",e:\"$\",i:\"\\n\"},e.CNM]}}),e.registerLanguage(\"lasso\",function(e){var t=\"[a-zA-Z_][\\\\w.]*\",r=\"<\\\\?(lasso(script)?|=)\",a=\"\\\\]|\\\\?>\",i={literal:\"true false none minimal full all void and or not bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft\",built_in:\"array date decimal duration integer map pair string tag xml null boolean bytes keyword list locale queue set stack staticarray local var variable global data self inherited currentcapture givenblock\",keyword:\"cache database_names database_schemanames database_tablenames define_tag define_type email_batch encode_set html_comment handle handle_error header if inline iterate ljax_target link link_currentaction link_currentgroup link_currentrecord link_detail link_firstgroup link_firstrecord link_lastgroup link_lastrecord link_nextgroup link_nextrecord link_prevgroup link_prevrecord log loop namespace_using output_none portal private protect records referer referrer repeating resultset rows search_args search_arguments select sort_args sort_arguments thread_atomic value_list while abort case else fail_if fail_ifnot fail if_empty if_false if_null if_true loop_abort loop_continue loop_count params params_up return return_value run_children soap_definetag soap_lastrequest soap_lastresponse tag_name ascending average by define descending do equals frozen group handle_failure import in into join let match max min on order parent protected provide public require returnhome skip split_thread sum take thread to trait type where with yield yieldhome\"},n=e.C(\"<!--\",\"-->\",{r:0}),o={cN:\"meta\",b:\"\\\\[noprocess\\\\]\",starts:{e:\"\\\\[/noprocess\\\\]\",rE:!0,c:[n]}},s={cN:\"meta\",b:\"\\\\[/noprocess|\"+r},l={cN:\"symbol\",b:\"'\"+t+\"'\"},c=[e.CLCM,e.CBCM,e.inherit(e.CNM,{b:e.CNR+\"|(-?infinity|NaN)\\\\b\"}),e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null}),{cN:\"string\",b:\"`\",e:\"`\"},{v:[{b:\"[#$]\"+t},{b:\"#\",e:\"\\\\d+\",i:\"\\\\W\"}]},{cN:\"type\",b:\"::\\\\s*\",e:t,i:\"\\\\W\"},{cN:\"params\",v:[{b:\"-(?!infinity)\"+t,r:0},{b:\"(\\\\.\\\\.\\\\.)\"}]},{b:/(->|\\.)\\s*/,r:0,c:[l]},{cN:\"class\",bK:\"define\",rE:!0,e:\"\\\\(|=>\",c:[e.inherit(e.TM,{b:t+\"(=(?!>))?|[-+*/%](?!>)\"})]}];return{aliases:[\"ls\",\"lassoscript\"],cI:!0,l:t+\"|&[lg]t;\",k:i,c:[{cN:\"meta\",b:a,r:0,starts:{e:\"\\\\[|\"+r,rE:!0,r:0,c:[n]}},o,s,{cN:\"meta\",b:\"\\\\[no_square_brackets\",starts:{e:\"\\\\[/no_square_brackets\\\\]\",l:t+\"|&[lg]t;\",k:i,c:[{cN:\"meta\",b:a,r:0,starts:{e:\"\\\\[noprocess\\\\]|\"+r,rE:!0,c:[n]}},o,s].concat(c)}},{cN:\"meta\",b:\"\\\\[\",r:0},{cN:\"meta\",b:\"^#!\",e:\"lasso9$\",r:10}].concat(c)}}),e.registerLanguage(\"ldif\",function(e){return{c:[{cN:\"attribute\",b:\"^dn\",e:\": \",eE:!0,starts:{e:\"$\",r:0},r:10},{cN:\"attribute\",b:\"^\\\\w\",e:\": \",eE:!0,starts:{e:\"$\",r:0}},{cN:\"literal\",b:\"^-\",e:\"$\"},e.HCM]}}),e.registerLanguage(\"leaf\",function(e){return{c:[{cN:\"function\",b:\"#+[A-Za-z_0-9]*\\\\(\",e:\" {\",rB:!0,eE:!0,c:[{cN:\"keyword\",b:\"#+\"},{cN:\"title\",b:\"[A-Za-z_][A-Za-z_0-9]*\"},{cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",endsParent:!0,c:[{cN:\"string\",b:'\"',e:'\"'},{cN:\"variable\",b:\"[A-Za-z_][A-Za-z_0-9]*\"}]}]}]}}),e.registerLanguage(\"less\",function(e){var t=\"[\\\\w-]+\",r=\"(\"+t+\"|@{\"+t+\"})\",a=[],i=[],n=function(e){return{cN:\"string\",b:\"~?\"+e+\".*?\"+e}},o=function(e,t,r){return{cN:e,b:t,r:r}},s={b:\"\\\\(\",e:\"\\\\)\",c:i,r:0};i.push(e.CLCM,e.CBCM,n(\"'\"),n('\"'),e.CSSNM,{b:\"(url|data-uri)\\\\(\",starts:{cN:\"string\",e:\"[\\\\)\\\\n]\",eE:!0}},o(\"number\",\"#[0-9A-Fa-f]+\\\\b\"),s,o(\"variable\",\"@@?\"+t,10),o(\"variable\",\"@{\"+t+\"}\"),o(\"built_in\",\"~?`[^`]*?`\"),{cN:\"attribute\",b:t+\"\\\\s*:\",e:\":\",rB:!0,eE:!0},{cN:\"meta\",b:\"!important\"});var l=i.concat({b:\"{\",e:\"}\",c:a}),c={bK:\"when\",eW:!0,c:[{bK:\"and not\"}].concat(i)},d={b:r+\"\\\\s*:\",rB:!0,e:\"[;}]\",r:0,c:[{cN:\"attribute\",b:r,e:\":\",eE:!0,starts:{eW:!0,i:\"[<=$]\",r:0,c:i}}]},p={cN:\"keyword\",b:\"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\\\b\",starts:{e:\"[;{}]\",rE:!0,c:i,r:0}},m={cN:\"variable\",v:[{b:\"@\"+t+\"\\\\s*:\",r:15},{b:\"@\"+t}],starts:{e:\"[;}]\",rE:!0,c:l}},u={v:[{b:\"[\\\\.#:&\\\\[>]\",e:\"[;{}]\"},{b:r,e:\"{\"}],rB:!0,rE:!0,i:\"[<='$\\\"]\",r:0,c:[e.CLCM,e.CBCM,c,o(\"keyword\",\"all\\\\b\"),o(\"variable\",\"@{\"+t+\"}\"),o(\"selector-tag\",r+\"%?\",0),o(\"selector-id\",\"#\"+r),o(\"selector-class\",\"\\\\.\"+r,0),o(\"selector-tag\",\"&\",0),{cN:\"selector-attr\",b:\"\\\\[\",e:\"\\\\]\"},{cN:\"selector-pseudo\",b:/:(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\"'.]+/},{b:\"\\\\(\",e:\"\\\\)\",c:l},{b:\"!important\"}]};return a.push(e.CLCM,e.CBCM,p,m,d,u),{cI:!0,i:\"[=>'/<($\\\"]\",c:a}}),e.registerLanguage(\"lisp\",function(e){var t=\"[a-zA-Z_\\\\-\\\\+\\\\*\\\\/\\\\<\\\\=\\\\>\\\\&\\\\#][a-zA-Z0-9_\\\\-\\\\+\\\\*\\\\/\\\\<\\\\=\\\\>\\\\&\\\\#!]*\",r=\"\\\\|[^]*?\\\\|\",a=\"(\\\\-|\\\\+)?\\\\d+(\\\\.\\\\d+|\\\\/\\\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\\\+|\\\\-)?\\\\d+)?\",i={cN:\"meta\",b:\"^#!\",e:\"$\"},n={cN:\"literal\",b:\"\\\\b(t{1}|nil)\\\\b\"},o={cN:\"number\",v:[{b:a,r:0},{b:\"#(b|B)[0-1]+(/[0-1]+)?\"},{b:\"#(o|O)[0-7]+(/[0-7]+)?\"},{b:\"#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?\"},{b:\"#(c|C)\\\\(\"+a+\" +\"+a,e:\"\\\\)\"}]},s=e.inherit(e.QSM,{i:null}),l=e.C(\";\",\"$\",{r:0}),c={b:\"\\\\*\",e:\"\\\\*\"},d={cN:\"symbol\",b:\"[:&]\"+t},p={b:t,r:0},m={b:r},u={b:\"\\\\(\",e:\"\\\\)\",c:[\"self\",n,s,o,p]},b={c:[o,s,c,d,u,p],v:[{b:\"['`]\\\\(\",e:\"\\\\)\"},{b:\"\\\\(quote \",e:\"\\\\)\",k:{name:\"quote\"}},{b:\"'\"+r}]},g={v:[{b:\"'\"+t},{b:\"#'\"+t+\"(::\"+t+\")*\"}]},f={b:\"\\\\(\\\\s*\",e:\"\\\\)\"},_={eW:!0,r:0};return f.c=[{cN:\"name\",v:[{b:t},{b:r}]},_],_.c=[b,g,f,n,o,s,l,c,d,m,p],{i:/\\S/,c:[o,i,n,s,l,b,g,f,p]}}),e.registerLanguage(\"livecodeserver\",function(e){var t={b:\"\\\\b[gtps][A-Z]+[A-Za-z0-9_\\\\-]*\\\\b|\\\\$_[A-Z]+\",r:0},r=[e.CBCM,e.HCM,e.C(\"--\",\"$\"),e.C(\"[^:]//\",\"$\")],a=e.inherit(e.TM,{v:[{b:\"\\\\b_*rig[A-Z]+[A-Za-z0-9_\\\\-]*\"},{b:\"\\\\b_[a-z0-9\\\\-]+\"}]}),i=e.inherit(e.TM,{b:\"\\\\b([A-Za-z0-9_\\\\-]+)\\\\b\"});return{cI:!1,k:{keyword:\"$_COOKIE $_FILES $_GET $_GET_BINARY $_GET_RAW $_POST $_POST_BINARY $_POST_RAW $_SESSION $_SERVER codepoint codepoints segment segments codeunit codeunits sentence sentences trueWord trueWords paragraph after byte bytes english the until http forever descending using line real8 with seventh for stdout finally element word words fourth before black ninth sixth characters chars stderr uInt1 uInt1s uInt2 uInt2s stdin string lines relative rel any fifth items from middle mid at else of catch then third it file milliseconds seconds second secs sec int1 int1s int4 int4s internet int2 int2s normal text item last long detailed effective uInt4 uInt4s repeat end repeat URL in try into switch to words https token binfile each tenth as ticks tick system real4 by dateItems without char character ascending eighth whole dateTime numeric short first ftp integer abbreviated abbr abbrev private case while if div mod wrap and or bitAnd bitNot bitOr bitXor among not in a an within contains ends with begins the keys of keys\",literal:\"SIX TEN FORMFEED NINE ZERO NONE SPACE FOUR FALSE COLON CRLF PI COMMA ENDOFFILE EOF EIGHT FIVE QUOTE EMPTY ONE TRUE RETURN CR LINEFEED RIGHT BACKSLASH NULL SEVEN TAB THREE TWO six ten formfeed nine zero none space four false colon crlf pi comma endoffile eof eight five quote empty one true return cr linefeed right backslash null seven tab three two RIVERSION RISTATE FILE_READ_MODE FILE_WRITE_MODE FILE_WRITE_MODE DIR_WRITE_MODE FILE_READ_UMASK FILE_WRITE_UMASK DIR_READ_UMASK DIR_WRITE_UMASK\",built_in:\"put abs acos aliasReference annuity arrayDecode arrayEncode asin atan atan2 average avg avgDev base64Decode base64Encode baseConvert binaryDecode binaryEncode byteOffset byteToNum cachedURL cachedURLs charToNum cipherNames codepointOffset codepointProperty codepointToNum codeunitOffset commandNames compound compress constantNames cos date dateFormat decompress directories diskSpace DNSServers exp exp1 exp2 exp10 extents files flushEvents folders format functionNames geometricMean global globals hasMemory harmonicMean hostAddress hostAddressToName hostName hostNameToAddress isNumber ISOToMac itemOffset keys len length libURLErrorData libUrlFormData libURLftpCommand libURLLastHTTPHeaders libURLLastRHHeaders libUrlMultipartFormAddPart libUrlMultipartFormData libURLVersion lineOffset ln ln1 localNames log log2 log10 longFilePath lower macToISO matchChunk matchText matrixMultiply max md5Digest median merge millisec millisecs millisecond milliseconds min monthNames nativeCharToNum normalizeText num number numToByte numToChar numToCodepoint numToNativeChar offset open openfiles openProcesses openProcessIDs openSockets paragraphOffset paramCount param params peerAddress pendingMessages platform popStdDev populationStandardDeviation populationVariance popVariance processID random randomBytes replaceText result revCreateXMLTree revCreateXMLTreeFromFile revCurrentRecord revCurrentRecordIsFirst revCurrentRecordIsLast revDatabaseColumnCount revDatabaseColumnIsNull revDatabaseColumnLengths revDatabaseColumnNames revDatabaseColumnNamed revDatabaseColumnNumbered revDatabaseColumnTypes revDatabaseConnectResult revDatabaseCursors revDatabaseID revDatabaseTableNames revDatabaseType revDataFromQuery revdb_closeCursor revdb_columnbynumber revdb_columncount revdb_columnisnull revdb_columnlengths revdb_columnnames revdb_columntypes revdb_commit revdb_connect revdb_connections revdb_connectionerr revdb_currentrecord revdb_cursorconnection revdb_cursorerr revdb_cursors revdb_dbtype revdb_disconnect revdb_execute revdb_iseof revdb_isbof revdb_movefirst revdb_movelast revdb_movenext revdb_moveprev revdb_query revdb_querylist revdb_recordcount revdb_rollback revdb_tablenames revGetDatabaseDriverPath revNumberOfRecords revOpenDatabase revOpenDatabases revQueryDatabase revQueryDatabaseBlob revQueryResult revQueryIsAtStart revQueryIsAtEnd revUnixFromMacPath revXMLAttribute revXMLAttributes revXMLAttributeValues revXMLChildContents revXMLChildNames revXMLCreateTreeFromFileWithNamespaces revXMLCreateTreeWithNamespaces revXMLDataFromXPathQuery revXMLEvaluateXPath revXMLFirstChild revXMLMatchingNode revXMLNextSibling revXMLNodeContents revXMLNumberOfChildren revXMLParent revXMLPreviousSibling revXMLRootNode revXMLRPC_CreateRequest revXMLRPC_Documents revXMLRPC_Error revXMLRPC_GetHost revXMLRPC_GetMethod revXMLRPC_GetParam revXMLText revXMLRPC_Execute revXMLRPC_GetParamCount revXMLRPC_GetParamNode revXMLRPC_GetParamType revXMLRPC_GetPath revXMLRPC_GetPort revXMLRPC_GetProtocol revXMLRPC_GetRequest revXMLRPC_GetResponse revXMLRPC_GetSocket revXMLTree revXMLTrees revXMLValidateDTD revZipDescribeItem revZipEnumerateItems revZipOpenArchives round sampVariance sec secs seconds sentenceOffset sha1Digest shell shortFilePath sin specialFolderPath sqrt standardDeviation statRound stdDev sum sysError systemVersion tan tempName textDecode textEncode tick ticks time to tokenOffset toLower toUpper transpose truewordOffset trunc uniDecode uniEncode upper URLDecode URLEncode URLStatus uuid value variableNames variance version waitDepth weekdayNames wordOffset xsltApplyStylesheet xsltApplyStylesheetFromFile xsltLoadStylesheet xsltLoadStylesheetFromFile add breakpoint cancel clear local variable file word line folder directory URL close socket process combine constant convert create new alias folder directory decrypt delete variable word line folder directory URL dispatch divide do encrypt filter get include intersect kill libURLDownloadToFile libURLFollowHttpRedirects libURLftpUpload libURLftpUploadFile libURLresetAll libUrlSetAuthCallback libURLSetCustomHTTPHeaders libUrlSetExpect100 libURLSetFTPListCommand libURLSetFTPMode libURLSetFTPStopTime libURLSetStatusCallback load multiply socket prepare process post seek rel relative read from process rename replace require resetAll resolve revAddXMLNode revAppendXML revCloseCursor revCloseDatabase revCommitDatabase revCopyFile revCopyFolder revCopyXMLNode revDeleteFolder revDeleteXMLNode revDeleteAllXMLTrees revDeleteXMLTree revExecuteSQL revGoURL revInsertXMLNode revMoveFolder revMoveToFirstRecord revMoveToLastRecord revMoveToNextRecord revMoveToPreviousRecord revMoveToRecord revMoveXMLNode revPutIntoXMLNode revRollBackDatabase revSetDatabaseDriverPath revSetXMLAttribute revXMLRPC_AddParam revXMLRPC_DeleteAllDocuments revXMLAddDTD revXMLRPC_Free revXMLRPC_FreeAll revXMLRPC_DeleteDocument revXMLRPC_DeleteParam revXMLRPC_SetHost revXMLRPC_SetMethod revXMLRPC_SetPort revXMLRPC_SetProtocol revXMLRPC_SetSocket revZipAddItemWithData revZipAddItemWithFile revZipAddUncompressedItemWithData revZipAddUncompressedItemWithFile revZipCancel revZipCloseArchive revZipDeleteItem revZipExtractItemToFile revZipExtractItemToVariable revZipSetProgressCallback revZipRenameItem revZipReplaceItemWithData revZipReplaceItemWithFile revZipOpenArchive send set sort split start stop subtract union unload wait write\"},c:[t,{cN:\"keyword\",b:\"\\\\bend\\\\sif\\\\b\"},{cN:\"function\",bK:\"function\",e:\"$\",c:[t,i,e.ASM,e.QSM,e.BNM,e.CNM,a]},{cN:\"function\",b:\"\\\\bend\\\\s+\",e:\"$\",k:\"end\",c:[i,a],r:0},{bK:\"command on\",e:\"$\",c:[t,i,e.ASM,e.QSM,e.BNM,e.CNM,a]},{cN:\"meta\",v:[{b:\"<\\\\?(rev|lc|livecode)\",r:10},{b:\"<\\\\?\"},{b:\"\\\\?>\"}]},e.ASM,e.QSM,e.BNM,e.CNM,a].concat(r),i:\";$|^\\\\[|^=|&|{\"}}),e.registerLanguage(\"livescript\",function(e){var t={keyword:\"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger case default function var with then unless until loop of by when and or is isnt not it that otherwise from to til fallthrough super case default function var void const let enum export import native __hasProp __extends __slice __bind __indexOf\",literal:\"true false null undefined yes no on off it that void\",built_in:\"npm require console print module global window document\"},r=\"[A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*\",a=e.inherit(e.TM,{b:r}),i={cN:\"subst\",b:/#\\{/,e:/}/,k:t},n={cN:\"subst\",b:/#[A-Za-z$_]/,e:/(?:\\-[0-9A-Za-z$_]|[0-9A-Za-z$_])*/,k:t},o=[e.BNM,{cN:\"number\",b:\"(\\\\b0[xX][a-fA-F0-9_]+)|(\\\\b\\\\d(\\\\d|_\\\\d)*(\\\\.(\\\\d(\\\\d|_\\\\d)*)?)?(_*[eE]([-+]\\\\d(_\\\\d|\\\\d)*)?)?[_a-z]*)\",r:0,starts:{e:\"(\\\\s*/)?\",r:0}},{cN:\"string\",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/\"\"\"/,e:/\"\"\"/,c:[e.BE,i,n]},{b:/\"/,e:/\"/,c:[e.BE,i,n]},{b:/\\\\/,e:/(\\s|$)/,eE:!0}]},{cN:\"regexp\",v:[{b:\"//\",e:\"//[gim]*\",c:[i,e.HCM]},{b:/\\/(?![ *])(\\\\\\/|.)*?\\/[gim]*(?=\\W|$)/}]},{b:\"@\"+r},{b:\"``\",e:\"``\",eB:!0,eE:!0,sL:\"javascript\"}];i.c=o;var s={cN:\"params\",b:\"\\\\(\",rB:!0,c:[{b:/\\(/,e:/\\)/,k:t,c:[\"self\"].concat(o)}]};return{aliases:[\"ls\"],k:t,i:/\\/\\*/,c:o.concat([e.C(\"\\\\/\\\\*\",\"\\\\*\\\\/\"),e.HCM,{cN:\"function\",c:[a,s],rB:!0,v:[{b:\"(\"+r+\"\\\\s*(?:=|:=)\\\\s*)?(\\\\(.*\\\\))?\\\\s*\\\\B\\\\->\\\\*?\",e:\"\\\\->\\\\*?\"},{b:\"(\"+r+\"\\\\s*(?:=|:=)\\\\s*)?!?(\\\\(.*\\\\))?\\\\s*\\\\B[-~]{1,2}>\\\\*?\",e:\"[-~]{1,2}>\\\\*?\"},{b:\"(\"+r+\"\\\\s*(?:=|:=)\\\\s*)?(\\\\(.*\\\\))?\\\\s*\\\\B!?[-~]{1,2}>\\\\*?\",e:\"!?[-~]{1,2}>\\\\*?\"}]},{cN:\"class\",bK:\"class\",e:\"$\",i:/[:=\"\\[\\]]/,c:[{bK:\"extends\",eW:!0,i:/[:=\"\\[\\]]/,c:[a]},a]},{b:r+\":\",e:\":\",rB:!0,rE:!0,r:0}])}}),e.registerLanguage(\"llvm\",function(e){var t=\"([-a-zA-Z$._][\\\\w\\\\-$.]*)\";return{k:\"begin end true false declare define global constant private linker_private internal available_externally linkonce linkonce_odr weak weak_odr appending dllimport dllexport common default hidden protected extern_weak external thread_local zeroinitializer undef null to tail target triple datalayout volatile nuw nsw nnan ninf nsz arcp fast exact inbounds align addrspace section alias module asm sideeffect gc dbg linker_private_weak attributes blockaddress initialexec localdynamic localexec prefix unnamed_addr ccc fastcc coldcc x86_stdcallcc x86_fastcallcc arm_apcscc arm_aapcscc arm_aapcs_vfpcc ptx_device ptx_kernel intel_ocl_bicc msp430_intrcc spir_func spir_kernel x86_64_sysvcc x86_64_win64cc x86_thiscallcc cc c signext zeroext inreg sret nounwind noreturn noalias nocapture byval nest readnone readonly inlinehint noinline alwaysinline optsize ssp sspreq noredzone noimplicitfloat naked builtin cold nobuiltin noduplicate nonlazybind optnone returns_twice sanitize_address sanitize_memory sanitize_thread sspstrong uwtable returned type opaque eq ne slt sgt sle sge ult ugt ule uge oeq one olt ogt ole oge ord uno ueq une x acq_rel acquire alignstack atomic catch cleanup filter inteldialect max min monotonic nand personality release seq_cst singlethread umax umin unordered xchg add fadd sub fsub mul fmul udiv sdiv fdiv urem srem frem shl lshr ashr and or xor icmp fcmp phi call trunc zext sext fptrunc fpext uitofp sitofp fptoui fptosi inttoptr ptrtoint bitcast addrspacecast select va_arg ret br switch invoke unwind unreachable indirectbr landingpad resume malloc alloca free load store getelementptr extractelement insertelement shufflevector getresult extractvalue insertvalue atomicrmw cmpxchg fence argmemonly double\",c:[{cN:\"keyword\",b:\"i\\\\d+\"},e.C(\";\",\"\\\\n\",{r:0}),e.QSM,{cN:\"string\",v:[{b:'\"',e:'[^\\\\\\\\]\"'}],r:0},{cN:\"title\",v:[{b:\"@\"+t},{b:\"@\\\\d+\"},{b:\"!\"+t},{b:\"!\\\\d+\"+t}]},{cN:\"symbol\",v:[{b:\"%\"+t},{b:\"%\\\\d+\"},{b:\"#\\\\d+\"}]},{cN:\"number\",v:[{b:\"0[xX][a-fA-F0-9]+\"},{b:\"-?\\\\d+(?:[.]\\\\d+)?(?:[eE][-+]?\\\\d+(?:[.]\\\\d+)?)?\"}],r:0}]}}),e.registerLanguage(\"lsl\",function(e){var t={cN:\"subst\",b:/\\\\[tn\"\\\\]/},r={cN:\"string\",b:'\"',e:'\"',c:[t]},a={cN:\"number\",b:e.CNR},i={cN:\"literal\",v:[{b:\"\\\\b(?:PI|TWO_PI|PI_BY_TWO|DEG_TO_RAD|RAD_TO_DEG|SQRT2)\\\\b\"},{b:\"\\\\b(?:XP_ERROR_(?:EXPERIENCES_DISABLED|EXPERIENCE_(?:DISABLED|SUSPENDED)|INVALID_(?:EXPERIENCE|PARAMETERS)|KEY_NOT_FOUND|MATURITY_EXCEEDED|NONE|NOT_(?:FOUND|PERMITTED(?:_LAND)?)|NO_EXPERIENCE|QUOTA_EXCEEDED|RETRY_UPDATE|STORAGE_EXCEPTION|STORE_DISABLED|THROTTLED|UNKNOWN_ERROR)|JSON_APPEND|STATUS_(?:PHYSICS|ROTATE_[XYZ]|PHANTOM|SANDBOX|BLOCK_GRAB(?:_OBJECT)?|(?:DIE|RETURN)_AT_EDGE|CAST_SHADOWS|OK|MALFORMED_PARAMS|TYPE_MISMATCH|BOUNDS_ERROR|NOT_(?:FOUND|SUPPORTED)|INTERNAL_ERROR|WHITELIST_FAILED)|AGENT(?:_(?:BY_(?:LEGACY_|USER)NAME|FLYING|ATTACHMENTS|SCRIPTED|MOUSELOOK|SITTING|ON_OBJECT|AWAY|WALKING|IN_AIR|TYPING|CROUCHING|BUSY|ALWAYS_RUN|AUTOPILOT|LIST_(?:PARCEL(?:_OWNER)?|REGION)))?|CAMERA_(?:PITCH|DISTANCE|BEHINDNESS_(?:ANGLE|LAG)|(?:FOCUS|POSITION)(?:_(?:THRESHOLD|LOCKED|LAG))?|FOCUS_OFFSET|ACTIVE)|ANIM_ON|LOOP|REVERSE|PING_PONG|SMOOTH|ROTATE|SCALE|ALL_SIDES|LINK_(?:ROOT|SET|ALL_(?:OTHERS|CHILDREN)|THIS)|ACTIVE|PASS(?:IVE|_(?:ALWAYS|IF_NOT_HANDLED|NEVER))|SCRIPTED|CONTROL_(?:FWD|BACK|(?:ROT_)?(?:LEFT|RIGHT)|UP|DOWN|(?:ML_)?LBUTTON)|PERMISSION_(?:RETURN_OBJECTS|DEBIT|OVERRIDE_ANIMATIONS|SILENT_ESTATE_MANAGEMENT|TAKE_CONTROLS|TRIGGER_ANIMATION|ATTACH|CHANGE_LINKS|(?:CONTROL|TRACK)_CAMERA|TELEPORT)|INVENTORY_(?:TEXTURE|SOUND|OBJECT|SCRIPT|LANDMARK|CLOTHING|NOTECARD|BODYPART|ANIMATION|GESTURE|ALL|NONE)|CHANGED_(?:INVENTORY|COLOR|SHAPE|SCALE|TEXTURE|LINK|ALLOWED_DROP|OWNER|REGION(?:_START)?|TELEPORT|MEDIA)|OBJECT_(?:CLICK_ACTION|HOVER_HEIGHT|LAST_OWNER_ID|(?:PHYSICS|SERVER|STREAMING)_COST|UNKNOWN_DETAIL|CHARACTER_TIME|PHANTOM|PHYSICS|TEMP_ON_REZ|NAME|DESC|POS|PRIM_(?:COUNT|EQUIVALENCE)|RETURN_(?:PARCEL(?:_OWNER)?|REGION)|REZZER_KEY|ROO?T|VELOCITY|OMEGA|OWNER|GROUP|CREATOR|ATTACHED_POINT|RENDER_WEIGHT|(?:BODY_SHAPE|PATHFINDING)_TYPE|(?:RUNNING|TOTAL)_SCRIPT_COUNT|TOTAL_INVENTORY_COUNT|SCRIPT_(?:MEMORY|TIME))|TYPE_(?:INTEGER|FLOAT|STRING|KEY|VECTOR|ROTATION|INVALID)|(?:DEBUG|PUBLIC)_CHANNEL|ATTACH_(?:AVATAR_CENTER|CHEST|HEAD|BACK|PELVIS|MOUTH|CHIN|NECK|NOSE|BELLY|[LR](?:SHOULDER|HAND|FOOT|EAR|EYE|[UL](?:ARM|LEG)|HIP)|(?:LEFT|RIGHT)_PEC|HUD_(?:CENTER_[12]|TOP_(?:RIGHT|CENTER|LEFT)|BOTTOM(?:_(?:RIGHT|LEFT))?)|[LR]HAND_RING1|TAIL_(?:BASE|TIP)|[LR]WING|FACE_(?:JAW|[LR]EAR|[LR]EYE|TOUNGE)|GROIN|HIND_[LR]FOOT)|LAND_(?:LEVEL|RAISE|LOWER|SMOOTH|NOISE|REVERT)|DATA_(?:ONLINE|NAME|BORN|SIM_(?:POS|STATUS|RATING)|PAYINFO)|PAYMENT_INFO_(?:ON_FILE|USED)|REMOTE_DATA_(?:CHANNEL|REQUEST|REPLY)|PSYS_(?:PART_(?:BF_(?:ZERO|ONE(?:_MINUS_(?:DEST_COLOR|SOURCE_(ALPHA|COLOR)))?|DEST_COLOR|SOURCE_(ALPHA|COLOR))|BLEND_FUNC_(DEST|SOURCE)|FLAGS|(?:START|END)_(?:COLOR|ALPHA|SCALE|GLOW)|MAX_AGE|(?:RIBBON|WIND|INTERP_(?:COLOR|SCALE)|BOUNCE|FOLLOW_(?:SRC|VELOCITY)|TARGET_(?:POS|LINEAR)|EMISSIVE)_MASK)|SRC_(?:MAX_AGE|PATTERN|ANGLE_(?:BEGIN|END)|BURST_(?:RATE|PART_COUNT|RADIUS|SPEED_(?:MIN|MAX))|ACCEL|TEXTURE|TARGET_KEY|OMEGA|PATTERN_(?:DROP|EXPLODE|ANGLE(?:_CONE(?:_EMPTY)?)?)))|VEHICLE_(?:REFERENCE_FRAME|TYPE_(?:NONE|SLED|CAR|BOAT|AIRPLANE|BALLOON)|(?:LINEAR|ANGULAR)_(?:FRICTION_TIMESCALE|MOTOR_DIRECTION)|LINEAR_MOTOR_OFFSET|HOVER_(?:HEIGHT|EFFICIENCY|TIMESCALE)|BUOYANCY|(?:LINEAR|ANGULAR)_(?:DEFLECTION_(?:EFFICIENCY|TIMESCALE)|MOTOR_(?:DECAY_)?TIMESCALE)|VERTICAL_ATTRACTION_(?:EFFICIENCY|TIMESCALE)|BANKING_(?:EFFICIENCY|MIX|TIMESCALE)|FLAG_(?:NO_DEFLECTION_UP|LIMIT_(?:ROLL_ONLY|MOTOR_UP)|HOVER_(?:(?:WATER|TERRAIN|UP)_ONLY|GLOBAL_HEIGHT)|MOUSELOOK_(?:STEER|BANK)|CAMERA_DECOUPLED))|PRIM_(?:ALPHA_MODE(?:_(?:BLEND|EMISSIVE|MASK|NONE))?|NORMAL|SPECULAR|TYPE(?:_(?:BOX|CYLINDER|PRISM|SPHERE|TORUS|TUBE|RING|SCULPT))?|HOLE_(?:DEFAULT|CIRCLE|SQUARE|TRIANGLE)|MATERIAL(?:_(?:STONE|METAL|GLASS|WOOD|FLESH|PLASTIC|RUBBER))?|SHINY_(?:NONE|LOW|MEDIUM|HIGH)|BUMP_(?:NONE|BRIGHT|DARK|WOOD|BARK|BRICKS|CHECKER|CONCRETE|TILE|STONE|DISKS|GRAVEL|BLOBS|SIDING|LARGETILE|STUCCO|SUCTION|WEAVE)|TEXGEN_(?:DEFAULT|PLANAR)|SCULPT_(?:TYPE_(?:SPHERE|TORUS|PLANE|CYLINDER|MASK)|FLAG_(?:MIRROR|INVERT))|PHYSICS(?:_(?:SHAPE_(?:CONVEX|NONE|PRIM|TYPE)))?|(?:POS|ROT)_LOCAL|SLICE|TEXT|FLEXIBLE|POINT_LIGHT|TEMP_ON_REZ|PHANTOM|POSITION|SIZE|ROTATION|TEXTURE|NAME|OMEGA|DESC|LINK_TARGET|COLOR|BUMP_SHINY|FULLBRIGHT|TEXGEN|GLOW|MEDIA_(?:ALT_IMAGE_ENABLE|CONTROLS|(?:CURRENT|HOME)_URL|AUTO_(?:LOOP|PLAY|SCALE|ZOOM)|FIRST_CLICK_INTERACT|(?:WIDTH|HEIGHT)_PIXELS|WHITELIST(?:_ENABLE)?|PERMS_(?:INTERACT|CONTROL)|PARAM_MAX|CONTROLS_(?:STANDARD|MINI)|PERM_(?:NONE|OWNER|GROUP|ANYONE)|MAX_(?:URL_LENGTH|WHITELIST_(?:SIZE|COUNT)|(?:WIDTH|HEIGHT)_PIXELS)))|MASK_(?:BASE|OWNER|GROUP|EVERYONE|NEXT)|PERM_(?:TRANSFER|MODIFY|COPY|MOVE|ALL)|PARCEL_(?:MEDIA_COMMAND_(?:STOP|PAUSE|PLAY|LOOP|TEXTURE|URL|TIME|AGENT|UNLOAD|AUTO_ALIGN|TYPE|SIZE|DESC|LOOP_SET)|FLAG_(?:ALLOW_(?:FLY|(?:GROUP_)?SCRIPTS|LANDMARK|TERRAFORM|DAMAGE|CREATE_(?:GROUP_)?OBJECTS)|USE_(?:ACCESS_(?:GROUP|LIST)|BAN_LIST|LAND_PASS_LIST)|LOCAL_SOUND_ONLY|RESTRICT_PUSHOBJECT|ALLOW_(?:GROUP|ALL)_OBJECT_ENTRY)|COUNT_(?:TOTAL|OWNER|GROUP|OTHER|SELECTED|TEMP)|DETAILS_(?:NAME|DESC|OWNER|GROUP|AREA|ID|SEE_AVATARS))|LIST_STAT_(?:MAX|MIN|MEAN|MEDIAN|STD_DEV|SUM(?:_SQUARES)?|NUM_COUNT|GEOMETRIC_MEAN|RANGE)|PAY_(?:HIDE|DEFAULT)|REGION_FLAG_(?:ALLOW_DAMAGE|FIXED_SUN|BLOCK_TERRAFORM|SANDBOX|DISABLE_(?:COLLISIONS|PHYSICS)|BLOCK_FLY|ALLOW_DIRECT_TELEPORT|RESTRICT_PUSHOBJECT)|HTTP_(?:METHOD|MIMETYPE|BODY_(?:MAXLENGTH|TRUNCATED)|CUSTOM_HEADER|PRAGMA_NO_CACHE|VERBOSE_THROTTLE|VERIFY_CERT)|STRING_(?:TRIM(?:_(?:HEAD|TAIL))?)|CLICK_ACTION_(?:NONE|TOUCH|SIT|BUY|PAY|OPEN(?:_MEDIA)?|PLAY|ZOOM)|TOUCH_INVALID_FACE|PROFILE_(?:NONE|SCRIPT_MEMORY)|RC_(?:DATA_FLAGS|DETECT_PHANTOM|GET_(?:LINK_NUM|NORMAL|ROOT_KEY)|MAX_HITS|REJECT_(?:TYPES|AGENTS|(?:NON)?PHYSICAL|LAND))|RCERR_(?:CAST_TIME_EXCEEDED|SIM_PERF_LOW|UNKNOWN)|ESTATE_ACCESS_(?:ALLOWED_(?:AGENT|GROUP)_(?:ADD|REMOVE)|BANNED_AGENT_(?:ADD|REMOVE))|DENSITY|FRICTION|RESTITUTION|GRAVITY_MULTIPLIER|KFM_(?:COMMAND|CMD_(?:PLAY|STOP|PAUSE)|MODE|FORWARD|LOOP|PING_PONG|REVERSE|DATA|ROTATION|TRANSLATION)|ERR_(?:GENERIC|PARCEL_PERMISSIONS|MALFORMED_PARAMS|RUNTIME_PERMISSIONS|THROTTLED)|CHARACTER_(?:CMD_(?:(?:SMOOTH_)?STOP|JUMP)|DESIRED_(?:TURN_)?SPEED|RADIUS|STAY_WITHIN_PARCEL|LENGTH|ORIENTATION|ACCOUNT_FOR_SKIPPED_FRAMES|AVOIDANCE_MODE|TYPE(?:_(?:[ABCD]|NONE))?|MAX_(?:DECEL|TURN_RADIUS|(?:ACCEL|SPEED)))|PURSUIT_(?:OFFSET|FUZZ_FACTOR|GOAL_TOLERANCE|INTERCEPT)|REQUIRE_LINE_OF_SIGHT|FORCE_DIRECT_PATH|VERTICAL|HORIZONTAL|AVOID_(?:CHARACTERS|DYNAMIC_OBSTACLES|NONE)|PU_(?:EVADE_(?:HIDDEN|SPOTTED)|FAILURE_(?:DYNAMIC_PATHFINDING_DISABLED|INVALID_(?:GOAL|START)|NO_(?:NAVMESH|VALID_DESTINATION)|OTHER|TARGET_GONE|(?:PARCEL_)?UNREACHABLE)|(?:GOAL|SLOWDOWN_DISTANCE)_REACHED)|TRAVERSAL_TYPE(?:_(?:FAST|NONE|SLOW))?|CONTENT_TYPE_(?:ATOM|FORM|HTML|JSON|LLSD|RSS|TEXT|XHTML|XML)|GCNP_(?:RADIUS|STATIC)|(?:PATROL|WANDER)_PAUSE_AT_WAYPOINTS|OPT_(?:AVATAR|CHARACTER|EXCLUSION_VOLUME|LEGACY_LINKSET|MATERIAL_VOLUME|OTHER|STATIC_OBSTACLE|WALKABLE)|SIM_STAT_PCT_CHARS_STEPPED)\\\\b\"},{b:\"\\\\b(?:FALSE|TRUE)\\\\b\"},{b:\"\\\\b(?:ZERO_ROTATION)\\\\b\"},{b:\"\\\\b(?:EOF|JSON_(?:ARRAY|DELETE|FALSE|INVALID|NULL|NUMBER|OBJECT|STRING|TRUE)|NULL_KEY|TEXTURE_(?:BLANK|DEFAULT|MEDIA|PLYWOOD|TRANSPARENT)|URL_REQUEST_(?:GRANTED|DENIED))\\\\b\"},{b:\"\\\\b(?:ZERO_VECTOR|TOUCH_INVALID_(?:TEXCOORD|VECTOR))\\\\b\"}]},n={cN:\"built_in\",b:\"\\\\b(?:ll(?:AgentInExperience|(?:Create|DataSize|Delete|KeyCount|Keys|Read|Update)KeyValue|GetExperience(?:Details|ErrorMessage)|ReturnObjectsBy(?:ID|Owner)|Json(?:2List|[GS]etValue|ValueType)|Sin|Cos|Tan|Atan2|Sqrt|Pow|Abs|Fabs|Frand|Floor|Ceil|Round|Vec(?:Mag|Norm|Dist)|Rot(?:Between|2(?:Euler|Fwd|Left|Up))|(?:Euler|Axes)2Rot|Whisper|(?:Region|Owner)?Say|Shout|Listen(?:Control|Remove)?|Sensor(?:Repeat|Remove)?|Detected(?:Name|Key|Owner|Type|Pos|Vel|Grab|Rot|Group|LinkNumber)|Die|Ground|Wind|(?:[GS]et)(?:AnimationOverride|MemoryLimit|PrimMediaParams|ParcelMusicURL|Object(?:Desc|Name)|PhysicsMaterial|Status|Scale|Color|Alpha|Texture|Pos|Rot|Force|Torque)|ResetAnimationOverride|(?:Scale|Offset|Rotate)Texture|(?:Rot)?Target(?:Remove)?|(?:Stop)?MoveToTarget|Apply(?:Rotational)?Impulse|Set(?:KeyframedMotion|ContentType|RegionPos|(?:Angular)?Velocity|Buoyancy|HoverHeight|ForceAndTorque|TimerEvent|ScriptState|Damage|TextureAnim|Sound(?:Queueing|Radius)|Vehicle(?:Type|(?:Float|Vector|Rotation)Param)|(?:Touch|Sit)?Text|Camera(?:Eye|At)Offset|PrimitiveParams|ClickAction|Link(?:Alpha|Color|PrimitiveParams(?:Fast)?|Texture(?:Anim)?|Camera|Media)|RemoteScriptAccessPin|PayPrice|LocalRot)|ScaleByFactor|Get(?:(?:Max|Min)ScaleFactor|ClosestNavPoint|StaticPath|SimStats|Env|PrimitiveParams|Link(?:PrimitiveParams|Number(?:OfSides)?|Key|Name|Media)|HTTPHeader|FreeURLs|Object(?:Details|PermMask|PrimCount)|Parcel(?:MaxPrims|Details|Prim(?:Count|Owners))|Attached(?:List)?|(?:SPMax|Free|Used)Memory|Region(?:Name|TimeDilation|FPS|Corner|AgentCount)|Root(?:Position|Rotation)|UnixTime|(?:Parcel|Region)Flags|(?:Wall|GMT)clock|SimulatorHostname|BoundingBox|GeometricCenter|Creator|NumberOf(?:Prims|NotecardLines|Sides)|Animation(?:List)?|(?:Camera|Local)(?:Pos|Rot)|Vel|Accel|Omega|Time(?:stamp|OfDay)|(?:Object|CenterOf)?Mass|MassMKS|Energy|Owner|(?:Owner)?Key|SunDirection|Texture(?:Offset|Scale|Rot)|Inventory(?:Number|Name|Key|Type|Creator|PermMask)|Permissions(?:Key)?|StartParameter|List(?:Length|EntryType)|Date|Agent(?:Size|Info|Language|List)|LandOwnerAt|NotecardLine|Script(?:Name|State))|(?:Get|Reset|GetAndReset)Time|PlaySound(?:Slave)?|LoopSound(?:Master|Slave)?|(?:Trigger|Stop|Preload)Sound|(?:(?:Get|Delete)Sub|Insert)String|To(?:Upper|Lower)|Give(?:InventoryList|Money)|RezObject|(?:Stop)?LookAt|Sleep|CollisionFilter|(?:Take|Release)Controls|DetachFromAvatar|AttachToAvatar(?:Temp)?|InstantMessage|(?:GetNext)?Email|StopHover|MinEventDelay|RotLookAt|String(?:Length|Trim)|(?:Start|Stop)Animation|TargetOmega|Request(?:Experience)?Permissions|(?:Create|Break)Link|BreakAllLinks|(?:Give|Remove)Inventory|Water|PassTouches|Request(?:Agent|Inventory)Data|TeleportAgent(?:Home|GlobalCoords)?|ModifyLand|CollisionSound|ResetScript|MessageLinked|PushObject|PassCollisions|AxisAngle2Rot|Rot2(?:Axis|Angle)|A(?:cos|sin)|AngleBetween|AllowInventoryDrop|SubStringIndex|List2(?:CSV|Integer|Json|Float|String|Key|Vector|Rot|List(?:Strided)?)|DeleteSubList|List(?:Statistics|Sort|Randomize|(?:Insert|Find|Replace)List)|EdgeOfWorld|AdjustSoundVolume|Key2Name|TriggerSoundLimited|EjectFromLand|(?:CSV|ParseString)2List|OverMyLand|SameGroup|UnSit|Ground(?:Slope|Normal|Contour)|GroundRepel|(?:Set|Remove)VehicleFlags|(?:AvatarOn)?(?:Link)?SitTarget|Script(?:Danger|Profiler)|Dialog|VolumeDetect|ResetOtherScript|RemoteLoadScriptPin|(?:Open|Close)RemoteDataChannel|SendRemoteData|RemoteDataReply|(?:Integer|String)ToBase64|XorBase64|Log(?:10)?|Base64To(?:String|Integer)|ParseStringKeepNulls|RezAtRoot|RequestSimulatorData|ForceMouselook|(?:Load|Release|(?:E|Une)scape)URL|ParcelMedia(?:CommandList|Query)|ModPow|MapDestination|(?:RemoveFrom|AddTo|Reset)Land(?:Pass|Ban)List|(?:Set|Clear)CameraParams|HTTP(?:Request|Response)|TextBox|DetectedTouch(?:UV|Face|Pos|(?:N|Bin)ormal|ST)|(?:MD5|SHA1|DumpList2)String|Request(?:Secure)?URL|Clear(?:Prim|Link)Media|(?:Link)?ParticleSystem|(?:Get|Request)(?:Username|DisplayName)|RegionSayTo|CastRay|GenerateKey|TransferLindenDollars|ManageEstateAccess|(?:Create|Delete)Character|ExecCharacterCmd|Evade|FleeFrom|NavigateTo|PatrolPoints|Pursue|UpdateCharacter|WanderWithin))\\\\b\"};return{i:\":\",c:[r,{cN:\"comment\",v:[e.C(\"//\",\"$\"),e.C(\"/\\\\*\",\"\\\\*/\")]},a,{cN:\"section\",v:[{b:\"\\\\b(?:state|default)\\\\b\"},{b:\"\\\\b(?:state_(?:entry|exit)|touch(?:_(?:start|end))?|(?:land_)?collision(?:_(?:start|end))?|timer|listen|(?:no_)?sensor|control|(?:not_)?at_(?:rot_)?target|money|email|experience_permissions(?:_denied)?|run_time_permissions|changed|attach|dataserver|moving_(?:start|end)|link_message|(?:on|object)_rez|remote_data|http_re(?:sponse|quest)|path_update|transaction_result)\\\\b\"}]},n,i,{cN:\"type\",b:\"\\\\b(?:integer|float|string|key|vector|quaternion|rotation|list)\\\\b\"}]}}),e.registerLanguage(\"lua\",function(e){var t=\"\\\\[=*\\\\[\",r=\"\\\\]=*\\\\]\",a={b:t,e:r,c:[\"self\"]},i=[e.C(\"--(?!\"+t+\")\",\"$\"),e.C(\"--\"+t,r,{c:[a],r:10})];return{l:e.UIR,k:{literal:\"true false nil\",keyword:\"and break do else elseif end for goto if in local not or repeat return then until while\",built_in:\"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstringmodule next pairs pcall print rawequal rawget rawset require select setfenvsetmetatable tonumber tostring type unpack xpcall arg selfcoroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove\"\n},c:i.concat([{cN:\"function\",bK:\"function\",e:\"\\\\)\",c:[e.inherit(e.TM,{b:\"([_a-zA-Z]\\\\w*\\\\.)*([_a-zA-Z]\\\\w*:)?[_a-zA-Z]\\\\w*\"}),{cN:\"params\",b:\"\\\\(\",eW:!0,c:i}].concat(i)},e.CNM,e.ASM,e.QSM,{cN:\"string\",b:t,e:r,c:[a],r:5}])}}),e.registerLanguage(\"makefile\",function(e){var t={cN:\"variable\",v:[{b:\"\\\\$\\\\(\"+e.UIR+\"\\\\)\",c:[e.BE]},{b:/\\$[@%<?\\^\\+\\*]/}]},r={cN:\"string\",b:/\"/,e:/\"/,c:[e.BE,t]},a={cN:\"variable\",b:/\\$\\([\\w-]+\\s/,e:/\\)/,k:{built_in:\"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value\"},c:[t]},i={b:\"^\"+e.UIR+\"\\\\s*[:+?]?=\",i:\"\\\\n\",rB:!0,c:[{b:\"^\"+e.UIR,e:\"[:+?]?=\",eE:!0}]},n={cN:\"meta\",b:/^\\.PHONY:/,e:/$/,k:{\"meta-keyword\":\".PHONY\"},l:/[\\.\\w]+/},o={cN:\"section\",b:/^[^\\s]+:/,e:/$/,c:[t]};return{aliases:[\"mk\",\"mak\"],k:\"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath\",l:/[\\w-]+/,c:[e.HCM,t,r,a,i,n,o]}}),e.registerLanguage(\"mathematica\",function(e){return{aliases:[\"mma\"],l:\"(\\\\$|\\\\b)\"+e.IR+\"\\\\b\",k:\"AbelianGroup Abort AbortKernels AbortProtect Above Abs Absolute AbsoluteCorrelation AbsoluteCorrelationFunction AbsoluteCurrentValue AbsoluteDashing AbsoluteFileName AbsoluteOptions AbsolutePointSize AbsoluteThickness AbsoluteTime AbsoluteTiming AccountingForm Accumulate Accuracy AccuracyGoal ActionDelay ActionMenu ActionMenuBox ActionMenuBoxOptions Active ActiveItem ActiveStyle AcyclicGraphQ AddOnHelpPath AddTo AdjacencyGraph AdjacencyList AdjacencyMatrix AdjustmentBox AdjustmentBoxOptions AdjustTimeSeriesForecast AffineTransform After AiryAi AiryAiPrime AiryAiZero AiryBi AiryBiPrime AiryBiZero AlgebraicIntegerQ AlgebraicNumber AlgebraicNumberDenominator AlgebraicNumberNorm AlgebraicNumberPolynomial AlgebraicNumberTrace AlgebraicRules AlgebraicRulesData Algebraics AlgebraicUnitQ Alignment AlignmentMarker AlignmentPoint All AllowedDimensions AllowGroupClose AllowInlineCells AllowKernelInitialization AllowReverseGroupClose AllowScriptLevelChange AlphaChannel AlternatingGroup AlternativeHypothesis Alternatives AmbientLight Analytic AnchoredSearch And AndersonDarlingTest AngerJ AngleBracket AngularGauge Animate AnimationCycleOffset AnimationCycleRepetitions AnimationDirection AnimationDisplayTime AnimationRate AnimationRepetitions AnimationRunning Animator AnimatorBox AnimatorBoxOptions AnimatorElements Annotation Annuity AnnuityDue Antialiasing Antisymmetric Apart ApartSquareFree Appearance AppearanceElements AppellF1 Append AppendTo Apply ArcCos ArcCosh ArcCot ArcCoth ArcCsc ArcCsch ArcSec ArcSech ArcSin ArcSinDistribution ArcSinh ArcTan ArcTanh Arg ArgMax ArgMin ArgumentCountQ ARIMAProcess ArithmeticGeometricMean ARMAProcess ARProcess Array ArrayComponents ArrayDepth ArrayFlatten ArrayPad ArrayPlot ArrayQ ArrayReshape ArrayRules Arrays Arrow Arrow3DBox ArrowBox Arrowheads AspectRatio AspectRatioFixed Assert Assuming Assumptions AstronomicalData Asynchronous AsynchronousTaskObject AsynchronousTasks AtomQ Attributes AugmentedSymmetricPolynomial AutoAction AutoDelete AutoEvaluateEvents AutoGeneratedPackage AutoIndent AutoIndentSpacings AutoItalicWords AutoloadPath AutoMatch Automatic AutomaticImageSize AutoMultiplicationSymbol AutoNumberFormatting AutoOpenNotebooks AutoOpenPalettes AutorunSequencing AutoScaling AutoScroll AutoSpacing AutoStyleOptions AutoStyleWords Axes AxesEdge AxesLabel AxesOrigin AxesStyle Axis BabyMonsterGroupB Back Background BackgroundTasksSettings Backslash Backsubstitution Backward Band BandpassFilter BandstopFilter BarabasiAlbertGraphDistribution BarChart BarChart3D BarLegend BarlowProschanImportance BarnesG BarOrigin BarSpacing BartlettHannWindow BartlettWindow BaseForm Baseline BaselinePosition BaseStyle BatesDistribution BattleLemarieWavelet Because BeckmannDistribution Beep Before Begin BeginDialogPacket BeginFrontEndInteractionPacket BeginPackage BellB BellY Below BenfordDistribution BeniniDistribution BenktanderGibratDistribution BenktanderWeibullDistribution BernoulliB BernoulliDistribution BernoulliGraphDistribution BernoulliProcess BernsteinBasis BesselFilterModel BesselI BesselJ BesselJZero BesselK BesselY BesselYZero Beta BetaBinomialDistribution BetaDistribution BetaNegativeBinomialDistribution BetaPrimeDistribution BetaRegularized BetweennessCentrality BezierCurve BezierCurve3DBox BezierCurve3DBoxOptions BezierCurveBox BezierCurveBoxOptions BezierFunction BilateralFilter Binarize BinaryFormat BinaryImageQ BinaryRead BinaryReadList BinaryWrite BinCounts BinLists Binomial BinomialDistribution BinomialProcess BinormalDistribution BiorthogonalSplineWavelet BipartiteGraphQ BirnbaumImportance BirnbaumSaundersDistribution BitAnd BitClear BitGet BitLength BitNot BitOr BitSet BitShiftLeft BitShiftRight BitXor Black BlackmanHarrisWindow BlackmanNuttallWindow BlackmanWindow Blank BlankForm BlankNullSequence BlankSequence Blend Block BlockRandom BlomqvistBeta BlomqvistBetaTest Blue Blur BodePlot BohmanWindow Bold Bookmarks Boole BooleanConsecutiveFunction BooleanConvert BooleanCountingFunction BooleanFunction BooleanGraph BooleanMaxterms BooleanMinimize BooleanMinterms Booleans BooleanTable BooleanVariables BorderDimensions BorelTannerDistribution Bottom BottomHatTransform BoundaryStyle Bounds Box BoxBaselineShift BoxData BoxDimensions Boxed Boxes BoxForm BoxFormFormatTypes BoxFrame BoxID BoxMargins BoxMatrix BoxRatios BoxRotation BoxRotationPoint BoxStyle BoxWhiskerChart Bra BracketingBar BraKet BrayCurtisDistance BreadthFirstScan Break Brown BrownForsytheTest BrownianBridgeProcess BrowserCategory BSplineBasis BSplineCurve BSplineCurve3DBox BSplineCurveBox BSplineCurveBoxOptions BSplineFunction BSplineSurface BSplineSurface3DBox BubbleChart BubbleChart3D BubbleScale BubbleSizes BulletGauge BusinessDayQ ButterflyGraph ButterworthFilterModel Button ButtonBar ButtonBox ButtonBoxOptions ButtonCell ButtonContents ButtonData ButtonEvaluator ButtonExpandable ButtonFrame ButtonFunction ButtonMargins ButtonMinHeight ButtonNote ButtonNotebook ButtonSource ButtonStyle ButtonStyleMenuListing Byte ByteCount ByteOrdering C CachedValue CacheGraphics CalendarData CalendarType CallPacket CanberraDistance Cancel CancelButton CandlestickChart Cap CapForm CapitalDifferentialD CardinalBSplineBasis CarmichaelLambda Cases Cashflow Casoratian Catalan CatalanNumber Catch CauchyDistribution CauchyWindow CayleyGraph CDF CDFDeploy CDFInformation CDFWavelet Ceiling Cell CellAutoOverwrite CellBaseline CellBoundingBox CellBracketOptions CellChangeTimes CellContents CellContext CellDingbat CellDynamicExpression CellEditDuplicate CellElementsBoundingBox CellElementSpacings CellEpilog CellEvaluationDuplicate CellEvaluationFunction CellEventActions CellFrame CellFrameColor CellFrameLabelMargins CellFrameLabels CellFrameMargins CellGroup CellGroupData CellGrouping CellGroupingRules CellHorizontalScrolling CellID CellLabel CellLabelAutoDelete CellLabelMargins CellLabelPositioning CellMargins CellObject CellOpen CellPrint CellProlog Cells CellSize CellStyle CellTags CellularAutomaton CensoredDistribution Censoring Center CenterDot CentralMoment CentralMomentGeneratingFunction CForm ChampernowneNumber ChanVeseBinarize Character CharacterEncoding CharacterEncodingsPath CharacteristicFunction CharacteristicPolynomial CharacterRange Characters ChartBaseStyle ChartElementData ChartElementDataFunction ChartElementFunction ChartElements ChartLabels ChartLayout ChartLegends ChartStyle Chebyshev1FilterModel Chebyshev2FilterModel ChebyshevDistance ChebyshevT ChebyshevU Check CheckAbort CheckAll Checkbox CheckboxBar CheckboxBox CheckboxBoxOptions ChemicalData ChessboardDistance ChiDistribution ChineseRemainder ChiSquareDistribution ChoiceButtons ChoiceDialog CholeskyDecomposition Chop Circle CircleBox CircleDot CircleMinus CirclePlus CircleTimes CirculantGraph CityData Clear ClearAll ClearAttributes ClearSystemCache ClebschGordan ClickPane Clip ClipboardNotebook ClipFill ClippingStyle ClipPlanes ClipRange Clock ClockGauge ClockwiseContourIntegral Close Closed CloseKernels ClosenessCentrality Closing ClosingAutoSave ClosingEvent ClusteringComponents CMYKColor Coarse Coefficient CoefficientArrays CoefficientDomain CoefficientList CoefficientRules CoifletWavelet Collect Colon ColonForm ColorCombine ColorConvert ColorData ColorDataFunction ColorFunction ColorFunctionScaling Colorize ColorNegate ColorOutput ColorProfileData ColorQuantize ColorReplace ColorRules ColorSelectorSettings ColorSeparate ColorSetter ColorSetterBox ColorSetterBoxOptions ColorSlider ColorSpace Column ColumnAlignments ColumnBackgrounds ColumnForm ColumnLines ColumnsEqual ColumnSpacings ColumnWidths CommonDefaultFormatTypes Commonest CommonestFilter CommonUnits CommunityBoundaryStyle CommunityGraphPlot CommunityLabels CommunityRegionStyle CompatibleUnitQ CompilationOptions CompilationTarget Compile Compiled CompiledFunction Complement CompleteGraph CompleteGraphQ CompleteKaryTree CompletionsListPacket Complex Complexes ComplexExpand ComplexInfinity ComplexityFunction ComponentMeasurements ComponentwiseContextMenu Compose ComposeList ComposeSeries Composition CompoundExpression CompoundPoissonDistribution CompoundPoissonProcess CompoundRenewalProcess Compress CompressedData Condition ConditionalExpression Conditioned Cone ConeBox ConfidenceLevel ConfidenceRange ConfidenceTransform ConfigurationPath Congruent Conjugate ConjugateTranspose Conjunction Connect ConnectedComponents ConnectedGraphQ ConnesWindow ConoverTest ConsoleMessage ConsoleMessagePacket ConsolePrint Constant ConstantArray Constants ConstrainedMax ConstrainedMin ContentPadding ContentsBoundingBox ContentSelectable ContentSize Context ContextMenu Contexts ContextToFilename ContextToFileName Continuation Continue ContinuedFraction ContinuedFractionK ContinuousAction ContinuousMarkovProcess ContinuousTimeModelQ ContinuousWaveletData ContinuousWaveletTransform ContourDetect ContourGraphics ContourIntegral ContourLabels ContourLines ContourPlot ContourPlot3D Contours ContourShading ContourSmoothing ContourStyle ContraharmonicMean Control ControlActive ControlAlignment ControllabilityGramian ControllabilityMatrix ControllableDecomposition ControllableModelQ ControllerDuration ControllerInformation ControllerInformationData ControllerLinking ControllerManipulate ControllerMethod ControllerPath ControllerState ControlPlacement ControlsRendering ControlType Convergents ConversionOptions ConversionRules ConvertToBitmapPacket ConvertToPostScript ConvertToPostScriptPacket Convolve ConwayGroupCo1 ConwayGroupCo2 ConwayGroupCo3 CoordinateChartData CoordinatesToolOptions CoordinateTransform CoordinateTransformData CoprimeQ Coproduct CopulaDistribution Copyable CopyDirectory CopyFile CopyTag CopyToClipboard CornerFilter CornerNeighbors Correlation CorrelationDistance CorrelationFunction CorrelationTest Cos Cosh CoshIntegral CosineDistance CosineWindow CosIntegral Cot Coth Count CounterAssignments CounterBox CounterBoxOptions CounterClockwiseContourIntegral CounterEvaluator CounterFunction CounterIncrements CounterStyle CounterStyleMenuListing CountRoots CountryData Covariance CovarianceEstimatorFunction CovarianceFunction CoxianDistribution CoxIngersollRossProcess CoxModel CoxModelFit CramerVonMisesTest CreateArchive CreateDialog CreateDirectory CreateDocument CreateIntermediateDirectories CreatePalette CreatePalettePacket CreateScheduledTask CreateTemporary CreateWindow CriticalityFailureImportance CriticalitySuccessImportance CriticalSection Cross CrossingDetect CrossMatrix Csc Csch CubeRoot Cubics Cuboid CuboidBox Cumulant CumulantGeneratingFunction Cup CupCap Curl CurlyDoubleQuote CurlyQuote CurrentImage CurrentlySpeakingPacket CurrentValue CurvatureFlowFilter CurveClosed Cyan CycleGraph CycleIndexPolynomial Cycles CyclicGroup Cyclotomic Cylinder CylinderBox CylindricalDecomposition D DagumDistribution DamerauLevenshteinDistance DampingFactor Darker Dashed Dashing DataCompression DataDistribution DataRange DataReversed Date DateDelimiters DateDifference DateFunction DateList DateListLogPlot DateListPlot DatePattern DatePlus DateRange DateString DateTicksFormat DaubechiesWavelet DavisDistribution DawsonF DayCount DayCountConvention DayMatchQ DayName DayPlus DayRange DayRound DeBruijnGraph Debug DebugTag Decimal DeclareKnownSymbols DeclarePackage Decompose Decrement DedekindEta Default DefaultAxesStyle DefaultBaseStyle DefaultBoxStyle DefaultButton DefaultColor DefaultControlPlacement DefaultDuplicateCellStyle DefaultDuration DefaultElement DefaultFaceGridsStyle DefaultFieldHintStyle DefaultFont DefaultFontProperties DefaultFormatType DefaultFormatTypeForStyle DefaultFrameStyle DefaultFrameTicksStyle DefaultGridLinesStyle DefaultInlineFormatType DefaultInputFormatType DefaultLabelStyle DefaultMenuStyle DefaultNaturalLanguage DefaultNewCellStyle DefaultNewInlineCellStyle DefaultNotebook DefaultOptions DefaultOutputFormatType DefaultStyle DefaultStyleDefinitions DefaultTextFormatType DefaultTextInlineFormatType DefaultTicksStyle DefaultTooltipStyle DefaultValues Defer DefineExternal DefineInputStreamMethod DefineOutputStreamMethod Definition Degree DegreeCentrality DegreeGraphDistribution DegreeLexicographic DegreeReverseLexicographic Deinitialization Del Deletable Delete DeleteBorderComponents DeleteCases DeleteContents DeleteDirectory DeleteDuplicates DeleteFile DeleteSmallComponents DeleteWithContents DeletionWarning Delimiter DelimiterFlashTime DelimiterMatching Delimiters Denominator DensityGraphics DensityHistogram DensityPlot DependentVariables Deploy Deployed Depth DepthFirstScan Derivative DerivativeFilter DescriptorStateSpace DesignMatrix Det DGaussianWavelet DiacriticalPositioning Diagonal DiagonalMatrix Dialog DialogIndent DialogInput DialogLevel DialogNotebook DialogProlog DialogReturn DialogSymbols Diamond DiamondMatrix DiceDissimilarity DictionaryLookup DifferenceDelta DifferenceOrder DifferenceRoot DifferenceRootReduce Differences DifferentialD DifferentialRoot DifferentialRootReduce DifferentiatorFilter DigitBlock DigitBlockMinimum DigitCharacter DigitCount DigitQ DihedralGroup Dilation Dimensions DiracComb DiracDelta DirectedEdge DirectedEdges DirectedGraph DirectedGraphQ DirectedInfinity Direction Directive Directory DirectoryName DirectoryQ DirectoryStack DirichletCharacter DirichletConvolve DirichletDistribution DirichletL DirichletTransform DirichletWindow DisableConsolePrintPacket DiscreteChirpZTransform DiscreteConvolve DiscreteDelta DiscreteHadamardTransform DiscreteIndicator DiscreteLQEstimatorGains DiscreteLQRegulatorGains DiscreteLyapunovSolve DiscreteMarkovProcess DiscretePlot DiscretePlot3D DiscreteRatio DiscreteRiccatiSolve DiscreteShift DiscreteTimeModelQ DiscreteUniformDistribution DiscreteVariables DiscreteWaveletData DiscreteWaveletPacketTransform DiscreteWaveletTransform Discriminant Disjunction Disk DiskBox DiskMatrix Dispatch DispersionEstimatorFunction Display DisplayAllSteps DisplayEndPacket DisplayFlushImagePacket DisplayForm DisplayFunction DisplayPacket DisplayRules DisplaySetSizePacket DisplayString DisplayTemporary DisplayWith DisplayWithRef DisplayWithVariable DistanceFunction DistanceTransform Distribute Distributed DistributedContexts DistributeDefinitions DistributionChart DistributionDomain DistributionFitTest DistributionParameterAssumptions DistributionParameterQ Dithering Div Divergence Divide DivideBy Dividers Divisible Divisors DivisorSigma DivisorSum DMSList DMSString Do DockedCells DocumentNotebook DominantColors DOSTextFormat Dot DotDashed DotEqual Dotted DoubleBracketingBar DoubleContourIntegral DoubleDownArrow DoubleLeftArrow DoubleLeftRightArrow DoubleLeftTee DoubleLongLeftArrow DoubleLongLeftRightArrow DoubleLongRightArrow DoubleRightArrow DoubleRightTee DoubleUpArrow DoubleUpDownArrow DoubleVerticalBar DoublyInfinite Down DownArrow DownArrowBar DownArrowUpArrow DownLeftRightVector DownLeftTeeVector DownLeftVector DownLeftVectorBar DownRightTeeVector DownRightVector DownRightVectorBar Downsample DownTee DownTeeArrow DownValues DragAndDrop DrawEdges DrawFrontFaces DrawHighlighted Drop DSolve Dt DualLinearProgramming DualSystemsModel DumpGet DumpSave DuplicateFreeQ Dynamic DynamicBox DynamicBoxOptions DynamicEvaluationTimeout DynamicLocation DynamicModule DynamicModuleBox DynamicModuleBoxOptions DynamicModuleParent DynamicModuleValues DynamicName DynamicNamespace DynamicReference DynamicSetting DynamicUpdating DynamicWrapper DynamicWrapperBox DynamicWrapperBoxOptions E EccentricityCentrality EdgeAdd EdgeBetweennessCentrality EdgeCapacity EdgeCapForm EdgeColor EdgeConnectivity EdgeCost EdgeCount EdgeCoverQ EdgeDashing EdgeDelete EdgeDetect EdgeForm EdgeIndex EdgeJoinForm EdgeLabeling EdgeLabels EdgeLabelStyle EdgeList EdgeOpacity EdgeQ EdgeRenderingFunction EdgeRules EdgeShapeFunction EdgeStyle EdgeThickness EdgeWeight Editable EditButtonSettings EditCellTagsSettings EditDistance EffectiveInterest Eigensystem Eigenvalues EigenvectorCentrality Eigenvectors Element ElementData Eliminate EliminationOrder EllipticE EllipticExp EllipticExpPrime EllipticF EllipticFilterModel EllipticK EllipticLog EllipticNomeQ EllipticPi EllipticReducedHalfPeriods EllipticTheta EllipticThetaPrime EmitSound EmphasizeSyntaxErrors EmpiricalDistribution Empty EmptyGraphQ EnableConsolePrintPacket Enabled Encode End EndAdd EndDialogPacket EndFrontEndInteractionPacket EndOfFile EndOfLine EndOfString EndPackage EngineeringForm Enter EnterExpressionPacket EnterTextPacket Entropy EntropyFilter Environment Epilog Equal EqualColumns EqualRows EqualTilde EquatedTo Equilibrium EquirippleFilterKernel Equivalent Erf Erfc Erfi ErlangB ErlangC ErlangDistribution Erosion ErrorBox ErrorBoxOptions ErrorNorm ErrorPacket ErrorsDialogSettings EstimatedDistribution EstimatedProcess EstimatorGains EstimatorRegulator EuclideanDistance EulerE EulerGamma EulerianGraphQ EulerPhi Evaluatable Evaluate Evaluated EvaluatePacket EvaluationCell EvaluationCompletionAction EvaluationElements EvaluationMode EvaluationMonitor EvaluationNotebook EvaluationObject EvaluationOrder Evaluator EvaluatorNames EvenQ EventData EventEvaluator EventHandler EventHandlerTag EventLabels ExactBlackmanWindow ExactNumberQ ExactRootIsolation ExampleData Except ExcludedForms ExcludePods Exclusions ExclusionsStyle Exists Exit ExitDialog Exp Expand ExpandAll ExpandDenominator ExpandFileName ExpandNumerator Expectation ExpectationE ExpectedValue ExpGammaDistribution ExpIntegralE ExpIntegralEi Exponent ExponentFunction ExponentialDistribution ExponentialFamily ExponentialGeneratingFunction ExponentialMovingAverage ExponentialPowerDistribution ExponentPosition ExponentStep Export ExportAutoReplacements ExportPacket ExportString Expression ExpressionCell ExpressionPacket ExpToTrig ExtendedGCD Extension ExtentElementFunction ExtentMarkers ExtentSize ExternalCall ExternalDataCharacterEncoding Extract ExtractArchive ExtremeValueDistribution FaceForm FaceGrids FaceGridsStyle Factor FactorComplete Factorial Factorial2 FactorialMoment FactorialMomentGeneratingFunction FactorialPower FactorInteger FactorList FactorSquareFree FactorSquareFreeList FactorTerms FactorTermsList Fail FailureDistribution False FARIMAProcess FEDisableConsolePrintPacket FeedbackSector FeedbackSectorStyle FeedbackType FEEnableConsolePrintPacket Fibonacci FieldHint FieldHintStyle FieldMasked FieldSize File FileBaseName FileByteCount FileDate FileExistsQ FileExtension FileFormat FileHash FileInformation FileName FileNameDepth FileNameDialogSettings FileNameDrop FileNameJoin FileNames FileNameSetter FileNameSplit FileNameTake FilePrint FileType FilledCurve FilledCurveBox Filling FillingStyle FillingTransform FilterRules FinancialBond FinancialData FinancialDerivative FinancialIndicator Find FindArgMax FindArgMin FindClique FindClusters FindCurvePath FindDistributionParameters FindDivisions FindEdgeCover FindEdgeCut FindEulerianCycle FindFaces FindFile FindFit FindGeneratingFunction FindGeoLocation FindGeometricTransform FindGraphCommunities FindGraphIsomorphism FindGraphPartition FindHamiltonianCycle FindIndependentEdgeSet FindIndependentVertexSet FindInstance FindIntegerNullVector FindKClan FindKClique FindKClub FindKPlex FindLibrary FindLinearRecurrence FindList FindMaximum FindMaximumFlow FindMaxValue FindMinimum FindMinimumCostFlow FindMinimumCut FindMinValue FindPermutation FindPostmanTour FindProcessParameters FindRoot FindSequenceFunction FindSettings FindShortestPath FindShortestTour FindThreshold FindVertexCover FindVertexCut Fine FinishDynamic FiniteAbelianGroupCount FiniteGroupCount FiniteGroupData First FirstPassageTimeDistribution FischerGroupFi22 FischerGroupFi23 FischerGroupFi24Prime FisherHypergeometricDistribution FisherRatioTest FisherZDistribution Fit FitAll FittedModel FixedPoint FixedPointList FlashSelection Flat Flatten FlattenAt FlatTopWindow FlipView Floor FlushPrintOutputPacket Fold FoldList Font FontColor FontFamily FontForm FontName FontOpacity FontPostScriptName FontProperties FontReencoding FontSize FontSlant FontSubstitutions FontTracking FontVariations FontWeight For ForAll Format FormatRules FormatType FormatTypeAutoConvert FormatValues FormBox FormBoxOptions FortranForm Forward ForwardBackward Fourier FourierCoefficient FourierCosCoefficient FourierCosSeries FourierCosTransform FourierDCT FourierDCTFilter FourierDCTMatrix FourierDST FourierDSTMatrix FourierMatrix FourierParameters FourierSequenceTransform FourierSeries FourierSinCoefficient FourierSinSeries FourierSinTransform FourierTransform FourierTrigSeries FractionalBrownianMotionProcess FractionalPart FractionBox FractionBoxOptions FractionLine Frame FrameBox FrameBoxOptions Framed FrameInset FrameLabel Frameless FrameMargins FrameStyle FrameTicks FrameTicksStyle FRatioDistribution FrechetDistribution FreeQ FrequencySamplingFilterKernel FresnelC FresnelS Friday FrobeniusNumber FrobeniusSolve FromCharacterCode FromCoefficientRules FromContinuedFraction FromDate FromDigits FromDMS Front FrontEndDynamicExpression FrontEndEventActions FrontEndExecute FrontEndObject FrontEndResource FrontEndResourceString FrontEndStackSize FrontEndToken FrontEndTokenExecute FrontEndValueCache FrontEndVersion FrontFaceColor FrontFaceOpacity Full FullAxes FullDefinition FullForm FullGraphics FullOptions FullSimplify Function FunctionExpand FunctionInterpolation FunctionSpace FussellVeselyImportance GaborFilter GaborMatrix GaborWavelet GainMargins GainPhaseMargins Gamma GammaDistribution GammaRegularized GapPenalty Gather GatherBy GaugeFaceElementFunction GaugeFaceStyle GaugeFrameElementFunction GaugeFrameSize GaugeFrameStyle GaugeLabels GaugeMarkers GaugeStyle GaussianFilter GaussianIntegers GaussianMatrix GaussianWindow GCD GegenbauerC General GeneralizedLinearModelFit GenerateConditions GeneratedCell GeneratedParameters GeneratingFunction Generic GenericCylindricalDecomposition GenomeData GenomeLookup GeodesicClosing GeodesicDilation GeodesicErosion GeodesicOpening GeoDestination GeodesyData GeoDirection GeoDistance GeoGridPosition GeometricBrownianMotionProcess GeometricDistribution GeometricMean GeometricMeanFilter GeometricTransformation GeometricTransformation3DBox GeometricTransformation3DBoxOptions GeometricTransformationBox GeometricTransformationBoxOptions GeoPosition GeoPositionENU GeoPositionXYZ GeoProjectionData GestureHandler GestureHandlerTag Get GetBoundingBoxSizePacket GetContext GetEnvironment GetFileName GetFrontEndOptionsDataPacket GetLinebreakInformationPacket GetMenusPacket GetPageBreakInformationPacket Glaisher GlobalClusteringCoefficient GlobalPreferences GlobalSession Glow GoldenRatio GompertzMakehamDistribution GoodmanKruskalGamma GoodmanKruskalGammaTest Goto Grad Gradient GradientFilter GradientOrientationFilter Graph GraphAssortativity GraphCenter GraphComplement GraphData GraphDensity GraphDiameter GraphDifference GraphDisjointUnion GraphDistance GraphDistanceMatrix GraphElementData GraphEmbedding GraphHighlight GraphHighlightStyle GraphHub Graphics Graphics3D Graphics3DBox Graphics3DBoxOptions GraphicsArray GraphicsBaseline GraphicsBox GraphicsBoxOptions GraphicsColor GraphicsColumn GraphicsComplex GraphicsComplex3DBox GraphicsComplex3DBoxOptions GraphicsComplexBox GraphicsComplexBoxOptions GraphicsContents GraphicsData GraphicsGrid GraphicsGridBox GraphicsGroup GraphicsGroup3DBox GraphicsGroup3DBoxOptions GraphicsGroupBox GraphicsGroupBoxOptions GraphicsGrouping GraphicsHighlightColor GraphicsRow GraphicsSpacing GraphicsStyle GraphIntersection GraphLayout GraphLinkEfficiency GraphPeriphery GraphPlot GraphPlot3D GraphPower GraphPropertyDistribution GraphQ GraphRadius GraphReciprocity GraphRoot GraphStyle GraphUnion Gray GrayLevel GreatCircleDistance Greater GreaterEqual GreaterEqualLess GreaterFullEqual GreaterGreater GreaterLess GreaterSlantEqual GreaterTilde Green Grid GridBaseline GridBox GridBoxAlignment GridBoxBackground GridBoxDividers GridBoxFrame GridBoxItemSize GridBoxItemStyle GridBoxOptions GridBoxSpacings GridCreationSettings GridDefaultElement GridElementStyleOptions GridFrame GridFrameMargins GridGraph GridLines GridLinesStyle GroebnerBasis GroupActionBase GroupCentralizer GroupElementFromWord GroupElementPosition GroupElementQ GroupElements GroupElementToWord GroupGenerators GroupMultiplicationTable GroupOrbits GroupOrder GroupPageBreakWithin GroupSetwiseStabilizer GroupStabilizer GroupStabilizerChain Gudermannian GumbelDistribution HaarWavelet HadamardMatrix HalfNormalDistribution HamiltonianGraphQ HammingDistance HammingWindow HankelH1 HankelH2 HankelMatrix HannPoissonWindow HannWindow HaradaNortonGroupHN HararyGraph HarmonicMean HarmonicMeanFilter HarmonicNumber Hash HashTable Haversine HazardFunction Head HeadCompose Heads HeavisideLambda HeavisidePi HeavisideTheta HeldGroupHe HeldPart HelpBrowserLookup HelpBrowserNotebook HelpBrowserSettings HermiteDecomposition HermiteH HermitianMatrixQ HessenbergDecomposition Hessian HexadecimalCharacter Hexahedron HexahedronBox HexahedronBoxOptions HiddenSurface HighlightGraph HighlightImage HighpassFilter HigmanSimsGroupHS HilbertFilter HilbertMatrix Histogram Histogram3D HistogramDistribution HistogramList HistogramTransform HistogramTransformInterpolation HitMissTransform HITSCentrality HodgeDual HoeffdingD HoeffdingDTest Hold HoldAll HoldAllComplete HoldComplete HoldFirst HoldForm HoldPattern HoldRest HolidayCalendar HomeDirectory HomePage Horizontal HorizontalForm HorizontalGauge HorizontalScrollPosition HornerForm HotellingTSquareDistribution HoytDistribution HTMLSave Hue HumpDownHump HumpEqual HurwitzLerchPhi HurwitzZeta HyperbolicDistribution HypercubeGraph HyperexponentialDistribution Hyperfactorial Hypergeometric0F1 Hypergeometric0F1Regularized Hypergeometric1F1 Hypergeometric1F1Regularized Hypergeometric2F1 Hypergeometric2F1Regularized HypergeometricDistribution HypergeometricPFQ HypergeometricPFQRegularized HypergeometricU Hyperlink HyperlinkCreationSettings Hyphenation HyphenationOptions HypoexponentialDistribution HypothesisTestData I Identity IdentityMatrix If IgnoreCase Im Image Image3D Image3DSlices ImageAccumulate ImageAdd ImageAdjust ImageAlign ImageApply ImageAspectRatio ImageAssemble ImageCache ImageCacheValid ImageCapture ImageChannels ImageClip ImageColorSpace ImageCompose ImageConvolve ImageCooccurrence ImageCorners ImageCorrelate ImageCorrespondingPoints ImageCrop ImageData ImageDataPacket ImageDeconvolve ImageDemosaic ImageDifference ImageDimensions ImageDistance ImageEffect ImageFeatureTrack ImageFileApply ImageFileFilter ImageFileScan ImageFilter ImageForestingComponents ImageForwardTransformation ImageHistogram ImageKeypoints ImageLevels ImageLines ImageMargins ImageMarkers ImageMeasurements ImageMultiply ImageOffset ImagePad ImagePadding ImagePartition ImagePeriodogram ImagePerspectiveTransformation ImageQ ImageRangeCache ImageReflect ImageRegion ImageResize ImageResolution ImageRotate ImageRotated ImageScaled ImageScan ImageSize ImageSizeAction ImageSizeCache ImageSizeMultipliers ImageSizeRaw ImageSubtract ImageTake ImageTransformation ImageTrim ImageType ImageValue ImageValuePositions Implies Import ImportAutoReplacements ImportString ImprovementImportance In IncidenceGraph IncidenceList IncidenceMatrix IncludeConstantBasis IncludeFileExtension IncludePods IncludeSingularTerm Increment Indent IndentingNewlineSpacings IndentMaxFraction IndependenceTest IndependentEdgeSetQ IndependentUnit IndependentVertexSetQ Indeterminate IndexCreationOptions Indexed IndexGraph IndexTag Inequality InexactNumberQ InexactNumbers Infinity Infix Information Inherited InheritScope Initialization InitializationCell InitializationCellEvaluation InitializationCellWarning InlineCounterAssignments InlineCounterIncrements InlineRules Inner Inpaint Input InputAliases InputAssumptions InputAutoReplacements InputField InputFieldBox InputFieldBoxOptions InputForm InputGrouping InputNamePacket InputNotebook InputPacket InputSettings InputStream InputString InputStringPacket InputToBoxFormPacket Insert InsertionPointObject InsertResults Inset Inset3DBox Inset3DBoxOptions InsetBox InsetBoxOptions Install InstallService InString Integer IntegerDigits IntegerExponent IntegerLength IntegerPart IntegerPartitions IntegerQ Integers IntegerString Integral Integrate Interactive InteractiveTradingChart Interlaced Interleaving InternallyBalancedDecomposition InterpolatingFunction InterpolatingPolynomial Interpolation InterpolationOrder InterpolationPoints InterpolationPrecision Interpretation InterpretationBox InterpretationBoxOptions InterpretationFunction InterpretTemplate InterquartileRange Interrupt InterruptSettings Intersection Interval IntervalIntersection IntervalMemberQ IntervalUnion Inverse InverseBetaRegularized InverseCDF InverseChiSquareDistribution InverseContinuousWaveletTransform InverseDistanceTransform InverseEllipticNomeQ InverseErf InverseErfc InverseFourier InverseFourierCosTransform InverseFourierSequenceTransform InverseFourierSinTransform InverseFourierTransform InverseFunction InverseFunctions InverseGammaDistribution InverseGammaRegularized InverseGaussianDistribution InverseGudermannian InverseHaversine InverseJacobiCD InverseJacobiCN InverseJacobiCS InverseJacobiDC InverseJacobiDN InverseJacobiDS InverseJacobiNC InverseJacobiND InverseJacobiNS InverseJacobiSC InverseJacobiSD InverseJacobiSN InverseLaplaceTransform InversePermutation InverseRadon InverseSeries InverseSurvivalFunction InverseWaveletTransform InverseWeierstrassP InverseZTransform Invisible InvisibleApplication InvisibleTimes IrreduciblePolynomialQ IsolatingInterval IsomorphicGraphQ IsotopeData Italic Item ItemBox ItemBoxOptions ItemSize ItemStyle ItoProcess JaccardDissimilarity JacobiAmplitude Jacobian JacobiCD JacobiCN JacobiCS JacobiDC JacobiDN JacobiDS JacobiNC JacobiND JacobiNS JacobiP JacobiSC JacobiSD JacobiSN JacobiSymbol JacobiZeta JankoGroupJ1 JankoGroupJ2 JankoGroupJ3 JankoGroupJ4 JarqueBeraALMTest JohnsonDistribution Join Joined JoinedCurve JoinedCurveBox JoinForm JordanDecomposition JordanModelDecomposition K KagiChart KaiserBesselWindow KaiserWindow KalmanEstimator KalmanFilter KarhunenLoeveDecomposition KaryTree KatzCentrality KCoreComponents KDistribution KelvinBei KelvinBer KelvinKei KelvinKer KendallTau KendallTauTest KernelExecute KernelMixtureDistribution KernelObject Kernels Ket Khinchin KirchhoffGraph KirchhoffMatrix KleinInvariantJ KnightTourGraph KnotData KnownUnitQ KolmogorovSmirnovTest KroneckerDelta KroneckerModelDecomposition KroneckerProduct KroneckerSymbol KuiperTest KumaraswamyDistribution Kurtosis KuwaharaFilter Label Labeled LabeledSlider LabelingFunction LabelStyle LaguerreL LambdaComponents LambertW LanczosWindow LandauDistribution Language LanguageCategory LaplaceDistribution LaplaceTransform Laplacian LaplacianFilter LaplacianGaussianFilter Large Larger Last Latitude LatitudeLongitude LatticeData LatticeReduce Launch LaunchKernels LayeredGraphPlot LayerSizeFunction LayoutInformation LCM LeafCount LeapYearQ LeastSquares LeastSquaresFilterKernel Left LeftArrow LeftArrowBar LeftArrowRightArrow LeftDownTeeVector LeftDownVector LeftDownVectorBar LeftRightArrow LeftRightVector LeftTee LeftTeeArrow LeftTeeVector LeftTriangle LeftTriangleBar LeftTriangleEqual LeftUpDownVector LeftUpTeeVector LeftUpVector LeftUpVectorBar LeftVector LeftVectorBar LegendAppearance Legended LegendFunction LegendLabel LegendLayout LegendMargins LegendMarkers LegendMarkerSize LegendreP LegendreQ LegendreType Length LengthWhile LerchPhi Less LessEqual LessEqualGreater LessFullEqual LessGreater LessLess LessSlantEqual LessTilde LetterCharacter LetterQ Level LeveneTest LeviCivitaTensor LevyDistribution Lexicographic LibraryFunction LibraryFunctionError LibraryFunctionInformation LibraryFunctionLoad LibraryFunctionUnload LibraryLoad LibraryUnload LicenseID LiftingFilterData LiftingWaveletTransform LightBlue LightBrown LightCyan Lighter LightGray LightGreen Lighting LightingAngle LightMagenta LightOrange LightPink LightPurple LightRed LightSources LightYellow Likelihood Limit LimitsPositioning LimitsPositioningTokens LindleyDistribution Line Line3DBox LinearFilter LinearFractionalTransform LinearModelFit LinearOffsetFunction LinearProgramming LinearRecurrence LinearSolve LinearSolveFunction LineBox LineBreak LinebreakAdjustments LineBreakChart LineBreakWithin LineColor LineForm LineGraph LineIndent LineIndentMaxFraction LineIntegralConvolutionPlot LineIntegralConvolutionScale LineLegend LineOpacity LineSpacing LineWrapParts LinkActivate LinkClose LinkConnect LinkConnectedQ LinkCreate LinkError LinkFlush LinkFunction LinkHost LinkInterrupt LinkLaunch LinkMode LinkObject LinkOpen LinkOptions LinkPatterns LinkProtocol LinkRead LinkReadHeld LinkReadyQ Links LinkWrite LinkWriteHeld LiouvilleLambda List Listable ListAnimate ListContourPlot ListContourPlot3D ListConvolve ListCorrelate ListCurvePathPlot ListDeconvolve ListDensityPlot Listen ListFourierSequenceTransform ListInterpolation ListLineIntegralConvolutionPlot ListLinePlot ListLogLinearPlot ListLogLogPlot ListLogPlot ListPicker ListPickerBox ListPickerBoxBackground ListPickerBoxOptions ListPlay ListPlot ListPlot3D ListPointPlot3D ListPolarPlot ListQ ListStreamDensityPlot ListStreamPlot ListSurfacePlot3D ListVectorDensityPlot ListVectorPlot ListVectorPlot3D ListZTransform Literal LiteralSearch LocalClusteringCoefficient LocalizeVariables LocationEquivalenceTest LocationTest Locator LocatorAutoCreate LocatorBox LocatorBoxOptions LocatorCentering LocatorPane LocatorPaneBox LocatorPaneBoxOptions LocatorRegion Locked Log Log10 Log2 LogBarnesG LogGamma LogGammaDistribution LogicalExpand LogIntegral LogisticDistribution LogitModelFit LogLikelihood LogLinearPlot LogLogisticDistribution LogLogPlot LogMultinormalDistribution LogNormalDistribution LogPlot LogRankTest LogSeriesDistribution LongEqual Longest LongestAscendingSequence LongestCommonSequence LongestCommonSequencePositions LongestCommonSubsequence LongestCommonSubsequencePositions LongestMatch LongForm Longitude LongLeftArrow LongLeftRightArrow LongRightArrow Loopback LoopFreeGraphQ LowerCaseQ LowerLeftArrow LowerRightArrow LowerTriangularize LowpassFilter LQEstimatorGains LQGRegulator LQOutputRegulatorGains LQRegulatorGains LUBackSubstitution LucasL LuccioSamiComponents LUDecomposition LyapunovSolve LyonsGroupLy MachineID MachineName MachineNumberQ MachinePrecision MacintoshSystemPageSetup Magenta Magnification Magnify MainSolve MaintainDynamicCaches Majority MakeBoxes MakeExpression MakeRules MangoldtLambda ManhattanDistance Manipulate Manipulator MannWhitneyTest MantissaExponent Manual Map MapAll MapAt MapIndexed MAProcess MapThread MarcumQ MardiaCombinedTest MardiaKurtosisTest MardiaSkewnessTest MarginalDistribution MarkovProcessProperties Masking MatchingDissimilarity MatchLocalNameQ MatchLocalNames MatchQ Material MathematicaNotation MathieuC MathieuCharacteristicA MathieuCharacteristicB MathieuCharacteristicExponent MathieuCPrime MathieuGroupM11 MathieuGroupM12 MathieuGroupM22 MathieuGroupM23 MathieuGroupM24 MathieuS MathieuSPrime MathMLForm MathMLText Matrices MatrixExp MatrixForm MatrixFunction MatrixLog MatrixPlot MatrixPower MatrixQ MatrixRank Max MaxBend MaxDetect MaxExtraBandwidths MaxExtraConditions MaxFeatures MaxFilter Maximize MaxIterations MaxMemoryUsed MaxMixtureKernels MaxPlotPoints MaxPoints MaxRecursion MaxStableDistribution MaxStepFraction MaxSteps MaxStepSize MaxValue MaxwellDistribution McLaughlinGroupMcL Mean MeanClusteringCoefficient MeanDegreeConnectivity MeanDeviation MeanFilter MeanGraphDistance MeanNeighborDegree MeanShift MeanShiftFilter Median MedianDeviation MedianFilter Medium MeijerG MeixnerDistribution MemberQ MemoryConstrained MemoryInUse Menu MenuAppearance MenuCommandKey MenuEvaluator MenuItem MenuPacket MenuSortingValue MenuStyle MenuView MergeDifferences Mesh MeshFunctions MeshRange MeshShading MeshStyle Message MessageDialog MessageList MessageName MessageOptions MessagePacket Messages MessagesNotebook MetaCharacters MetaInformation Method MethodOptions MexicanHatWavelet MeyerWavelet Min MinDetect MinFilter MinimalPolynomial MinimalStateSpaceModel Minimize Minors MinRecursion MinSize MinStableDistribution Minus MinusPlus MinValue Missing MissingDataMethod MittagLefflerE MixedRadix MixedRadixQuantity MixtureDistribution Mod Modal Mode Modular ModularLambda Module Modulus MoebiusMu Moment Momentary MomentConvert MomentEvaluate MomentGeneratingFunction Monday Monitor MonomialList MonomialOrder MonsterGroupM MorletWavelet MorphologicalBinarize MorphologicalBranchPoints MorphologicalComponents MorphologicalEulerNumber MorphologicalGraph MorphologicalPerimeter MorphologicalTransform Most MouseAnnotation MouseAppearance MouseAppearanceTag MouseButtons Mouseover MousePointerNote MousePosition MovingAverage MovingMedian MoyalDistribution MultiedgeStyle MultilaunchWarning MultiLetterItalics MultiLetterStyle MultilineFunction Multinomial MultinomialDistribution MultinormalDistribution MultiplicativeOrder Multiplicity Multiselection MultivariateHypergeometricDistribution MultivariatePoissonDistribution MultivariateTDistribution N NakagamiDistribution NameQ Names NamespaceBox Nand NArgMax NArgMin NBernoulliB NCache NDSolve NDSolveValue Nearest NearestFunction NeedCurrentFrontEndPackagePacket NeedCurrentFrontEndSymbolsPacket NeedlemanWunschSimilarity Needs Negative NegativeBinomialDistribution NegativeMultinomialDistribution NeighborhoodGraph Nest NestedGreaterGreater NestedLessLess NestedScriptRules NestList NestWhile NestWhileList NevilleThetaC NevilleThetaD NevilleThetaN NevilleThetaS NewPrimitiveStyle NExpectation Next NextPrime NHoldAll NHoldFirst NHoldRest NicholsGridLines NicholsPlot NIntegrate NMaximize NMaxValue NMinimize NMinValue NominalVariables NonAssociative NoncentralBetaDistribution NoncentralChiSquareDistribution NoncentralFRatioDistribution NoncentralStudentTDistribution NonCommutativeMultiply NonConstants None NonlinearModelFit NonlocalMeansFilter NonNegative NonPositive Nor NorlundB Norm Normal NormalDistribution NormalGrouping Normalize NormalizedSquaredEuclideanDistance NormalsFunction NormFunction Not NotCongruent NotCupCap NotDoubleVerticalBar Notebook NotebookApply NotebookAutoSave NotebookClose NotebookConvertSettings NotebookCreate NotebookCreateReturnObject NotebookDefault NotebookDelete NotebookDirectory NotebookDynamicExpression NotebookEvaluate NotebookEventActions NotebookFileName NotebookFind NotebookFindReturnObject NotebookGet NotebookGetLayoutInformationPacket NotebookGetMisspellingsPacket NotebookInformation NotebookInterfaceObject NotebookLocate NotebookObject NotebookOpen NotebookOpenReturnObject NotebookPath NotebookPrint NotebookPut NotebookPutReturnObject NotebookRead NotebookResetGeneratedCells Notebooks NotebookSave NotebookSaveAs NotebookSelection NotebookSetupLayoutInformationPacket NotebooksMenu NotebookWrite NotElement NotEqualTilde NotExists NotGreater NotGreaterEqual NotGreaterFullEqual NotGreaterGreater NotGreaterLess NotGreaterSlantEqual NotGreaterTilde NotHumpDownHump NotHumpEqual NotLeftTriangle NotLeftTriangleBar NotLeftTriangleEqual NotLess NotLessEqual NotLessFullEqual NotLessGreater NotLessLess NotLessSlantEqual NotLessTilde NotNestedGreaterGreater NotNestedLessLess NotPrecedes NotPrecedesEqual NotPrecedesSlantEqual NotPrecedesTilde NotReverseElement NotRightTriangle NotRightTriangleBar NotRightTriangleEqual NotSquareSubset NotSquareSubsetEqual NotSquareSuperset NotSquareSupersetEqual NotSubset NotSubsetEqual NotSucceeds NotSucceedsEqual NotSucceedsSlantEqual NotSucceedsTilde NotSuperset NotSupersetEqual NotTilde NotTildeEqual NotTildeFullEqual NotTildeTilde NotVerticalBar NProbability NProduct NProductFactors NRoots NSolve NSum NSumTerms Null NullRecords NullSpace NullWords Number NumberFieldClassNumber NumberFieldDiscriminant NumberFieldFundamentalUnits NumberFieldIntegralBasis NumberFieldNormRepresentatives NumberFieldRegulator NumberFieldRootsOfUnity NumberFieldSignature NumberForm NumberFormat NumberMarks NumberMultiplier NumberPadding NumberPoint NumberQ NumberSeparator NumberSigns NumberString Numerator NumericFunction NumericQ NuttallWindow NValues NyquistGridLines NyquistPlot O ObservabilityGramian ObservabilityMatrix ObservableDecomposition ObservableModelQ OddQ Off Offset OLEData On ONanGroupON OneIdentity Opacity Open OpenAppend Opener OpenerBox OpenerBoxOptions OpenerView OpenFunctionInspectorPacket Opening OpenRead OpenSpecialOptions OpenTemporary OpenWrite Operate OperatingSystem OptimumFlowData Optional OptionInspectorSettings OptionQ Options OptionsPacket OptionsPattern OptionValue OptionValueBox OptionValueBoxOptions Or Orange Order OrderDistribution OrderedQ Ordering Orderless OrnsteinUhlenbeckProcess Orthogonalize Out Outer OutputAutoOverwrite OutputControllabilityMatrix OutputControllableModelQ OutputForm OutputFormData OutputGrouping OutputMathEditExpression OutputNamePacket OutputResponse OutputSizeLimit OutputStream Over OverBar OverDot Overflow OverHat Overlaps Overlay OverlayBox OverlayBoxOptions Overscript OverscriptBox OverscriptBoxOptions OverTilde OverVector OwenT OwnValues PackingMethod PaddedForm Padding PadeApproximant PadLeft PadRight PageBreakAbove PageBreakBelow PageBreakWithin PageFooterLines PageFooters PageHeaderLines PageHeaders PageHeight PageRankCentrality PageWidth PairedBarChart PairedHistogram PairedSmoothHistogram PairedTTest PairedZTest PaletteNotebook PalettePath Pane PaneBox PaneBoxOptions Panel PanelBox PanelBoxOptions Paneled PaneSelector PaneSelectorBox PaneSelectorBoxOptions PaperWidth ParabolicCylinderD ParagraphIndent ParagraphSpacing ParallelArray ParallelCombine ParallelDo ParallelEvaluate Parallelization Parallelize ParallelMap ParallelNeeds ParallelProduct ParallelSubmit ParallelSum ParallelTable ParallelTry Parameter ParameterEstimator ParameterMixtureDistribution ParameterVariables ParametricFunction ParametricNDSolve ParametricNDSolveValue ParametricPlot ParametricPlot3D ParentConnect ParentDirectory ParentForm Parenthesize ParentList ParetoDistribution Part PartialCorrelationFunction PartialD ParticleData Partition PartitionsP PartitionsQ ParzenWindow PascalDistribution PassEventsDown PassEventsUp Paste PasteBoxFormInlineCells PasteButton Path PathGraph PathGraphQ Pattern PatternSequence PatternTest PauliMatrix PaulWavelet Pause PausedTime PDF PearsonChiSquareTest PearsonCorrelationTest PearsonDistribution PerformanceGoal PeriodicInterpolation Periodogram PeriodogramArray PermutationCycles PermutationCyclesQ PermutationGroup PermutationLength PermutationList PermutationListQ PermutationMax PermutationMin PermutationOrder PermutationPower PermutationProduct PermutationReplace Permutations PermutationSupport Permute PeronaMalikFilter Perpendicular PERTDistribution PetersenGraph PhaseMargins Pi Pick PIDData PIDDerivativeFilter PIDFeedforward PIDTune Piecewise PiecewiseExpand PieChart PieChart3D PillaiTrace PillaiTraceTest Pink Pivoting PixelConstrained PixelValue PixelValuePositions Placed Placeholder PlaceholderReplace Plain PlanarGraphQ Play PlayRange Plot Plot3D Plot3Matrix PlotDivision PlotJoined PlotLabel PlotLayout PlotLegends PlotMarkers PlotPoints PlotRange PlotRangeClipping PlotRangePadding PlotRegion PlotStyle Plus PlusMinus Pochhammer PodStates PodWidth Point Point3DBox PointBox PointFigureChart PointForm PointLegend PointSize PoissonConsulDistribution PoissonDistribution PoissonProcess PoissonWindow PolarAxes PolarAxesOrigin PolarGridLines PolarPlot PolarTicks PoleZeroMarkers PolyaAeppliDistribution PolyGamma Polygon Polygon3DBox Polygon3DBoxOptions PolygonBox PolygonBoxOptions PolygonHoleScale PolygonIntersections PolygonScale PolyhedronData PolyLog PolynomialExtendedGCD PolynomialForm PolynomialGCD PolynomialLCM PolynomialMod PolynomialQ PolynomialQuotient PolynomialQuotientRemainder PolynomialReduce PolynomialRemainder Polynomials PopupMenu PopupMenuBox PopupMenuBoxOptions PopupView PopupWindow Position Positive PositiveDefiniteMatrixQ PossibleZeroQ Postfix PostScript Power PowerDistribution PowerExpand PowerMod PowerModList PowerSpectralDensity PowersRepresentations PowerSymmetricPolynomial Precedence PrecedenceForm Precedes PrecedesEqual PrecedesSlantEqual PrecedesTilde Precision PrecisionGoal PreDecrement PredictionRoot PreemptProtect PreferencesPath Prefix PreIncrement Prepend PrependTo PreserveImageOptions Previous PriceGraphDistribution PrimaryPlaceholder Prime PrimeNu PrimeOmega PrimePi PrimePowerQ PrimeQ Primes PrimeZetaP PrimitiveRoot PrincipalComponents PrincipalValue Print PrintAction PrintForm PrintingCopies PrintingOptions PrintingPageRange PrintingStartingPageNumber PrintingStyleEnvironment PrintPrecision PrintTemporary Prism PrismBox PrismBoxOptions PrivateCellOptions PrivateEvaluationOptions PrivateFontOptions PrivateFrontEndOptions PrivateNotebookOptions PrivatePaths Probability ProbabilityDistribution ProbabilityPlot ProbabilityPr ProbabilityScalePlot ProbitModelFit ProcessEstimator ProcessParameterAssumptions ProcessParameterQ ProcessStateDomain ProcessTimeDomain Product ProductDistribution ProductLog ProgressIndicator ProgressIndicatorBox ProgressIndicatorBoxOptions Projection Prolog PromptForm Properties Property PropertyList PropertyValue Proportion Proportional Protect Protected ProteinData Pruning PseudoInverse Purple Put PutAppend Pyramid PyramidBox PyramidBoxOptions QBinomial QFactorial QGamma QHypergeometricPFQ QPochhammer QPolyGamma QRDecomposition QuadraticIrrationalQ Quantile QuantilePlot Quantity QuantityForm QuantityMagnitude QuantityQ QuantityUnit Quartics QuartileDeviation Quartiles QuartileSkewness QueueingNetworkProcess QueueingProcess QueueProperties Quiet Quit Quotient QuotientRemainder RadialityCentrality RadicalBox RadicalBoxOptions RadioButton RadioButtonBar RadioButtonBox RadioButtonBoxOptions Radon RamanujanTau RamanujanTauL RamanujanTauTheta RamanujanTauZ Random RandomChoice RandomComplex RandomFunction RandomGraph RandomImage RandomInteger RandomPermutation RandomPrime RandomReal RandomSample RandomSeed RandomVariate RandomWalkProcess Range RangeFilter RangeSpecification RankedMax RankedMin Raster Raster3D Raster3DBox Raster3DBoxOptions RasterArray RasterBox RasterBoxOptions Rasterize RasterSize Rational RationalFunctions Rationalize Rationals Ratios Raw RawArray RawBoxes RawData RawMedium RayleighDistribution Re Read ReadList ReadProtected Real RealBlockDiagonalForm RealDigits RealExponent Reals Reap Record RecordLists RecordSeparators Rectangle RectangleBox RectangleBoxOptions RectangleChart RectangleChart3D RecurrenceFilter RecurrenceTable RecurringDigitsForm Red Reduce RefBox ReferenceLineStyle ReferenceMarkers ReferenceMarkerStyle Refine ReflectionMatrix ReflectionTransform Refresh RefreshRate RegionBinarize RegionFunction RegionPlot RegionPlot3D RegularExpression Regularization Reinstall Release ReleaseHold ReliabilityDistribution ReliefImage ReliefPlot Remove RemoveAlphaChannel RemoveAsynchronousTask Removed RemoveInputStreamMethod RemoveOutputStreamMethod RemoveProperty RemoveScheduledTask RenameDirectory RenameFile RenderAll RenderingOptions RenewalProcess RenkoChart Repeated RepeatedNull RepeatedString Replace ReplaceAll ReplaceHeldPart ReplaceImageValue ReplaceList ReplacePart ReplacePixelValue ReplaceRepeated Resampling Rescale RescalingTransform ResetDirectory ResetMenusPacket ResetScheduledTask Residue Resolve Rest Resultant ResumePacket Return ReturnExpressionPacket ReturnInputFormPacket ReturnPacket ReturnTextPacket Reverse ReverseBiorthogonalSplineWavelet ReverseElement ReverseEquilibrium ReverseGraph ReverseUpEquilibrium RevolutionAxis RevolutionPlot3D RGBColor RiccatiSolve RiceDistribution RidgeFilter RiemannR RiemannSiegelTheta RiemannSiegelZ Riffle Right RightArrow RightArrowBar RightArrowLeftArrow RightCosetRepresentative RightDownTeeVector RightDownVector RightDownVectorBar RightTee RightTeeArrow RightTeeVector RightTriangle RightTriangleBar RightTriangleEqual RightUpDownVector RightUpTeeVector RightUpVector RightUpVectorBar RightVector RightVectorBar RiskAchievementImportance RiskReductionImportance RogersTanimotoDissimilarity Root RootApproximant RootIntervals RootLocusPlot RootMeanSquare RootOfUnityQ RootReduce Roots RootSum Rotate RotateLabel RotateLeft RotateRight RotationAction RotationBox RotationBoxOptions RotationMatrix RotationTransform Round RoundImplies RoundingRadius Row RowAlignments RowBackgrounds RowBox RowHeights RowLines RowMinHeight RowReduce RowsEqual RowSpacings RSolve RudvalisGroupRu Rule RuleCondition RuleDelayed RuleForm RulerUnits Run RunScheduledTask RunThrough RuntimeAttributes RuntimeOptions RussellRaoDissimilarity SameQ SameTest SampleDepth SampledSoundFunction SampledSoundList SampleRate SamplingPeriod SARIMAProcess SARMAProcess SatisfiabilityCount SatisfiabilityInstances SatisfiableQ Saturday Save Saveable SaveAutoDelete SaveDefinitions SawtoothWave Scale Scaled ScaleDivisions ScaledMousePosition ScaleOrigin ScalePadding ScaleRanges ScaleRangeStyle ScalingFunctions ScalingMatrix ScalingTransform Scan ScheduledTaskActiveQ ScheduledTaskData ScheduledTaskObject ScheduledTasks SchurDecomposition ScientificForm ScreenRectangle ScreenStyleEnvironment ScriptBaselineShifts ScriptLevel ScriptMinSize ScriptRules ScriptSizeMultipliers Scrollbars ScrollingOptions ScrollPosition Sec Sech SechDistribution SectionGrouping SectorChart SectorChart3D SectorOrigin SectorSpacing SeedRandom Select Selectable SelectComponents SelectedCells SelectedNotebook Selection SelectionAnimate SelectionCell SelectionCellCreateCell SelectionCellDefaultStyle SelectionCellParentStyle SelectionCreateCell SelectionDebuggerTag SelectionDuplicateCell SelectionEvaluate SelectionEvaluateCreateCell SelectionMove SelectionPlaceholder SelectionSetStyle SelectWithContents SelfLoops SelfLoopStyle SemialgebraicComponentInstances SendMail Sequence SequenceAlignment SequenceForm SequenceHold SequenceLimit Series SeriesCoefficient SeriesData SessionTime Set SetAccuracy SetAlphaChannel SetAttributes Setbacks SetBoxFormNamesPacket SetDelayed SetDirectory SetEnvironment SetEvaluationNotebook SetFileDate SetFileLoadingContext SetNotebookStatusLine SetOptions SetOptionsPacket SetPrecision SetProperty SetSelectedNotebook SetSharedFunction SetSharedVariable SetSpeechParametersPacket SetStreamPosition SetSystemOptions Setter SetterBar SetterBox SetterBoxOptions Setting SetValue Shading Shallow ShannonWavelet ShapiroWilkTest Share Sharpen ShearingMatrix ShearingTransform ShenCastanMatrix Short ShortDownArrow Shortest ShortestMatch ShortestPathFunction ShortLeftArrow ShortRightArrow ShortUpArrow Show ShowAutoStyles ShowCellBracket ShowCellLabel ShowCellTags ShowClosedCellArea ShowContents ShowControls ShowCursorTracker ShowGroupOpenCloseIcon ShowGroupOpener ShowInvisibleCharacters ShowPageBreaks ShowPredictiveInterface ShowSelection ShowShortBoxForm ShowSpecialCharacters ShowStringCharacters ShowSyntaxStyles ShrinkingDelay ShrinkWrapBoundingBox SiegelTheta SiegelTukeyTest Sign Signature SignedRankTest SignificanceLevel SignPadding SignTest SimilarityRules SimpleGraph SimpleGraphQ Simplify Sin Sinc SinghMaddalaDistribution SingleEvaluation SingleLetterItalics SingleLetterStyle SingularValueDecomposition SingularValueList SingularValuePlot SingularValues Sinh SinhIntegral SinIntegral SixJSymbol Skeleton SkeletonTransform SkellamDistribution Skewness SkewNormalDistribution Skip SliceDistribution Slider Slider2D Slider2DBox Slider2DBoxOptions SliderBox SliderBoxOptions SlideView Slot SlotSequence Small SmallCircle Smaller SmithDelayCompensator SmithWatermanSimilarity SmoothDensityHistogram SmoothHistogram SmoothHistogram3D SmoothKernelDistribution SocialMediaData Socket SokalSneathDissimilarity Solve SolveAlways SolveDelayed Sort SortBy Sound SoundAndGraphics SoundNote SoundVolume Sow Space SpaceForm Spacer Spacings Span SpanAdjustments SpanCharacterRounding SpanFromAbove SpanFromBoth SpanFromLeft SpanLineThickness SpanMaxSize SpanMinSize SpanningCharacters SpanSymmetric SparseArray SpatialGraphDistribution Speak SpeakTextPacket SpearmanRankTest SpearmanRho Spectrogram SpectrogramArray Specularity SpellingCorrection SpellingDictionaries SpellingDictionariesPath SpellingOptions SpellingSuggestionsPacket Sphere SphereBox SphericalBesselJ SphericalBesselY SphericalHankelH1 SphericalHankelH2 SphericalHarmonicY SphericalPlot3D SphericalRegion SpheroidalEigenvalue SpheroidalJoiningFactor SpheroidalPS SpheroidalPSPrime SpheroidalQS SpheroidalQSPrime SpheroidalRadialFactor SpheroidalS1 SpheroidalS1Prime SpheroidalS2 SpheroidalS2Prime Splice SplicedDistribution SplineClosed SplineDegree SplineKnots SplineWeights Split SplitBy SpokenString Sqrt SqrtBox SqrtBoxOptions Square SquaredEuclideanDistance SquareFreeQ SquareIntersection SquaresR SquareSubset SquareSubsetEqual SquareSuperset SquareSupersetEqual SquareUnion SquareWave StabilityMargins StabilityMarginsStyle StableDistribution Stack StackBegin StackComplete StackInhibit StandardDeviation StandardDeviationFilter StandardForm Standardize StandbyDistribution Star StarGraph StartAsynchronousTask StartingStepSize StartOfLine StartOfString StartScheduledTask StartupSound StateDimensions StateFeedbackGains StateOutputEstimator StateResponse StateSpaceModel StateSpaceRealization StateSpaceTransform StationaryDistribution StationaryWaveletPacketTransform StationaryWaveletTransform StatusArea StatusCentrality StepMonitor StieltjesGamma StirlingS1 StirlingS2 StopAsynchronousTask StopScheduledTask StrataVariables StratonovichProcess StreamColorFunction StreamColorFunctionScaling StreamDensityPlot StreamPlot StreamPoints StreamPosition Streams StreamScale StreamStyle String StringBreak StringByteCount StringCases StringCount StringDrop StringExpression StringForm StringFormat StringFreeQ StringInsert StringJoin StringLength StringMatchQ StringPosition StringQ StringReplace StringReplaceList StringReplacePart StringReverse StringRotateLeft StringRotateRight StringSkeleton StringSplit StringTake StringToStream StringTrim StripBoxes StripOnInput StripWrapperBoxes StrokeForm StructuralImportance StructuredArray StructuredSelection StruveH StruveL Stub StudentTDistribution Style StyleBox StyleBoxAutoDelete StyleBoxOptions StyleData StyleDefinitions StyleForm StyleKeyMapping StyleMenuListing StyleNameDialogSettings StyleNames StylePrint StyleSheetPath Subfactorial Subgraph SubMinus SubPlus SubresultantPolynomialRemainders SubresultantPolynomials Subresultants Subscript SubscriptBox SubscriptBoxOptions Subscripted Subset SubsetEqual Subsets SubStar Subsuperscript SubsuperscriptBox SubsuperscriptBoxOptions Subtract SubtractFrom SubValues Succeeds SucceedsEqual SucceedsSlantEqual SucceedsTilde SuchThat Sum SumConvergence Sunday SuperDagger SuperMinus SuperPlus Superscript SuperscriptBox SuperscriptBoxOptions Superset SupersetEqual SuperStar Surd SurdForm SurfaceColor SurfaceGraphics SurvivalDistribution SurvivalFunction SurvivalModel SurvivalModelFit SuspendPacket SuzukiDistribution SuzukiGroupSuz SwatchLegend Switch Symbol SymbolName SymletWavelet Symmetric SymmetricGroup SymmetricMatrixQ SymmetricPolynomial SymmetricReduction Symmetrize SymmetrizedArray SymmetrizedArrayRules SymmetrizedDependentComponents SymmetrizedIndependentComponents SymmetrizedReplacePart SynchronousInitialization SynchronousUpdating Syntax SyntaxForm SyntaxInformation SyntaxLength SyntaxPacket SyntaxQ SystemDialogInput SystemException SystemHelpPath SystemInformation SystemInformationData SystemOpen SystemOptions SystemsModelDelay SystemsModelDelayApproximate SystemsModelDelete SystemsModelDimensions SystemsModelExtract SystemsModelFeedbackConnect SystemsModelLabels SystemsModelOrder SystemsModelParallelConnect SystemsModelSeriesConnect SystemsModelStateFeedbackConnect SystemStub Tab TabFilling Table TableAlignments TableDepth TableDirections TableForm TableHeadings TableSpacing TableView TableViewBox TabSpacings TabView TabViewBox TabViewBoxOptions TagBox TagBoxNote TagBoxOptions TaggingRules TagSet TagSetDelayed TagStyle TagUnset Take TakeWhile Tally Tan Tanh TargetFunctions TargetUnits TautologyQ TelegraphProcess TemplateBox TemplateBoxOptions TemplateSlotSequence TemporalData Temporary TemporaryVariable TensorContract TensorDimensions TensorExpand TensorProduct TensorQ TensorRank TensorReduce TensorSymmetry TensorTranspose TensorWedge Tetrahedron TetrahedronBox TetrahedronBoxOptions TeXForm TeXSave Text Text3DBox Text3DBoxOptions TextAlignment TextBand TextBoundingBox TextBox TextCell TextClipboardType TextData TextForm TextJustification TextLine TextPacket TextParagraph TextRecognize TextRendering TextStyle Texture TextureCoordinateFunction TextureCoordinateScaling Therefore ThermometerGauge Thick Thickness Thin Thinning ThisLink ThompsonGroupTh Thread ThreeJSymbol Threshold Through Throw Thumbnail Thursday Ticks TicksStyle Tilde TildeEqual TildeFullEqual TildeTilde TimeConstrained TimeConstraint Times TimesBy TimeSeriesForecast TimeSeriesInvertibility TimeUsed TimeValue TimeZone Timing Tiny TitleGrouping TitsGroupT ToBoxes ToCharacterCode ToColor ToContinuousTimeModel ToDate ToDiscreteTimeModel ToeplitzMatrix ToExpression ToFileName Together Toggle ToggleFalse Toggler TogglerBar TogglerBox TogglerBoxOptions ToHeldExpression ToInvertibleTimeSeries TokenWords Tolerance ToLowerCase ToNumberField TooBig Tooltip TooltipBox TooltipBoxOptions TooltipDelay TooltipStyle Top TopHatTransform TopologicalSort ToRadicals ToRules ToString Total TotalHeight TotalVariationFilter TotalWidth TouchscreenAutoZoom TouchscreenControlPlacement ToUpperCase Tr Trace TraceAbove TraceAction TraceBackward TraceDepth TraceDialog TraceForward TraceInternal TraceLevel TraceOff TraceOn TraceOriginal TracePrint TraceScan TrackedSymbols TradingChart TraditionalForm TraditionalFunctionNotation TraditionalNotation TraditionalOrder TransferFunctionCancel TransferFunctionExpand TransferFunctionFactor TransferFunctionModel TransferFunctionPoles TransferFunctionTransform TransferFunctionZeros TransformationFunction TransformationFunctions TransformationMatrix TransformedDistribution TransformedField Translate TranslationTransform TransparentColor Transpose TreeForm TreeGraph TreeGraphQ TreePlot TrendStyle TriangleWave TriangularDistribution Trig TrigExpand TrigFactor TrigFactorList Trigger TrigReduce TrigToExp TrimmedMean True TrueQ TruncatedDistribution TsallisQExponentialDistribution TsallisQGaussianDistribution TTest Tube TubeBezierCurveBox TubeBezierCurveBoxOptions TubeBox TubeBSplineCurveBox TubeBSplineCurveBoxOptions Tuesday TukeyLambdaDistribution TukeyWindow Tuples TuranGraph TuringMachine Transparent UnateQ Uncompress Undefined UnderBar Underflow Underlined Underoverscript UnderoverscriptBox UnderoverscriptBoxOptions Underscript UnderscriptBox UnderscriptBoxOptions UndirectedEdge UndirectedGraph UndirectedGraphQ UndocumentedTestFEParserPacket UndocumentedTestGetSelectionPacket Unequal Unevaluated UniformDistribution UniformGraphDistribution UniformSumDistribution Uninstall Union UnionPlus Unique UnitBox UnitConvert UnitDimensions Unitize UnitRootTest UnitSimplify UnitStep UnitTriangle UnitVector Unprotect UnsameQ UnsavedVariables Unset UnsetShared UntrackedVariables Up UpArrow UpArrowBar UpArrowDownArrow Update UpdateDynamicObjects UpdateDynamicObjectsSynchronous UpdateInterval UpDownArrow UpEquilibrium UpperCaseQ UpperLeftArrow UpperRightArrow UpperTriangularize Upsample UpSet UpSetDelayed UpTee UpTeeArrow UpValues URL URLFetch URLFetchAsynchronous URLSave URLSaveAsynchronous UseGraphicsRange Using UsingFrontEnd V2Get ValidationLength Value ValueBox ValueBoxOptions ValueForm ValueQ ValuesData Variables Variance VarianceEquivalenceTest VarianceEstimatorFunction VarianceGammaDistribution VarianceTest VectorAngle VectorColorFunction VectorColorFunctionScaling VectorDensityPlot VectorGlyphData VectorPlot VectorPlot3D VectorPoints VectorQ Vectors VectorScale VectorStyle Vee Verbatim Verbose VerboseConvertToPostScriptPacket VerifyConvergence VerifySolutions VerifyTestAssumptions Version VersionNumber VertexAdd VertexCapacity VertexColors VertexComponent VertexConnectivity VertexCoordinateRules VertexCoordinates VertexCorrelationSimilarity VertexCosineSimilarity VertexCount VertexCoverQ VertexDataCoordinates VertexDegree VertexDelete VertexDiceSimilarity VertexEccentricity VertexInComponent VertexInDegree VertexIndex VertexJaccardSimilarity VertexLabeling VertexLabels VertexLabelStyle VertexList VertexNormals VertexOutComponent VertexOutDegree VertexQ VertexRenderingFunction VertexReplace VertexShape VertexShapeFunction VertexSize VertexStyle VertexTextureCoordinates VertexWeight Vertical VerticalBar VerticalForm VerticalGauge VerticalSeparator VerticalSlider VerticalTilde ViewAngle ViewCenter ViewMatrix ViewPoint ViewPointSelectorSettings ViewPort ViewRange ViewVector ViewVertical VirtualGroupData Visible VisibleCell VoigtDistribution VonMisesDistribution WaitAll WaitAsynchronousTask WaitNext WaitUntil WakebyDistribution WalleniusHypergeometricDistribution WaringYuleDistribution WatershedComponents WatsonUSquareTest WattsStrogatzGraphDistribution WaveletBestBasis WaveletFilterCoefficients WaveletImagePlot WaveletListPlot WaveletMapIndexed WaveletMatrixPlot WaveletPhi WaveletPsi WaveletScale WaveletScalogram WaveletThreshold WeaklyConnectedComponents WeaklyConnectedGraphQ WeakStationarity WeatherData WeberE Wedge Wednesday WeibullDistribution WeierstrassHalfPeriods WeierstrassInvariants WeierstrassP WeierstrassPPrime WeierstrassSigma WeierstrassZeta WeightedAdjacencyGraph WeightedAdjacencyMatrix WeightedData WeightedGraphQ Weights WelchWindow WheelGraph WhenEvent Which While White Whitespace WhitespaceCharacter WhittakerM WhittakerW WienerFilter WienerProcess WignerD WignerSemicircleDistribution WilksW WilksWTest WindowClickSelect WindowElements WindowFloating WindowFrame WindowFrameElements WindowMargins WindowMovable WindowOpacity WindowSelected WindowSize WindowStatusArea WindowTitle WindowToolbars WindowWidth With WolframAlpha WolframAlphaDate WolframAlphaQuantity WolframAlphaResult Word WordBoundary WordCharacter WordData WordSearch WordSeparators WorkingPrecision Write WriteString Wronskian XMLElement XMLObject Xnor Xor Yellow YuleDissimilarity ZernikeR ZeroSymmetric ZeroTest ZeroWidthTimes Zeta ZetaZero ZipfDistribution ZTest ZTransform $Aborted $ActivationGroupID $ActivationKey $ActivationUserRegistered $AddOnsDirectory $AssertFunction $Assumptions $AsynchronousTask $BaseDirectory $BatchInput $BatchOutput $BoxForms $ByteOrdering $Canceled $CharacterEncoding $CharacterEncodings $CommandLine $CompilationTarget $ConditionHold $ConfiguredKernels $Context $ContextPath $ControlActiveSetting $CreationDate $CurrentLink $DateStringFormat $DefaultFont $DefaultFrontEnd $DefaultImagingDevice $DefaultPath $Display $DisplayFunction $DistributedContexts $DynamicEvaluation $Echo $Epilog $ExportFormats $Failed $FinancialDataSource $FormatType $FrontEnd $FrontEndSession $GeoLocation $HistoryLength $HomeDirectory $HTTPCookies $IgnoreEOF $ImagingDevices $ImportFormats $InitialDirectory $Input $InputFileName $InputStreamMethods $Inspector $InstallationDate $InstallationDirectory $InterfaceEnvironment $IterationLimit $KernelCount $KernelID $Language $LaunchDirectory $LibraryPath $LicenseExpirationDate $LicenseID $LicenseProcesses $LicenseServer $LicenseSubprocesses $LicenseType $Line $Linked $LinkSupported $LoadedFiles $MachineAddresses $MachineDomain $MachineDomains $MachineEpsilon $MachineID $MachineName $MachinePrecision $MachineType $MaxExtraPrecision $MaxLicenseProcesses $MaxLicenseSubprocesses $MaxMachineNumber $MaxNumber $MaxPiecewiseCases $MaxPrecision $MaxRootDegree $MessageGroups $MessageList $MessagePrePrint $Messages $MinMachineNumber $MinNumber $MinorReleaseNumber $MinPrecision $ModuleNumber $NetworkLicense $NewMessage $NewSymbol $Notebooks $NumberMarks $Off $OperatingSystem $Output $OutputForms $OutputSizeLimit $OutputStreamMethods $Packages $ParentLink $ParentProcessID $PasswordFile $PatchLevelID $Path $PathnameSeparator $PerformanceGoal $PipeSupported $Post $Pre $PreferencesDirectory $PrePrint $PreRead $PrintForms $PrintLiteral $ProcessID $ProcessorCount $ProcessorType $ProductInformation $ProgramName $RandomState $RecursionLimit $ReleaseNumber $RootDirectory $ScheduledTask $ScriptCommandLine $SessionID $SetParentLink $SharedFunctions $SharedVariables $SoundDisplay $SoundDisplayFunction $SuppressInputFormHeads $SynchronousEvaluation $SyntaxHandler $System $SystemCharacterEncoding $SystemID $SystemWordLength $TemporaryDirectory $TemporaryPrefix $TextStyle $TimedOut $TimeUnit $TimeZone $TopDirectory $TraceOff $TraceOn $TracePattern $TracePostAction $TracePreAction $Urgent $UserAddOnsDirectory $UserBaseDirectory $UserDocumentsDirectory $UserName $Version $VersionNumber\",\nc:[{cN:\"comment\",b:/\\(\\*/,e:/\\*\\)/},e.ASM,e.QSM,e.CNM,{b:/\\{/,e:/\\}/,i:/:/}]}}),e.registerLanguage(\"matlab\",function(e){var t=[e.CNM,{cN:\"string\",b:\"'\",e:\"'\",c:[e.BE,{b:\"''\"}]}],r={r:0,c:[{b:/'['\\.]*/}]};return{k:{keyword:\"break case catch classdef continue else elseif end enumerated events for function global if methods otherwise parfor persistent properties return spmd switch try while\",built_in:\"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson\"},i:'(//|\"|#|/\\\\*|\\\\s+/\\\\w+)',c:[{cN:\"function\",bK:\"function\",e:\"$\",c:[e.UTM,{cN:\"params\",v:[{b:\"\\\\(\",e:\"\\\\)\"},{b:\"\\\\[\",e:\"\\\\]\"}]}]},{b:/[a-zA-Z_][a-zA-Z_0-9]*'['\\.]*/,rB:!0,r:0,c:[{b:/[a-zA-Z_][a-zA-Z_0-9]*/,r:0},r.c[0]]},{b:\"\\\\[\",e:\"\\\\]\",c:t,r:0,starts:r},{b:\"\\\\{\",e:/}/,c:t,r:0,starts:r},{b:/\\)/,r:0,starts:r},e.C(\"^\\\\s*\\\\%\\\\{\\\\s*$\",\"^\\\\s*\\\\%\\\\}\\\\s*$\"),e.C(\"\\\\%\",\"$\")].concat(t)}}),e.registerLanguage(\"maxima\",function(e){var t=\"if then else elseif for thru do while unless step in and or not\",r=\"true false unknown inf minf ind und %e %i %pi %phi %gamma\",a=\" abasep abs absint absolute_real_time acos acosh acot acoth acsc acsch activate addcol add_edge add_edges addmatrices addrow add_vertex add_vertices adjacency_matrix adjoin adjoint af agd airy airy_ai airy_bi airy_dai airy_dbi algsys alg_type alias allroots alphacharp alphanumericp amortization %and annuity_fv annuity_pv antid antidiff AntiDifference append appendfile apply apply1 apply2 applyb1 apropos args arit_amortization arithmetic arithsum array arrayapply arrayinfo arraymake arraysetapply ascii asec asech asin asinh askinteger asksign assoc assoc_legendre_p assoc_legendre_q assume assume_external_byte_order asympa at atan atan2 atanh atensimp atom atvalue augcoefmatrix augmented_lagrangian_method av average_degree backtrace bars barsplot barsplot_description base64 base64_decode bashindices batch batchload bc2 bdvac belln benefit_cost bern bernpoly bernstein_approx bernstein_expand bernstein_poly bessel bessel_i bessel_j bessel_k bessel_simplify bessel_y beta beta_incomplete beta_incomplete_generalized beta_incomplete_regularized bezout bfallroots bffac bf_find_root bf_fmin_cobyla bfhzeta bfloat bfloatp bfpsi bfpsi0 bfzeta biconnected_components bimetric binomial bipartition block blockmatrixp bode_gain bode_phase bothcoef box boxplot boxplot_description break bug_report build_info|10 buildq build_sample burn cabs canform canten cardinality carg cartan cartesian_product catch cauchy_matrix cbffac cdf_bernoulli cdf_beta cdf_binomial cdf_cauchy cdf_chi2 cdf_continuous_uniform cdf_discrete_uniform cdf_exp cdf_f cdf_gamma cdf_general_finite_discrete cdf_geometric cdf_gumbel cdf_hypergeometric cdf_laplace cdf_logistic cdf_lognormal cdf_negative_binomial cdf_noncentral_chi2 cdf_noncentral_student_t cdf_normal cdf_pareto cdf_poisson cdf_rank_sum cdf_rayleigh cdf_signed_rank cdf_student_t cdf_weibull cdisplay ceiling central_moment cequal cequalignore cf cfdisrep cfexpand cgeodesic cgreaterp cgreaterpignore changename changevar chaosgame charat charfun charfun2 charlist charp charpoly chdir chebyshev_t chebyshev_u checkdiv check_overlaps chinese cholesky christof chromatic_index chromatic_number cint circulant_graph clear_edge_weight clear_rules clear_vertex_label clebsch_gordan clebsch_graph clessp clesspignore close closefile cmetric coeff coefmatrix cograd col collapse collectterms columnop columnspace columnswap columnvector combination combine comp2pui compare compfile compile compile_file complement_graph complete_bipartite_graph complete_graph complex_number_p components compose_functions concan concat conjugate conmetderiv connected_components connect_vertices cons constant constantp constituent constvalue cont2part content continuous_freq contortion contour_plot contract contract_edge contragrad contrib_ode convert coord copy copy_file copy_graph copylist copymatrix cor cos cosh cot coth cov cov1 covdiff covect covers crc24sum create_graph create_list csc csch csetup cspline ctaylor ct_coordsys ctransform ctranspose cube_graph cuboctahedron_graph cunlisp cv cycle_digraph cycle_graph cylindrical days360 dblint deactivate declare declare_constvalue declare_dimensions declare_fundamental_dimensions declare_fundamental_units declare_qty declare_translated declare_unit_conversion declare_units declare_weights decsym defcon define define_alt_display define_variable defint defmatch defrule defstruct deftaylor degree_sequence del delete deleten delta demo demoivre denom depends derivdegree derivlist describe desolve determinant dfloat dgauss_a dgauss_b dgeev dgemm dgeqrf dgesv dgesvd diag diagmatrix diag_matrix diagmatrixp diameter diff digitcharp dimacs_export dimacs_import dimension dimensionless dimensions dimensions_as_list direct directory discrete_freq disjoin disjointp disolate disp dispcon dispform dispfun dispJordan display disprule dispterms distrib divide divisors divsum dkummer_m dkummer_u dlange dodecahedron_graph dotproduct dotsimp dpart draw draw2d draw3d drawdf draw_file draw_graph dscalar echelon edge_coloring edge_connectivity edges eigens_by_jacobi eigenvalues eigenvectors eighth einstein eivals eivects elapsed_real_time elapsed_run_time ele2comp ele2polynome ele2pui elem elementp elevation_grid elim elim_allbut eliminate eliminate_using ellipse elliptic_e elliptic_ec elliptic_eu elliptic_f elliptic_kc elliptic_pi ematrix empty_graph emptyp endcons entermatrix entertensor entier equal equalp equiv_classes erf erfc erf_generalized erfi errcatch error errormsg errors euler ev eval_string evenp every evolution evolution2d evundiff example exp expand expandwrt expandwrt_factored expint expintegral_chi expintegral_ci expintegral_e expintegral_e1 expintegral_ei expintegral_e_simplify expintegral_li expintegral_shi expintegral_si explicit explose exponentialize express expt exsec extdiff extract_linear_equations extremal_subset ezgcd %f f90 facsum factcomb factor factorfacsum factorial factorout factorsum facts fast_central_elements fast_linsolve fasttimes featurep fernfale fft fib fibtophi fifth filename_merge file_search file_type fillarray findde find_root find_root_abs find_root_error find_root_rel first fix flatten flength float floatnump floor flower_snark flush flush1deriv flushd flushnd flush_output fmin_cobyla forget fortran fourcos fourexpand fourier fourier_elim fourint fourintcos fourintsin foursimp foursin fourth fposition frame_bracket freeof freshline fresnel_c fresnel_s from_adjacency_matrix frucht_graph full_listify fullmap fullmapl fullratsimp fullratsubst fullsetify funcsolve fundamental_dimensions fundamental_units fundef funmake funp fv g0 g1 gamma gamma_greek gamma_incomplete gamma_incomplete_generalized gamma_incomplete_regularized gauss gauss_a gauss_b gaussprob gcd gcdex gcdivide gcfac gcfactor gd generalized_lambert_w genfact gen_laguerre genmatrix gensym geo_amortization geo_annuity_fv geo_annuity_pv geomap geometric geometric_mean geosum get getcurrentdirectory get_edge_weight getenv get_lu_factors get_output_stream_string get_pixel get_plot_option get_tex_environment get_tex_environment_default get_vertex_label gfactor gfactorsum ggf girth global_variances gn gnuplot_close gnuplot_replot gnuplot_reset gnuplot_restart gnuplot_start go Gosper GosperSum gr2d gr3d gradef gramschmidt graph6_decode graph6_encode graph6_export graph6_import graph_center graph_charpoly graph_eigenvalues graph_flow graph_order graph_periphery graph_product graph_size graph_union great_rhombicosidodecahedron_graph great_rhombicuboctahedron_graph grid_graph grind grobner_basis grotzch_graph hamilton_cycle hamilton_path hankel hankel_1 hankel_2 harmonic harmonic_mean hav heawood_graph hermite hessian hgfred hilbertmap hilbert_matrix hipow histogram histogram_description hodge horner hypergeometric i0 i1 %ibes ic1 ic2 ic_convert ichr1 ichr2 icosahedron_graph icosidodecahedron_graph icurvature ident identfor identity idiff idim idummy ieqn %if ifactors iframes ifs igcdex igeodesic_coords ilt image imagpart imetric implicit implicit_derivative implicit_plot indexed_tensor indices induced_subgraph inferencep inference_result infix info_display init_atensor init_ctensor in_neighbors innerproduct inpart inprod inrt integerp integer_partitions integrate intersect intersection intervalp intopois intosum invariant1 invariant2 inverse_fft inverse_jacobi_cd inverse_jacobi_cn inverse_jacobi_cs inverse_jacobi_dc inverse_jacobi_dn inverse_jacobi_ds inverse_jacobi_nc inverse_jacobi_nd inverse_jacobi_ns inverse_jacobi_sc inverse_jacobi_sd inverse_jacobi_sn invert invert_by_adjoint invert_by_lu inv_mod irr is is_biconnected is_bipartite is_connected is_digraph is_edge_in_graph is_graph is_graph_or_digraph ishow is_isomorphic isolate isomorphism is_planar isqrt isreal_p is_sconnected is_tree is_vertex_in_graph items_inference %j j0 j1 jacobi jacobian jacobi_cd jacobi_cn jacobi_cs jacobi_dc jacobi_dn jacobi_ds jacobi_nc jacobi_nd jacobi_ns jacobi_p jacobi_sc jacobi_sd jacobi_sn JF jn join jordan julia julia_set julia_sin %k kdels kdelta kill killcontext kostka kron_delta kronecker_product kummer_m kummer_u kurtosis kurtosis_bernoulli kurtosis_beta kurtosis_binomial kurtosis_chi2 kurtosis_continuous_uniform kurtosis_discrete_uniform kurtosis_exp kurtosis_f kurtosis_gamma kurtosis_general_finite_discrete kurtosis_geometric kurtosis_gumbel kurtosis_hypergeometric kurtosis_laplace kurtosis_logistic kurtosis_lognormal kurtosis_negative_binomial kurtosis_noncentral_chi2 kurtosis_noncentral_student_t kurtosis_normal kurtosis_pareto kurtosis_poisson kurtosis_rayleigh kurtosis_student_t kurtosis_weibull label labels lagrange laguerre lambda lambert_w laplace laplacian_matrix last lbfgs lc2kdt lcharp lc_l lcm lc_u ldefint ldisp ldisplay legendre_p legendre_q leinstein length let letrules letsimp levi_civita lfreeof lgtreillis lhs li liediff limit Lindstedt linear linearinterpol linear_program linear_regression line_graph linsolve listarray list_correlations listify list_matrix_entries list_nc_monomials listoftens listofvars listp lmax lmin load loadfile local locate_matrix_entry log logcontract log_gamma lopow lorentz_gauge lowercasep lpart lratsubst lreduce lriemann lsquares_estimates lsquares_estimates_approximate lsquares_estimates_exact lsquares_mse lsquares_residual_mse lsquares_residuals lsum ltreillis lu_backsub lucas lu_factor %m macroexpand macroexpand1 make_array makebox makefact makegamma make_graph make_level_picture makelist makeOrders make_poly_continent make_poly_country make_polygon make_random_state make_rgb_picture makeset make_string_input_stream make_string_output_stream make_transform mandelbrot mandelbrot_set map mapatom maplist matchdeclare matchfix mat_cond mat_fullunblocker mat_function mathml_display mat_norm matrix matrixmap matrixp matrix_size mattrace mat_trace mat_unblocker max max_clique max_degree max_flow maximize_lp max_independent_set max_matching maybe md5sum mean mean_bernoulli mean_beta mean_binomial mean_chi2 mean_continuous_uniform mean_deviation mean_discrete_uniform mean_exp mean_f mean_gamma mean_general_finite_discrete mean_geometric mean_gumbel mean_hypergeometric mean_laplace mean_logistic mean_lognormal mean_negative_binomial mean_noncentral_chi2 mean_noncentral_student_t mean_normal mean_pareto mean_poisson mean_rayleigh mean_student_t mean_weibull median median_deviation member mesh metricexpandall mgf1_sha1 min min_degree min_edge_cut minfactorial minimalPoly minimize_lp minimum_spanning_tree minor minpack_lsquares minpack_solve min_vertex_cover min_vertex_cut mkdir mnewton mod mode_declare mode_identity ModeMatrix moebius mon2schur mono monomial_dimensions multibernstein_poly multi_display_for_texinfo multi_elem multinomial multinomial_coeff multi_orbit multiplot_mode multi_pui multsym multthru mycielski_graph nary natural_unit nc_degree ncexpt ncharpoly negative_picture neighbors new newcontext newdet new_graph newline newton new_variable next_prime nicedummies niceindices ninth nofix nonarray noncentral_moment nonmetricity nonnegintegerp nonscalarp nonzeroandfreeof notequal nounify nptetrad npv nroots nterms ntermst nthroot nullity nullspace num numbered_boundaries numberp number_to_octets num_distinct_partitions numerval numfactor num_partitions nusum nzeta nzetai nzetar octets_to_number octets_to_oid odd_girth oddp ode2 ode_check odelin oid_to_octets op opena opena_binary openr openr_binary openw openw_binary operatorp opsubst optimize %or orbit orbits ordergreat ordergreatp orderless orderlessp orthogonal_complement orthopoly_recur orthopoly_weight outermap out_neighbors outofpois pade parabolic_cylinder_d parametric parametric_surface parg parGosper parse_string parse_timedate part part2cont partfrac partition partition_set partpol path_digraph path_graph pathname_directory pathname_name pathname_type pdf_bernoulli pdf_beta pdf_binomial pdf_cauchy pdf_chi2 pdf_continuous_uniform pdf_discrete_uniform pdf_exp pdf_f pdf_gamma pdf_general_finite_discrete pdf_geometric pdf_gumbel pdf_hypergeometric pdf_laplace pdf_logistic pdf_lognormal pdf_negative_binomial pdf_noncentral_chi2 pdf_noncentral_student_t pdf_normal pdf_pareto pdf_poisson pdf_rank_sum pdf_rayleigh pdf_signed_rank pdf_student_t pdf_weibull pearson_skewness permanent permut permutation permutations petersen_graph petrov pickapart picture_equalp picturep piechart piechart_description planar_embedding playback plog plot2d plot3d plotdf ploteq plsquares pochhammer points poisdiff poisexpt poisint poismap poisplus poissimp poissubst poistimes poistrim polar polarform polartorect polar_to_xy poly_add poly_buchberger poly_buchberger_criterion poly_colon_ideal poly_content polydecomp poly_depends_p poly_elimination_ideal poly_exact_divide poly_expand poly_expt poly_gcd polygon poly_grobner poly_grobner_equal poly_grobner_member poly_grobner_subsetp poly_ideal_intersection poly_ideal_polysaturation poly_ideal_polysaturation1 poly_ideal_saturation poly_ideal_saturation1 poly_lcm poly_minimization polymod poly_multiply polynome2ele polynomialp poly_normal_form poly_normalize poly_normalize_list poly_polysaturation_extension poly_primitive_part poly_pseudo_divide poly_reduced_grobner poly_reduction poly_saturation_extension poly_s_polynomial poly_subtract polytocompanion pop postfix potential power_mod powerseries powerset prefix prev_prime primep primes principal_components print printf printfile print_graph printpois printprops prodrac product properties propvars psi psubst ptriangularize pui pui2comp pui2ele pui2polynome pui_direct puireduc push put pv qput qrange qty quad_control quad_qag quad_qagi quad_qagp quad_qags quad_qawc quad_qawf quad_qawo quad_qaws quadrilateral quantile quantile_bernoulli quantile_beta quantile_binomial quantile_cauchy quantile_chi2 quantile_continuous_uniform quantile_discrete_uniform quantile_exp quantile_f quantile_gamma quantile_general_finite_discrete quantile_geometric quantile_gumbel quantile_hypergeometric quantile_laplace quantile_logistic quantile_lognormal quantile_negative_binomial quantile_noncentral_chi2 quantile_noncentral_student_t quantile_normal quantile_pareto quantile_poisson quantile_rayleigh quantile_student_t quantile_weibull quartile_skewness quit qunit quotient racah_v racah_w radcan radius random random_bernoulli random_beta random_binomial random_bipartite_graph random_cauchy random_chi2 random_continuous_uniform random_digraph random_discrete_uniform random_exp random_f random_gamma random_general_finite_discrete random_geometric random_graph random_graph1 random_gumbel random_hypergeometric random_laplace random_logistic random_lognormal random_negative_binomial random_network random_noncentral_chi2 random_noncentral_student_t random_normal random_pareto random_permutation random_poisson random_rayleigh random_regular_graph random_student_t random_tournament random_tree random_weibull range rank rat ratcoef ratdenom ratdiff ratdisrep ratexpand ratinterpol rational rationalize ratnumer ratnump ratp ratsimp ratsubst ratvars ratweight read read_array read_binary_array read_binary_list read_binary_matrix readbyte readchar read_hashed_array readline read_list read_matrix read_nested_list readonly read_xpm real_imagpart_to_conjugate realpart realroots rearray rectangle rectform rectform_log_if_constant recttopolar rediff reduce_consts reduce_order region region_boundaries region_boundaries_plus rem remainder remarray rembox remcomps remcon remcoord remfun remfunction remlet remove remove_constvalue remove_dimensions remove_edge remove_fundamental_dimensions remove_fundamental_units remove_plot_option remove_vertex rempart remrule remsym remvalue rename rename_file reset reset_displays residue resolvante resolvante_alternee1 resolvante_bipartite resolvante_diedrale resolvante_klein resolvante_klein3 resolvante_produit_sym resolvante_unitaire resolvante_vierer rest resultant return reveal reverse revert revert2 rgb2level rhs ricci riemann rinvariant risch rk rmdir rncombine romberg room rootscontract round row rowop rowswap rreduce run_testsuite %s save saving scalarp scaled_bessel_i scaled_bessel_i0 scaled_bessel_i1 scalefactors scanmap scatterplot scatterplot_description scene schur2comp sconcat scopy scsimp scurvature sdowncase sec sech second sequal sequalignore set_alt_display setdifference set_draw_defaults set_edge_weight setelmx setequalp setify setp set_partitions set_plot_option set_prompt set_random_state set_tex_environment set_tex_environment_default setunits setup_autoload set_up_dot_simplifications set_vertex_label seventh sexplode sf sha1sum sha256sum shortest_path shortest_weighted_path show showcomps showratvars sierpinskiale sierpinskimap sign signum similaritytransform simp_inequality simplify_sum simplode simpmetderiv simtran sin sinh sinsert sinvertcase sixth skewness skewness_bernoulli skewness_beta skewness_binomial skewness_chi2 skewness_continuous_uniform skewness_discrete_uniform skewness_exp skewness_f skewness_gamma skewness_general_finite_discrete skewness_geometric skewness_gumbel skewness_hypergeometric skewness_laplace skewness_logistic skewness_lognormal skewness_negative_binomial skewness_noncentral_chi2 skewness_noncentral_student_t skewness_normal skewness_pareto skewness_poisson skewness_rayleigh skewness_student_t skewness_weibull slength smake small_rhombicosidodecahedron_graph small_rhombicuboctahedron_graph smax smin smismatch snowmap snub_cube_graph snub_dodecahedron_graph solve solve_rec solve_rec_rat some somrac sort sparse6_decode sparse6_encode sparse6_export sparse6_import specint spherical spherical_bessel_j spherical_bessel_y spherical_hankel1 spherical_hankel2 spherical_harmonic spherical_to_xyz splice split sposition sprint sqfr sqrt sqrtdenest sremove sremovefirst sreverse ssearch ssort sstatus ssubst ssubstfirst staircase standardize standardize_inverse_trig starplot starplot_description status std std1 std_bernoulli std_beta std_binomial std_chi2 std_continuous_uniform std_discrete_uniform std_exp std_f std_gamma std_general_finite_discrete std_geometric std_gumbel std_hypergeometric std_laplace std_logistic std_lognormal std_negative_binomial std_noncentral_chi2 std_noncentral_student_t std_normal std_pareto std_poisson std_rayleigh std_student_t std_weibull stemplot stirling stirling1 stirling2 strim striml strimr string stringout stringp strong_components struve_h struve_l sublis sublist sublist_indices submatrix subsample subset subsetp subst substinpart subst_parallel substpart substring subvar subvarp sum sumcontract summand_to_rec supcase supcontext symbolp symmdifference symmetricp system take_channel take_inference tan tanh taylor taylorinfo taylorp taylor_simplifier taytorat tcl_output tcontract tellrat tellsimp tellsimpafter tentex tenth test_mean test_means_difference test_normality test_proportion test_proportions_difference test_rank_sum test_sign test_signed_rank test_variance test_variance_ratio tex tex1 tex_display texput %th third throw time timedate timer timer_info tldefint tlimit todd_coxeter toeplitz tokens to_lisp topological_sort to_poly to_poly_solve totaldisrep totalfourier totient tpartpol trace tracematrix trace_options transform_sample translate translate_file transpose treefale tree_reduce treillis treinat triangle triangularize trigexpand trigrat trigreduce trigsimp trunc truncate truncated_cube_graph truncated_dodecahedron_graph truncated_icosahedron_graph truncated_tetrahedron_graph tr_warnings_get tube tutte_graph ueivects uforget ultraspherical underlying_graph undiff union unique uniteigenvectors unitp units unit_step unitvector unorder unsum untellrat untimer untrace uppercasep uricci uriemann uvect vandermonde_matrix var var1 var_bernoulli var_beta var_binomial var_chi2 var_continuous_uniform var_discrete_uniform var_exp var_f var_gamma var_general_finite_discrete var_geometric var_gumbel var_hypergeometric var_laplace var_logistic var_lognormal var_negative_binomial var_noncentral_chi2 var_noncentral_student_t var_normal var_pareto var_poisson var_rayleigh var_student_t var_weibull vector vectorpotential vectorsimp verbify vers vertex_coloring vertex_connectivity vertex_degree vertex_distance vertex_eccentricity vertex_in_degree vertex_out_degree vertices vertices_to_cycle vertices_to_path %w weyl wheel_graph wiener_index wigner_3j wigner_6j wigner_9j with_stdout write_binary_data writebyte write_data writefile wronskian xreduce xthru %y Zeilberger zeroequiv zerofor zeromatrix zeromatrixp zeta zgeev zheev zlange zn_add_table zn_carmichael_lambda zn_characteristic_factors zn_determinant zn_factor_generators zn_invert_by_lu zn_log zn_mult_table absboxchar activecontexts adapt_depth additive adim aform algebraic algepsilon algexact aliases allbut all_dotsimp_denoms allocation allsym alphabetic animation antisymmetric arrays askexp assume_pos assume_pos_pred assumescalar asymbol atomgrad atrig1 axes axis_3d axis_bottom axis_left axis_right axis_top azimuth background background_color backsubst berlefact bernstein_explicit besselexpand beta_args_sum_to_integer beta_expand bftorat bftrunc bindtest border boundaries_array box boxchar breakup %c capping cauchysum cbrange cbtics center cflength cframe_flag cnonmet_flag color color_bar color_bar_tics colorbox columns commutative complex cone context contexts contour contour_levels cosnpiflag ctaypov ctaypt ctayswitch ctayvar ct_coords ctorsion_flag ctrgsimp cube current_let_rule_package cylinder data_file_name debugmode decreasing default_let_rule_package delay dependencies derivabbrev derivsubst detout diagmetric diff dim dimensions dispflag display2d|10 display_format_internal distribute_over doallmxops domain domxexpt domxmxops domxnctimes dontfactor doscmxops doscmxplus dot0nscsimp dot0simp dot1simp dotassoc dotconstrules dotdistrib dotexptsimp dotident dotscrules draw_graph_program draw_realpart edge_color edge_coloring edge_partition edge_type edge_width %edispflag elevation %emode endphi endtheta engineering_format_floats enhanced3d %enumer epsilon_lp erfflag erf_representation errormsg error_size error_syms error_type %e_to_numlog eval even evenfun evflag evfun ev_point expandwrt_denom expintexpand expintrep expon expop exptdispflag exptisolate exptsubst facexpand facsum_combine factlim factorflag factorial_expand factors_only fb feature features file_name file_output_append file_search_demo file_search_lisp file_search_maxima|10 file_search_tests file_search_usage file_type_lisp file_type_maxima|10 fill_color fill_density filled_func fixed_vertices flipflag float2bf font font_size fortindent fortspaces fpprec fpprintprec functions gamma_expand gammalim gdet genindex gensumnum GGFCFMAX GGFINFINITY globalsolve gnuplot_command gnuplot_curve_styles gnuplot_curve_titles gnuplot_default_term_command gnuplot_dumb_term_command gnuplot_file_args gnuplot_file_name gnuplot_out_file gnuplot_pdf_term_command gnuplot_pm3d gnuplot_png_term_command gnuplot_postamble gnuplot_preamble gnuplot_ps_term_command gnuplot_svg_term_command gnuplot_term gnuplot_view_args Gosper_in_Zeilberger gradefs grid grid2d grind halfangles head_angle head_both head_length head_type height hypergeometric_representation %iargs ibase icc1 icc2 icounter idummyx ieqnprint ifb ifc1 ifc2 ifg ifgi ifr iframe_bracket_form ifri igeowedge_flag ikt1 ikt2 imaginary inchar increasing infeval infinity inflag infolists inm inmc1 inmc2 intanalysis integer integervalued integrate_use_rootsof integration_constant integration_constant_counter interpolate_color intfaclim ip_grid ip_grid_in irrational isolate_wrt_times iterations itr julia_parameter %k1 %k2 keepfloat key key_pos kinvariant kt label label_alignment label_orientation labels lassociative lbfgs_ncorrections lbfgs_nfeval_max leftjust legend letrat let_rule_packages lfg lg lhospitallim limsubst linear linear_solver linechar linel|10 linenum line_type linewidth line_width linsolve_params linsolvewarn lispdisp listarith listconstvars listdummyvars lmxchar load_pathname loadprint logabs logarc logcb logconcoeffp logexpand lognegint logsimp logx logx_secondary logy logy_secondary logz lriem m1pbranch macroexpansion macros mainvar manual_demo maperror mapprint matrix_element_add matrix_element_mult matrix_element_transpose maxapplydepth maxapplyheight maxima_tempdir|10 maxima_userdir|10 maxnegex MAX_ORD maxposex maxpsifracdenom maxpsifracnum maxpsinegint maxpsiposint maxtayorder mesh_lines_color method mod_big_prime mode_check_errorp mode_checkp mode_check_warnp mod_test mod_threshold modular_linear_solver modulus multiplicative multiplicities myoptions nary negdistrib negsumdispflag newline newtonepsilon newtonmaxiter nextlayerfactor niceindicespref nm nmc noeval nolabels nonegative_lp noninteger nonscalar noun noundisp nouns np npi nticks ntrig numer numer_pbranch obase odd oddfun opacity opproperties opsubst optimprefix optionset orientation origin orthopoly_returns_intervals outative outchar packagefile palette partswitch pdf_file pfeformat phiresolution %piargs piece pivot_count_sx pivot_max_sx plot_format plot_options plot_realpart png_file pochhammer_max_index points pointsize point_size points_joined point_type poislim poisson poly_coefficient_ring poly_elimination_order polyfactor poly_grobner_algorithm poly_grobner_debug poly_monomial_order poly_primary_elimination_order poly_return_term_list poly_secondary_elimination_order poly_top_reduction_only posfun position powerdisp pred prederror primep_number_of_tests product_use_gamma program programmode promote_float_to_bigfloat prompt proportional_axes props psexpand ps_file radexpand radius radsubstflag rassociative ratalgdenom ratchristof ratdenomdivide rateinstein ratepsilon ratfac rational ratmx ratprint ratriemann ratsimpexpons ratvarswitch ratweights ratweyl ratwtlvl real realonly redraw refcheck resolution restart resultant ric riem rmxchar %rnum_list rombergabs rombergit rombergmin rombergtol rootsconmode rootsepsilon run_viewer same_xy same_xyz savedef savefactors scalar scalarmatrixp scale scale_lp setcheck setcheckbreak setval show_edge_color show_edges show_edge_type show_edge_width show_id show_label showtime show_vertex_color show_vertex_size show_vertex_type show_vertices show_weight simp simplified_output simplify_products simpproduct simpsum sinnpiflag solvedecomposes solveexplicit solvefactors solvenullwarn solveradcan solvetrigwarn space sparse sphere spring_embedding_depth sqrtdispflag stardisp startphi starttheta stats_numer stringdisp structures style sublis_apply_lambda subnumsimp sumexpand sumsplitfact surface surface_hide svg_file symmetric tab taylordepth taylor_logexpand taylor_order_coefficients taylor_truncate_polynomials tensorkill terminal testsuite_files thetaresolution timer_devalue title tlimswitch tr track transcompile transform transform_xy translate_fast_arrays transparent transrun tr_array_as_ref tr_bound_function_applyp tr_file_tty_messagesp tr_float_can_branch_complex tr_function_call_default trigexpandplus trigexpandtimes triginverses trigsign trivial_solutions tr_numer tr_optimize_max_loop tr_semicompile tr_state_vars tr_warn_bad_function_calls tr_warn_fexpr tr_warn_meval tr_warn_mode tr_warn_undeclared tr_warn_undefined_variable tstep ttyoff tube_extremes ufg ug %unitexpand unit_vectors uric uriem use_fast_arrays user_preamble usersetunits values vect_cross verbose vertex_color vertex_coloring vertex_partition vertex_size vertex_type view warnings weyl width windowname windowtitle wired_surface wireframe xaxis xaxis_color xaxis_secondary xaxis_type xaxis_width xlabel xlabel_secondary xlength xrange xrange_secondary xtics xtics_axis xtics_rotate xtics_rotate_secondary xtics_secondary xtics_secondary_axis xu_grid x_voxel xy_file xyplane xy_scale yaxis yaxis_color yaxis_secondary yaxis_type yaxis_width ylabel ylabel_secondary ylength yrange yrange_secondary ytics ytics_axis ytics_rotate ytics_rotate_secondary ytics_secondary ytics_secondary_axis yv_grid y_voxel yx_ratio zaxis zaxis_color zaxis_type zaxis_width zeroa zerob zerobern zeta%pi zlabel zlabel_rotate zlength zmin zn_primroot_limit zn_primroot_pretest\",i=\"_ __ %|0 %%|0\";return{l:\"[A-Za-z_%][0-9A-Za-z_%]*\",k:{keyword:t,literal:r,built_in:a,symbol:i},c:[{cN:\"comment\",b:\"/\\\\*\",e:\"\\\\*/\",c:[\"self\"]},e.QSM,{cN:\"number\",r:0,v:[{b:\"\\\\b(\\\\d+|\\\\d+\\\\.|\\\\.\\\\d+|\\\\d+\\\\.\\\\d+)[Ee][-+]?\\\\d+\\\\b\"},{b:\"\\\\b(\\\\d+|\\\\d+\\\\.|\\\\.\\\\d+|\\\\d+\\\\.\\\\d+)[Bb][-+]?\\\\d+\\\\b\",r:10},{b:\"\\\\b(\\\\.\\\\d+|\\\\d+\\\\.\\\\d+)\\\\b\"},{b:\"\\\\b(\\\\d+|0[0-9A-Za-z]+)\\\\.?\\\\b\"}]}],i:/@/}}),e.registerLanguage(\"mel\",function(e){return{k:\"int float string vector matrix if else switch case default while do for in break continue global proc return about abs addAttr addAttributeEditorNodeHelp addDynamic addNewShelfTab addPP addPanelCategory addPrefixToName advanceToNextDrivenKey affectedNet affects aimConstraint air alias aliasAttr align alignCtx alignCurve alignSurface allViewFit ambientLight angle angleBetween animCone animCurveEditor animDisplay animView annotate appendStringArray applicationName applyAttrPreset applyTake arcLenDimContext arcLengthDimension arclen arrayMapper art3dPaintCtx artAttrCtx artAttrPaintVertexCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu artFluidAttrCtx artPuttyCtx artSelectCtx artSetPaintCtx artUserPaintCtx assignCommand assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface attrColorSliderGrp attrCompatibility attrControlGrp attrEnumOptionMenu attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attrNavigationControlGrp attrPresetEditWin attributeExists attributeInfo attributeMenu attributeQuery autoKeyframe autoPlace bakeClip bakeFluidShading bakePartialHistory bakeResults bakeSimulation basename basenameEx batchRender bessel bevel bevelPlus binMembership bindSkin blend2 blendShape blendShapeEditor blendShapePanel blendTwoAttr blindDataType boneLattice boundary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu buildKeyframeMenu button buttonManip CBG cacheFile cacheFileCombine cacheFileMerge cacheFileTrack camera cameraView canCreateManip canvas capitalizeString catch catchQuiet ceil changeSubdivComponentDisplayLevel changeSubdivRegion channelBox character characterMap characterOutlineEditor characterize chdir checkBox checkBoxGrp checkDefaultRenderGlobals choice circle circularFillet clamp clear clearCache clip clipEditor clipEditorCurrentTimeCtx clipSchedule clipSchedulerOutliner clipTrimBefore closeCurve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter cmdScrollFieldReporter cmdShell coarsenSubdivSelectionList collision color colorAtPoint colorEditor colorIndex colorIndexSliderGrp colorSliderButtonGrp colorSliderGrp columnLayout commandEcho commandLine commandPort compactHairSystem componentEditor compositingInterop computePolysetVolume condition cone confirmDialog connectAttr connectControl connectDynamic connectJoint connectionInfo constrain constrainValue constructionHistory container containsMultibyte contextInfo control convertFromOldLayers convertIffToPsd convertLightmap convertSolidTx convertTessellation convertUnit copyArray copyFlexor copyKey copySkinWeights cos cpButton cpCache cpClothSet cpCollision cpConstraint cpConvClothToMesh cpForces cpGetSolverAttr cpPanel cpProperty cpRigidCollisionFilter cpSeam cpSetEdit cpSetSolverAttr cpSolver cpSolverTypes cpTool cpUpdateClothUVs createDisplayLayer createDrawCtx createEditor createLayeredPsdFile createMotionField createNewShelf createNode createRenderLayer createSubdivRegion cross crossProduct ctxAbort ctxCompletion ctxEditMode ctxTraverse currentCtx currentTime currentTimeCtx currentUnit curve curveAddPtCtx curveCVCtx curveEPCtx curveEditorCtx curveIntersect curveMoveEPCtx curveOnSurface curveSketchCtx cutKey cycleCheck cylinder dagPose date defaultLightListCheckBox defaultNavigation defineDataServer defineVirtualDevice deformer deg_to_rad delete deleteAttr deleteShadingGroupsAndMaterials deleteShelfTab deleteUI deleteUnusedBrushes delrandstr detachCurve detachDeviceAttr detachSurface deviceEditor devicePanel dgInfo dgdirty dgeval dgtimer dimWhen directKeyCtx directionalLight dirmap dirname disable disconnectAttr disconnectJoint diskCache displacementToPoly displayAffected displayColor displayCull displayLevelOfDetail displayPref displayRGBColor displaySmoothness displayStats displayString displaySurface distanceDimContext distanceDimension doBlur dolly dollyCtx dopeSheetEditor dot dotProduct doubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator duplicate duplicateCurve duplicateSurface dynCache dynControl dynExport dynExpression dynGlobals dynPaintEditor dynParticleCtx dynPref dynRelEdPanel dynRelEditor dynamicLoad editAttrLimits editDisplayLayerGlobals editDisplayLayerMembers editRenderLayerAdjustment editRenderLayerGlobals editRenderLayerMembers editor editorTemplate effector emit emitter enableDevice encodeString endString endsWith env equivalent equivalentTol erf error eval evalDeferred evalEcho event exactWorldBoundingBox exclusiveLightCheckBox exec executeForEachObject exists exp expression expressionEditorListen extendCurve extendSurface extrude fcheck fclose feof fflush fgetline fgetword file fileBrowserDialog fileDialog fileExtension fileInfo filetest filletCurve filter filterCurve filterExpand filterStudioImport findAllIntersections findAnimCurves findKeyframe findMenuItem findRelatedSkinCluster finder firstParentOf fitBspline flexor floatEq floatField floatFieldGrp floatScrollBar floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow fluidCacheInfo fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen formLayout format fprint frameLayout fread freeFormFillet frewind fromNativePath fwrite gamma gauss geometryConstraint getApplicationVersionAsFloat getAttr getClassification getDefaultBrush getFileList getFluidAttr getInputDeviceRange getMayaPanelTypes getModifiers getPanel getParticleAttr getPluginResource getenv getpid glRender glRenderEditor globalStitch gmatch goal gotoBindPose grabColor gradientControl gradientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity grid gridLayout group groupObjectsByName HfAddAttractorToAS HfAssignAS HfBuildEqualMap HfBuildFurFiles HfBuildFurImages HfCancelAFR HfConnectASToHF HfCreateAttractor HfDeleteAS HfEditAS HfPerformCreateAS HfRemoveAttractorFromAS HfSelectAttached HfSelectAttractors HfUnAssignAS hardenPointCurve hardware hardwareRenderPanel headsUpDisplay headsUpMessage help helpLine hermite hide hilite hitTest hotBox hotkey hotkeyCheck hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton iconTextCheckBox iconTextRadioButton iconTextRadioCollection iconTextScrollList iconTextStaticLabel ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandleCtx ikSystem ikSystemInfo ikfkDisplayMethod illustratorCurves image imfPlugins inheritTransform insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertKnotSurface instance instanceable instancer intField intFieldGrp intScrollBar intSlider intSliderGrp interToUI internalVar intersect iprEngine isAnimCurve isConnected isDirty isParentOf isSameObject isTrue isValidObjectName isValidString isValidUiName isolateSelect itemFilter itemFilterAttr itemFilterRender itemFilterType joint jointCluster jointCtx jointDisplayScale jointLattice keyTangent keyframe keyframeOutliner keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyframeRegionDollyCtx keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRegionScaleKeyCtx keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegionTrackCtx keyframeStats lassoContext lattice latticeDeformKeyCtx launch launchImageEditor layerButton layeredShaderPort layeredTexturePort layout layoutDialog lightList lightListEditor lightListPanel lightlink lineIntersection linearPrecision linstep listAnimatable listAttr listCameras listConnections listDeviceAttachments listHistory listInputDeviceAxes listInputDeviceButtons listInputDevices listMenuAnnotation listNodeTypes listPanelCategories listRelatives listSets listTransforms listUnselected listerEditor loadFluid loadNewShelf loadPlugin loadPluginLanguageResources loadPrefObjects localizedPanelLabel lockNode loft log longNameOf lookThru ls lsThroughFilter lsType lsUI Mayatomr mag makeIdentity makeLive makePaintable makeRoll makeSingleSurface makeTubeOn makebot manipMoveContext manipMoveLimitsCtx manipOptions manipRotateContext manipRotateLimitsCtx manipScaleContext manipScaleLimitsCtx marker match max memory menu menuBarLayout menuEditor menuItem menuItemToShelf menuSet menuSetPref messageLine min minimizeApp mirrorJoint modelCurrentTimeCtx modelEditor modelPanel mouse movIn movOut move moveIKtoFK moveKeyCtx moveVertexAlongDirection multiProfileBirailSurface mute nParticle nameCommand nameField namespace namespaceInfo newPanelItems newton nodeCast nodeIconButton nodeOutliner nodePreset nodeType noise nonLinear normalConstraint normalize nurbsBoolean nurbsCopyUVSet nurbsCube nurbsEditUV nurbsPlane nurbsSelect nurbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref nurbsUVSet nurbsViewDirectionVector objExists objectCenter objectLayer objectType objectTypeUI obsoleteProc oceanNurbsPreviewPlane offsetCurve offsetCurveOnSurface offsetSurface openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orbit orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier paintEffectsDisplay pairBlend palettePort paneLayout panel panelConfiguration panelHistory paramDimContext paramDimension paramLocator parent parentConstraint particle particleExists particleInstancer particleRenderInfo partition pasteKey pathAnimation pause pclose percent performanceOptions pfxstrokes pickWalk picture pixelMove planarSrf plane play playbackOptions playblast plugAttr plugNode pluginInfo pluginResourceUtil pointConstraint pointCurveConstraint pointLight pointMatrixMult pointOnCurve pointOnSurface pointPosition poleVectorConstraint polyAppend polyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal polyAverageVertex polyBevel polyBlendColor polyBlindData polyBoolOp polyBridgeEdge polyCacheMonitor polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge polyCollapseFacet polyColorBlindData polyColorDel polyColorPerVertex polyColorSet polyCompare polyCone polyCopyUV polyCrease polyCreaseCtx polyCreateFacet polyCreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjection polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEdge polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet polyExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix polyInfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut polyMapDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet polyMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge polyMoveFacet polyMoveFacetUV polyMoveUV polyMoveVertex polyNormal polyNormalPerVertex polyNormalizeUV polyOptUvs polyOptions polyOutput polyPipe polyPlanarProjection polyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjection polyPyramid polyQuad polyQueryBlindData polyReduce polySelect polySelectConstraint polySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate polySetToFaceNormal polySewEdge polyShortestPathCtx polySmooth polySoftEdge polySphere polySphericalProjection polySplit polySplitCtx polySplitEdge polySplitRing polySplitVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet polyToSubdiv polyTorus polyTransfer polyTriangulate polyUVSet polyUnite polyWedgeFace popen popupMenu pose pow preloadRefEd print progressBar progressWindow projFileViewer projectCurve projectTangent projectionContext projectionManip promptDialog propModCtx propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile putenv pwd python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp radioCollection radioMenuItemCollection rampColorPort rand randomizeFollicles randstate rangeControl readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference referenceEdit referenceQuery refineSubdivSelectionList refresh refreshAE registerPluginResource rehash reloadImage removeJoint removeMultiInstance removePanelCategory rename renameAttr renameSelectionList renameUI render renderGlobalsNode renderInfo renderLayerButton renderLayerParent renderLayerPostProcess renderLayerUnparent renderManip renderPartition renderQualityNode renderSettings renderThumbnailUpdate renderWindowEditor renderWindowSelectContext renderer reorder reorderDeformers requires reroot resampleFluid resetAE resetPfxToPolyCamera resetTool resolutionNode retarget reverseCurve reverseSurface revolve rgb_to_hsv rigidBody rigidSolver roll rollCtx rootOf rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout runTimeCommand runup sampleImage saveAllShelves saveAttrPreset saveFluid saveImage saveInitialState saveMenu savePrefObjects savePrefs saveShelf saveToolSettings scale scaleBrushBrightness scaleComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptJob scriptNode scriptTable scriptToShelf scriptedPanel scriptedPanelType scrollField scrollLayout sculpt searchPathArray seed selLoadSettings select selectContext selectCurveCV selectKey selectKeyCtx selectKeyframeRegionCtx selectMode selectPref selectPriority selectType selectedNodes selectionConnection separator setAttr setAttrEnumResource setAttrMapping setAttrNiceNameResource setConstraintRestPosition setDefaultShadingGroup setDrivenKeyframe setDynamic setEditCtx setEditor setFluidAttr setFocus setInfinity setInputDeviceMapping setKeyCtx setKeyPath setKeyframe setKeyframeBlendshapeTargetWts setMenuMode setNodeNiceNameResource setNodeTypeFlag setParent setParticleAttr setPfxToPolyCamera setPluginResource setProject setStampDensity setStartupMessage setState setToolTo setUITemplate setXformManip sets shadingConnection shadingGeometryRelCtx shadingLightRelCtx shadingNetworkCompare shadingNode shapeCompare shelfButton shelfLayout shelfTabLayout shellField shortNameOf showHelp showHidden showManipCtx showSelectionInTitle showShadingGroupAttrEditor showWindow sign simplify sin singleProfileBirailSurface size sizeBytes skinCluster skinPercent smoothCurve smoothTangentSurface smoothstep snap2to2 snapKey snapMode snapTogetherCtx snapshot soft softMod softModCtx sort sound soundControl source spaceLocator sphere sphrand spotLight spotLightPreviewPort spreadSheetEditor spring sqrt squareSurface srtContext stackTrace startString startsWith stitchAndExplodeShell stitchSurface stitchSurfacePoints strcmp stringArrayCatenate stringArrayContains stringArrayCount stringArrayInsertAtIndex stringArrayIntersector stringArrayRemove stringArrayRemoveAtIndex stringArrayRemoveDuplicates stringArrayRemoveExact stringArrayToString stringToStringArray strip stripPrefixFromName stroke subdAutoProjection subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV subdListComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror subdToBlind subdToPoly subdTransferUVsToCache subdiv subdivCrease subdivDisplaySmoothness substitute substituteAllString substituteGeometry substring surface surfaceSampler surfaceShaderList swatchDisplayPort switchTable symbolButton symbolCheckBox sysFile system tabLayout tan tangentConstraint texLatticeDeformContext texManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleContext texSelectContext texSelectShortestPathCtx texSmudgeUVContext texWinToolCtx text textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList textToShelf textureDisplacePlane textureHairColor texturePlacementContext textureWindow threadCount threePointArcCtx timeControl timePort timerX toNativePath toggle toggleAxis toggleWindowVisibility tokenize tokenizeList tolerance tolower toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus toupper trace track trackCtx transferAttributes transformCompare transformLimits translator trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbulence twoPointArcCtx uiRes uiTemplate unassignInputDevice undo undoInfo ungroup uniform unit unloadPlugin untangleUV untitledFileName untrim upAxis updateAE userCtx uvLink uvSnapshot validateShelfName vectorize view2dToolCtx viewCamera viewClipPlane viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor volumeAxis vortex waitCursor warning webBrowser webBrowserPrefs whatIs window windowPref wire wireContext workspace wrinkle wrinkleContext writeTake xbmLangPathList xform\",\ni:\"</\",c:[e.CNM,e.ASM,e.QSM,{cN:\"string\",b:\"`\",e:\"`\",c:[e.BE]},{b:\"[\\\\$\\\\%\\\\@](\\\\^\\\\w\\\\b|#\\\\w+|[^\\\\s\\\\w{]|{\\\\w+}|\\\\w+)\"},e.CLCM,e.CBCM]}}),e.registerLanguage(\"mercury\",function(e){var t={keyword:\"module use_module import_module include_module end_module initialise mutable initialize finalize finalise interface implementation pred mode func type inst solver any_pred any_func is semidet det nondet multi erroneous failure cc_nondet cc_multi typeclass instance where pragma promise external trace atomic or_else require_complete_switch require_det require_semidet require_multi require_nondet require_cc_multi require_cc_nondet require_erroneous require_failure\",meta:\"inline no_inline type_spec source_file fact_table obsolete memo loop_check minimal_model terminates does_not_terminate check_termination promise_equivalent_clauses foreign_proc foreign_decl foreign_code foreign_type foreign_import_module foreign_export_enum foreign_export foreign_enum may_call_mercury will_not_call_mercury thread_safe not_thread_safe maybe_thread_safe promise_pure promise_semipure tabled_for_io local untrailed trailed attach_to_io_state can_pass_as_mercury_type stable will_not_throw_exception may_modify_trail will_not_modify_trail may_duplicate may_not_duplicate affects_liveness does_not_affect_liveness doesnt_affect_liveness no_sharing unknown_sharing sharing\",built_in:\"some all not if then else true fail false try catch catch_any semidet_true semidet_false semidet_fail impure_true impure semipure\"},r=e.C(\"%\",\"$\"),a={cN:\"number\",b:\"0'.\\\\|0[box][0-9a-fA-F]*\"},i=e.inherit(e.ASM,{r:0}),n=e.inherit(e.QSM,{r:0}),o={cN:\"subst\",b:\"\\\\\\\\[abfnrtv]\\\\|\\\\\\\\x[0-9a-fA-F]*\\\\\\\\\\\\|%[-+# *.0-9]*[dioxXucsfeEgGp]\",r:0};n.c.push(o);var s={cN:\"built_in\",v:[{b:\"<=>\"},{b:\"<=\",r:0},{b:\"=>\",r:0},{b:\"/\\\\\\\\\"},{b:\"\\\\\\\\/\"}]},l={cN:\"built_in\",v:[{b:\":-\\\\|-->\"},{b:\"=\",r:0}]};return{aliases:[\"m\",\"moo\"],k:t,c:[s,l,r,e.CBCM,a,e.NM,i,n,{b:/:-/}]}}),e.registerLanguage(\"mipsasm\",function(e){return{cI:!0,aliases:[\"mips\"],l:\"\\\\.?\"+e.IR,k:{meta:\".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .ltorg \",built_in:\"$0 $1 $2 $3 $4 $5 $6 $7 $8 $9 $10 $11 $12 $13 $14 $15 $16 $17 $18 $19 $20 $21 $22 $23 $24 $25 $26 $27 $28 $29 $30 $31 zero at v0 v1 a0 a1 a2 a3 a4 a5 a6 a7 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 s0 s1 s2 s3 s4 s5 s6 s7 s8 k0 k1 gp sp fp ra $f0 $f1 $f2 $f2 $f4 $f5 $f6 $f7 $f8 $f9 $f10 $f11 $f12 $f13 $f14 $f15 $f16 $f17 $f18 $f19 $f20 $f21 $f22 $f23 $f24 $f25 $f26 $f27 $f28 $f29 $f30 $f31 Context Random EntryLo0 EntryLo1 Context PageMask Wired EntryHi HWREna BadVAddr Count Compare SR IntCtl SRSCtl SRSMap Cause EPC PRId EBase Config Config1 Config2 Config3 LLAddr Debug DEPC DESAVE CacheErr ECC ErrorEPC TagLo DataLo TagHi DataHi WatchLo WatchHi PerfCtl PerfCnt \"},c:[{cN:\"keyword\",b:\"\\\\b(addi?u?|andi?|b(al)?|beql?|bgez(al)?l?|bgtzl?|blezl?|bltz(al)?l?|bnel?|cl[oz]|divu?|ext|ins|j(al)?|jalr(.hb)?|jr(.hb)?|lbu?|lhu?|ll|lui|lw[lr]?|maddu?|mfhi|mflo|movn|movz|move|msubu?|mthi|mtlo|mul|multu?|nop|nor|ori?|rotrv?|sb|sc|se[bh]|sh|sllv?|slti?u?|srav?|srlv?|subu?|sw[lr]?|xori?|wsbh|abs.[sd]|add.[sd]|alnv.ps|bc1[ft]l?|c.(s?f|un|u?eq|[ou]lt|[ou]le|ngle?|seq|l[et]|ng[et]).[sd]|(ceil|floor|round|trunc).[lw].[sd]|cfc1|cvt.d.[lsw]|cvt.l.[dsw]|cvt.ps.s|cvt.s.[dlw]|cvt.s.p[lu]|cvt.w.[dls]|div.[ds]|ldx?c1|luxc1|lwx?c1|madd.[sd]|mfc1|mov[fntz]?.[ds]|msub.[sd]|mth?c1|mul.[ds]|neg.[ds]|nmadd.[ds]|nmsub.[ds]|p[lu][lu].ps|recip.fmt|r?sqrt.[ds]|sdx?c1|sub.[ds]|suxc1|swx?c1|break|cache|d?eret|[de]i|ehb|mfc0|mtc0|pause|prefx?|rdhwr|rdpgpr|sdbbp|ssnop|synci?|syscall|teqi?|tgei?u?|tlb(p|r|w[ir])|tlti?u?|tnei?|wait|wrpgpr)\",e:\"\\\\s\"},e.C(\"[;#]\",\"$\"),e.CBCM,e.QSM,{cN:\"string\",b:\"'\",e:\"[^\\\\\\\\]'\",r:0},{cN:\"title\",b:\"\\\\|\",e:\"\\\\|\",i:\"\\\\n\",r:0},{cN:\"number\",v:[{b:\"0x[0-9a-f]+\"},{b:\"\\\\b-?\\\\d+\"}],r:0},{cN:\"symbol\",v:[{b:\"^\\\\s*[a-z_\\\\.\\\\$][a-z0-9_\\\\.\\\\$]+:\"},{b:\"^\\\\s*[0-9]+:\"},{b:\"[0-9]+[bf]\"}],r:0}],i:\"/\"}}),e.registerLanguage(\"mizar\",function(e){return{k:\"environ vocabularies notations constructors definitions registrations theorems schemes requirements begin end definition registration cluster existence pred func defpred deffunc theorem proof let take assume then thus hence ex for st holds consider reconsider such that and in provided of as from be being by means equals implies iff redefine define now not or attr is mode suppose per cases set thesis contradiction scheme reserve struct correctness compatibility coherence symmetry assymetry reflexivity irreflexivity connectedness uniqueness commutativity idempotence involutiveness projectivity\",c:[e.C(\"::\",\"$\")]}}),e.registerLanguage(\"perl\",function(e){var t=\"getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when\",r={cN:\"subst\",b:\"[$@]\\\\{\",e:\"\\\\}\",k:t},a={b:\"->{\",e:\"}\"},i={v:[{b:/\\$\\d/},{b:/[\\$%@](\\^\\w\\b|#\\w+(::\\w+)*|{\\w+}|\\w+(::\\w*)*)/},{b:/[\\$%@][^\\s\\w{]/,r:0}]},n=[e.BE,r,i],o=[i,e.HCM,e.C(\"^\\\\=\\\\w\",\"\\\\=cut\",{eW:!0}),a,{cN:\"string\",c:n,v:[{b:\"q[qwxr]?\\\\s*\\\\(\",e:\"\\\\)\",r:5},{b:\"q[qwxr]?\\\\s*\\\\[\",e:\"\\\\]\",r:5},{b:\"q[qwxr]?\\\\s*\\\\{\",e:\"\\\\}\",r:5},{b:\"q[qwxr]?\\\\s*\\\\|\",e:\"\\\\|\",r:5},{b:\"q[qwxr]?\\\\s*\\\\<\",e:\"\\\\>\",r:5},{b:\"qw\\\\s+q\",e:\"q\",r:5},{b:\"'\",e:\"'\",c:[e.BE]},{b:'\"',e:'\"'},{b:\"`\",e:\"`\",c:[e.BE]},{b:\"{\\\\w+}\",c:[],r:0},{b:\"-?\\\\w+\\\\s*\\\\=\\\\>\",c:[],r:0}]},{cN:\"number\",b:\"(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b\",r:0},{b:\"(\\\\/\\\\/|\"+e.RSR+\"|\\\\b(split|return|print|reverse|grep)\\\\b)\\\\s*\",k:\"split return print reverse grep\",r:0,c:[e.HCM,{cN:\"regexp\",b:\"(s|tr|y)/(\\\\\\\\.|[^/])*/(\\\\\\\\.|[^/])*/[a-z]*\",r:10},{cN:\"regexp\",b:\"(m|qr)?/\",e:\"/[a-z]*\",c:[e.BE],r:0}]},{cN:\"function\",bK:\"sub\",e:\"(\\\\s*\\\\(.*?\\\\))?[;{]\",eE:!0,r:5,c:[e.TM]},{b:\"-\\\\w\\\\b\",r:0},{b:\"^__DATA__$\",e:\"^__END__$\",sL:\"mojolicious\",c:[{b:\"^@@.*\",e:\"$\",cN:\"comment\"}]}];return r.c=o,a.c=o,{aliases:[\"pl\",\"pm\"],l:/[\\w\\.]+/,k:t,c:o}}),e.registerLanguage(\"mojolicious\",function(e){return{sL:\"xml\",c:[{cN:\"meta\",b:\"^__(END|DATA)__$\"},{b:\"^\\\\s*%{1,2}={0,2}\",e:\"$\",sL:\"perl\"},{b:\"<%{1,2}={0,2}\",e:\"={0,1}%>\",sL:\"perl\",eB:!0,eE:!0}]}}),e.registerLanguage(\"monkey\",function(e){var t={cN:\"number\",r:0,v:[{b:\"[$][a-fA-F0-9]+\"},e.NM]};return{cI:!0,k:{keyword:\"public private property continue exit extern new try catch eachin not abstract final select case default const local global field end if then else elseif endif while wend repeat until forever for to step next return module inline throw import\",built_in:\"DebugLog DebugStop Error Print ACos ACosr ASin ASinr ATan ATan2 ATan2r ATanr Abs Abs Ceil Clamp Clamp Cos Cosr Exp Floor Log Max Max Min Min Pow Sgn Sgn Sin Sinr Sqrt Tan Tanr Seed PI HALFPI TWOPI\",literal:\"true false null and or shl shr mod\"},i:/\\/\\*/,c:[e.C(\"#rem\",\"#end\"),e.C(\"'\",\"$\",{r:0}),{cN:\"function\",bK:\"function method\",e:\"[(=:]|$\",i:/\\n/,c:[e.UTM]},{cN:\"class\",bK:\"class interface\",e:\"$\",c:[{bK:\"extends implements\"},e.UTM]},{cN:\"built_in\",b:\"\\\\b(self|super)\\\\b\"},{cN:\"meta\",b:\"\\\\s*#\",e:\"$\",k:{\"meta-keyword\":\"if else elseif endif end then\"}},{cN:\"meta\",b:\"^\\\\s*strict\\\\b\"},{bK:\"alias\",e:\"=\",c:[e.UTM]},e.QSM,t]}}),e.registerLanguage(\"moonscript\",function(e){var t={keyword:\"if then not for in while do return else elseif break continue switch and or unless when class extends super local import export from using\",literal:\"true false nil\",built_in:\"_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug io math os package string table\"},r=\"[A-Za-z$_][0-9A-Za-z$_]*\",a={cN:\"subst\",b:/#\\{/,e:/}/,k:t},i=[e.inherit(e.CNM,{starts:{e:\"(\\\\s*/)?\",r:0}}),{cN:\"string\",v:[{b:/'/,e:/'/,c:[e.BE]},{b:/\"/,e:/\"/,c:[e.BE,a]}]},{cN:\"built_in\",b:\"@__\"+e.IR},{b:\"@\"+e.IR},{b:e.IR+\"\\\\\\\\\"+e.IR}];a.c=i;var n=e.inherit(e.TM,{b:r}),o=\"(\\\\(.*\\\\))?\\\\s*\\\\B[-=]>\",s={cN:\"params\",b:\"\\\\([^\\\\(]\",rB:!0,c:[{b:/\\(/,e:/\\)/,k:t,c:[\"self\"].concat(i)}]};return{aliases:[\"moon\"],k:t,i:/\\/\\*/,c:i.concat([e.C(\"--\",\"$\"),{cN:\"function\",b:\"^\\\\s*\"+r+\"\\\\s*=\\\\s*\"+o,e:\"[-=]>\",rB:!0,c:[n,s]},{b:/[\\(,:=]\\s*/,r:0,c:[{cN:\"function\",b:o,e:\"[-=]>\",rB:!0,c:[s]}]},{cN:\"class\",bK:\"class\",e:\"$\",i:/[:=\"\\[\\]]/,c:[{bK:\"extends\",eW:!0,i:/[:=\"\\[\\]]/,c:[n]},n]},{cN:\"name\",b:r+\":\",e:\":\",rB:!0,rE:!0,r:0}])}}),e.registerLanguage(\"n1ql\",function(e){return{cI:!0,c:[{bK:\"build create index delete drop explain infer|10 insert merge prepare select update upsert|10\",e:/;/,eW:!0,k:{keyword:\"all alter analyze and any array as asc begin between binary boolean break bucket build by call case cast cluster collate collection commit connect continue correlate cover create database dataset datastore declare decrement delete derived desc describe distinct do drop each element else end every except exclude execute exists explain fetch first flatten for force from function grant group gsi having if ignore ilike in include increment index infer inline inner insert intersect into is join key keys keyspace known last left let letting like limit lsm map mapping matched materialized merge minus namespace nest not number object offset on option or order outer over parse partition password path pool prepare primary private privilege procedure public raw realm reduce rename return returning revoke right role rollback satisfies schema select self semi set show some start statistics string system then to transaction trigger truncate under union unique unknown unnest unset update upsert use user using validate value valued values via view when where while with within work xor\",literal:\"true false null missing|5\",built_in:\"array_agg array_append array_concat array_contains array_count array_distinct array_ifnull array_length array_max array_min array_position array_prepend array_put array_range array_remove array_repeat array_replace array_reverse array_sort array_sum avg count max min sum greatest least ifmissing ifmissingornull ifnull missingif nullif ifinf ifnan ifnanorinf naninf neginfif posinfif clock_millis clock_str date_add_millis date_add_str date_diff_millis date_diff_str date_part_millis date_part_str date_trunc_millis date_trunc_str duration_to_str millis str_to_millis millis_to_str millis_to_utc millis_to_zone_name now_millis now_str str_to_duration str_to_utc str_to_zone_name decode_json encode_json encoded_size poly_length base64 base64_encode base64_decode meta uuid abs acos asin atan atan2 ceil cos degrees e exp ln log floor pi power radians random round sign sin sqrt tan trunc object_length object_names object_pairs object_inner_pairs object_values object_inner_values object_add object_put object_remove object_unwrap regexp_contains regexp_like regexp_position regexp_replace contains initcap length lower ltrim position repeat replace rtrim split substr title trim upper isarray isatom isboolean isnumber isobject isstring type toarray toatom toboolean tonumber toobject tostring\"},c:[{cN:\"string\",b:\"'\",e:\"'\",c:[e.BE],r:0},{cN:\"string\",b:'\"',e:'\"',c:[e.BE],r:0},{cN:\"symbol\",b:\"`\",e:\"`\",c:[e.BE],r:2},e.CNM,e.CBCM]},e.CBCM]}}),e.registerLanguage(\"nginx\",function(e){var t={cN:\"variable\",v:[{b:/\\$\\d+/},{b:/\\$\\{/,e:/}/},{b:\"[\\\\$\\\\@]\"+e.UIR}]},r={eW:!0,l:\"[a-z/_]+\",k:{literal:\"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll\"},r:0,i:\"=>\",c:[e.HCM,{cN:\"string\",c:[e.BE,t],v:[{b:/\"/,e:/\"/},{b:/'/,e:/'/}]},{b:\"([a-z]+):/\",e:\"\\\\s\",eW:!0,eE:!0,c:[t]},{cN:\"regexp\",c:[e.BE,t],v:[{b:\"\\\\s\\\\^\",e:\"\\\\s|{|;\",rE:!0},{b:\"~\\\\*?\\\\s+\",e:\"\\\\s|{|;\",rE:!0},{b:\"\\\\*(\\\\.[a-z\\\\-]+)+\"},{b:\"([a-z\\\\-]+\\\\.)+\\\\*\"}]},{cN:\"number\",b:\"\\\\b\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}(:\\\\d{1,5})?\\\\b\"},{cN:\"number\",b:\"\\\\b\\\\d+[kKmMgGdshdwy]*\\\\b\",r:0},t]};return{aliases:[\"nginxconf\"],c:[e.HCM,{b:e.UIR+\"\\\\s+{\",rB:!0,e:\"{\",c:[{cN:\"section\",b:e.UIR}],r:0},{b:e.UIR+\"\\\\s\",e:\";|{\",rB:!0,c:[{cN:\"attribute\",b:e.UIR,starts:r}],r:0}],i:\"[^\\\\s\\\\}]\"}}),e.registerLanguage(\"nimrod\",function(e){return{aliases:[\"nim\"],k:{keyword:\"addr and as asm bind block break case cast const continue converter discard distinct div do elif else end enum except export finally for from generic if import in include interface is isnot iterator let macro method mixin mod nil not notin object of or out proc ptr raise ref return shl shr static template try tuple type using var when while with without xor yield\",literal:\"shared guarded stdin stdout stderr result true false\",built_in:\"int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float float32 float64 bool char string cstring pointer expr stmt void auto any range array openarray varargs seq set clong culong cchar cschar cshort cint csize clonglong cfloat cdouble clongdouble cuchar cushort cuint culonglong cstringarray semistatic\"},c:[{cN:\"meta\",b:/{\\./,e:/\\.}/,r:10},{cN:\"string\",b:/[a-zA-Z]\\w*\"/,e:/\"/,c:[{b:/\"\"/}]},{cN:\"string\",b:/([a-zA-Z]\\w*)?\"\"\"/,e:/\"\"\"/},e.QSM,{cN:\"type\",b:/\\b[A-Z]\\w+\\b/,r:0},{cN:\"number\",r:0,v:[{b:/\\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/},{b:/\\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/},{b:/\\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/},{b:/\\b(\\d[_\\d]*)('?[iIuUfF](8|16|32|64))?/}]},e.HCM]}}),e.registerLanguage(\"nix\",function(e){var t={keyword:\"rec with let in inherit assert if else then\",literal:\"true false or and null\",built_in:\"import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation\"},r={cN:\"subst\",b:/\\$\\{/,e:/}/,k:t},a={b:/[a-zA-Z0-9-_]+(\\s*=)/,rB:!0,r:0,c:[{cN:\"attr\",b:/\\S+/}]},i={cN:\"string\",c:[r],v:[{b:\"''\",e:\"''\"},{b:'\"',e:'\"'}]},n=[e.NM,e.HCM,e.CBCM,i,a];return r.c=n,{aliases:[\"nixos\"],k:t,c:n}}),e.registerLanguage(\"nsis\",function(e){var t={cN:\"variable\",b:/\\$(ADMINTOOLS|APPDATA|CDBURN_AREA|CMDLINE|COMMONFILES32|COMMONFILES64|COMMONFILES|COOKIES|DESKTOP|DOCUMENTS|EXEDIR|EXEFILE|EXEPATH|FAVORITES|FONTS|HISTORY|HWNDPARENT|INSTDIR|INTERNET_CACHE|LANGUAGE|LOCALAPPDATA|MUSIC|NETHOOD|OUTDIR|PICTURES|PLUGINSDIR|PRINTHOOD|PROFILE|PROGRAMFILES32|PROGRAMFILES64|PROGRAMFILES|QUICKLAUNCH|RECENT|RESOURCES_LOCALIZED|RESOURCES|SENDTO|SMPROGRAMS|SMSTARTUP|STARTMENU|SYSDIR|TEMP|TEMPLATES|VIDEOS|WINDIR)/},r={cN:\"variable\",b:/\\$+{[\\w\\.:-]+}/},a={cN:\"variable\",b:/\\$+\\w+/,i:/\\(\\){}/},i={cN:\"variable\",b:/\\$+\\([\\w\\^\\.:-]+\\)/},n={cN:\"params\",b:\"(ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HKCR|HKCU|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM|HKPD|HKU|IDABORT|IDCANCEL|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)\"},o={cN:\"keyword\",b:/\\!(addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversionsystem|ifdef|ifmacrodef|ifmacrondef|ifndef|if|include|insertmacro|macroend|macro|makensis|packhdr|searchparse|searchreplace|tempfile|undef|verbose|warning)/},s={cN:\"subst\",b:/\\$(\\\\[nrt]|\\$)/},l={cN:\"class\",b:/\\w+\\:\\:\\w+/},c={cN:\"string\",v:[{b:'\"',e:'\"'},{b:\"'\",e:\"'\"},{b:\"`\",e:\"`\"}],i:/\\n/,c:[s,t,r,a,i]};return{cI:!1,k:{keyword:\"Abort AddBrandingImage AddSize AllowRootDirInstall AllowSkipFiles AutoCloseWindow BGFont BGGradient BrandingText BringToFront Call CallInstDLL Caption ChangeUI CheckBitmap ClearErrors CompletedText ComponentText CopyFiles CRCCheck CreateDirectory CreateFont CreateShortCut Delete DeleteINISec DeleteINIStr DeleteRegKey DeleteRegValue DetailPrint DetailsButtonText DirText DirVar DirVerify EnableWindow EnumRegKey EnumRegValue Exch Exec ExecShell ExecWait ExpandEnvStrings File FileBufSize FileClose FileErrorText FileOpen FileRead FileReadByte FileReadUTF16LE FileReadWord FileSeek FileWrite FileWriteByte FileWriteUTF16LE FileWriteWord FindClose FindFirst FindNext FindWindow FlushINI FunctionEnd GetCurInstType GetCurrentAddress GetDlgItem GetDLLVersion GetDLLVersionLocal GetErrorLevel GetFileTime GetFileTimeLocal GetFullPathName GetFunctionAddress GetInstDirError GetLabelAddress GetTempFileName Goto HideWindow Icon IfAbort IfErrors IfFileExists IfRebootFlag IfSilent InitPluginsDir InstallButtonText InstallColors InstallDir InstallDirRegKey InstProgressFlags InstType InstTypeGetText InstTypeSetText IntCmp IntCmpU IntFmt IntOp IsWindow LangString LicenseBkColor LicenseData LicenseForceSelection LicenseLangString LicenseText LoadLanguageFile LockWindow LogSet LogText ManifestDPIAware ManifestSupportedOS MessageBox MiscButtonText Name Nop OutFile Page PageCallbacks PageExEnd Pop Push Quit ReadEnvStr ReadINIStr ReadRegDWORD ReadRegStr Reboot RegDLL Rename RequestExecutionLevel ReserveFile Return RMDir SearchPath SectionEnd SectionGetFlags SectionGetInstTypes SectionGetSize SectionGetText SectionGroupEnd SectionIn SectionSetFlags SectionSetInstTypes SectionSetSize SectionSetText SendMessage SetAutoClose SetBrandingImage SetCompress SetCompressor SetCompressorDictSize SetCtlColors SetCurInstType SetDatablockOptimize SetDateSave SetDetailsPrint SetDetailsView SetErrorLevel SetErrors SetFileAttributes SetFont SetOutPath SetOverwrite SetRebootFlag SetRegView SetShellVarContext SetSilent ShowInstDetails ShowUninstDetails ShowWindow SilentInstall SilentUnInstall Sleep SpaceTexts StrCmp StrCmpS StrCpy StrLen SubCaption Unicode UninstallButtonText UninstallCaption UninstallIcon UninstallSubCaption UninstallText UninstPage UnRegDLL Var VIAddVersionKey VIFileVersion VIProductVersion WindowIcon WriteINIStr WriteRegBin WriteRegDWORD WriteRegExpandStr WriteRegStr WriteUninstaller XPStyle\",literal:\"admin all auto both bottom bzip2 colored components current custom directory false force hide highest ifdiff ifnewer instfiles lastused leave left license listonly lzma nevershow none normal notset off on open print right show silent silentlog smooth textonly top true try un.components un.custom un.directory un.instfiles un.license uninstConfirm user Win10 Win7 Win8 WinVista zlib\"},c:[e.HCM,e.CBCM,e.C(\";\",\"$\",{r:0}),{cN:\"function\",bK:\"Function PageEx Section SectionGroup\",e:\"$\"},c,o,r,a,i,n,l,e.NM]}}),e.registerLanguage(\"objectivec\",function(e){var t={cN:\"built_in\",b:\"\\\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\\\w+\"},r={keyword:\"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN\",literal:\"false true FALSE TRUE nil YES NO NULL\",built_in:\"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once\"},a=/[a-zA-Z@][a-zA-Z0-9_]*/,i=\"@interface @class @protocol @implementation\";return{aliases:[\"mm\",\"objc\",\"obj-c\"],k:r,l:a,i:\"</\",c:[t,e.CLCM,e.CBCM,e.CNM,e.QSM,{cN:\"string\",v:[{b:'@\"',e:'\"',i:\"\\\\n\",c:[e.BE]},{b:\"'\",e:\"[^\\\\\\\\]'\",i:\"[^\\\\\\\\][^']\"}]},{cN:\"meta\",b:\"#\",e:\"$\",c:[{cN:\"meta-string\",v:[{b:'\"',e:'\"'},{b:\"<\",e:\">\"}]}]},{cN:\"class\",b:\"(\"+i.split(\" \").join(\"|\")+\")\\\\b\",e:\"({|$)\",eE:!0,k:i,l:a,c:[e.UTM]},{b:\"\\\\.\"+e.UIR,r:0}]}}),e.registerLanguage(\"ocaml\",function(e){return{aliases:[\"ml\"],k:{keyword:\"and as assert asr begin class constraint do done downto else end exception external for fun function functor if in include inherit! inherit initializer land lazy let lor lsl lsr lxor match method!|10 method mod module mutable new object of open! open or private rec sig struct then to try type val! val virtual when while with parser value\",built_in:\"array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 string unit in_channel out_channel ref\",literal:\"true false\"},i:/\\/\\/|>>/,l:\"[a-z_]\\\\w*!?\",c:[{cN:\"literal\",b:\"\\\\[(\\\\|\\\\|)?\\\\]|\\\\(\\\\)\",r:0},e.C(\"\\\\(\\\\*\",\"\\\\*\\\\)\",{c:[\"self\"]}),{cN:\"symbol\",b:\"'[A-Za-z_](?!')[\\\\w']*\"},{cN:\"type\",b:\"`[A-Z][\\\\w']*\"},{cN:\"type\",b:\"\\\\b[A-Z][\\\\w']*\",r:0},{b:\"[a-z_]\\\\w*'[\\\\w']*\",r:0},e.inherit(e.ASM,{cN:\"string\",r:0}),e.inherit(e.QSM,{i:null}),{cN:\"number\",b:\"\\\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)\",r:0},{b:/[-=]>/}]}}),e.registerLanguage(\"openscad\",function(e){var t={cN:\"keyword\",b:\"\\\\$(f[asn]|t|vp[rtd]|children)\"},r={cN:\"literal\",b:\"false|true|PI|undef\"},a={cN:\"number\",b:\"\\\\b\\\\d+(\\\\.\\\\d+)?(e-?\\\\d+)?\",r:0},i=e.inherit(e.QSM,{i:null}),n={cN:\"meta\",k:{\"meta-keyword\":\"include use\"},b:\"include|use <\",e:\">\"},o={cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",c:[\"self\",a,i,t,r]},s={b:\"[*!#%]\",r:0},l={cN:\"function\",bK:\"module function\",e:\"\\\\=|\\\\{\",c:[o,e.UTM]};return{aliases:[\"scad\"],k:{keyword:\"function module include use for intersection_for if else \\\\%\",literal:\"false true PI undef\",built_in:\"circle square polygon text sphere cube cylinder polyhedron translate rotate scale resize mirror multmatrix color offset hull minkowski union difference intersection abs sign sin cos tan acos asin atan atan2 floor round ceil ln log pow sqrt exp rands min max concat lookup str chr search version version_num norm cross parent_module echo import import_dxf dxf_linear_extrude linear_extrude rotate_extrude surface projection render children dxf_cross dxf_dim let assign\"},c:[e.CLCM,e.CBCM,a,n,i,t,s,l]}}),e.registerLanguage(\"oxygene\",function(e){var t=\"abstract add and array as asc aspect assembly async begin break block by case class concat const copy constructor continue create default delegate desc distinct div do downto dynamic each else empty end ensure enum equals event except exit extension external false final finalize finalizer finally flags for forward from function future global group has if implementation implements implies in index inherited inline interface into invariants is iterator join locked locking loop matching method mod module namespace nested new nil not notify nullable of old on operator or order out override parallel params partial pinned private procedure property protected public queryable raise read readonly record reintroduce remove repeat require result reverse sealed select self sequence set shl shr skip static step soft take then to true try tuple type union unit unsafe until uses using var virtual raises volatile where while with write xor yield await mapped deprecated stdcall cdecl pascal register safecall overload library platform reference packed strict published autoreleasepool selector strong weak unretained\",r=e.C(\"{\",\"}\",{r:0}),a=e.C(\"\\\\(\\\\*\",\"\\\\*\\\\)\",{r:10}),i={cN:\"string\",b:\"'\",e:\"'\",c:[{b:\"''\"}]},n={cN:\"string\",b:\"(#\\\\d+)+\"},o={cN:\"function\",bK:\"function constructor destructor procedure method\",e:\"[:;]\",k:\"function constructor|10 destructor|10 procedure|10 method|10\",c:[e.TM,{cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",k:t,c:[i,n]},r,a]};return{cI:!0,l:/\\.?\\w+/,k:t,i:'(\"|\\\\$[G-Zg-z]|\\\\/\\\\*|</|=>|->)',c:[r,a,e.CLCM,i,n,e.NM,o,{cN:\"class\",b:\"=\\\\bclass\\\\b\",e:\"end;\",k:t,c:[i,n,r,a,e.CLCM,o]}]}}),e.registerLanguage(\"parser3\",function(e){var t=e.C(\"{\",\"}\",{c:[\"self\"]});return{sL:\"xml\",r:0,c:[e.C(\"^#\",\"$\"),e.C(\"\\\\^rem{\",\"}\",{r:10,c:[t]}),{cN:\"meta\",b:\"^@(?:BASE|USE|CLASS|OPTIONS)$\",r:10},{cN:\"title\",b:\"@[\\\\w\\\\-]+\\\\[[\\\\w^;\\\\-]*\\\\](?:\\\\[[\\\\w^;\\\\-]*\\\\])?(?:.*)$\"},{cN:\"variable\",b:\"\\\\$\\\\{?[\\\\w\\\\-\\\\.\\\\:]+\\\\}?\"},{cN:\"keyword\",b:\"\\\\^[\\\\w\\\\-\\\\.\\\\:]+\"},{cN:\"number\",b:\"\\\\^#[0-9a-fA-F]+\"},e.CNM]}}),e.registerLanguage(\"pf\",function(e){var t={cN:\"variable\",b:/\\$[\\w\\d#@][\\w\\d_]*/},r={cN:\"variable\",b:/<(?!\\/)/,e:/>/};return{aliases:[\"pf.conf\"],l:/[a-z0-9_<>-]+/,k:{built_in:\"block match pass load anchor|5 antispoof|10 set table\",keyword:\"in out log quick on rdomain inet inet6 proto from port os to routeallow-opts divert-packet divert-reply divert-to flags group icmp-typeicmp6-type label once probability recieved-on rtable prio queuetos tag tagged user keep fragment for os dropaf-to|10 binat-to|10 nat-to|10 rdr-to|10 bitmask least-stats random round-robinsource-hash static-portdup-to reply-to route-toparent bandwidth default min max qlimitblock-policy debug fingerprints hostid limit loginterface optimizationreassemble ruleset-optimization basic none profile skip state-defaultsstate-policy timeoutconst counters persistno modulate synproxy state|5 floating if-bound no-sync pflow|10 sloppysource-track global rule max-src-nodes max-src-states max-src-connmax-src-conn-rate overload flushscrub|5 max-mss min-ttl no-df|10 random-id\",literal:\"all any no-route self urpf-failed egress|5 unknown\"},c:[e.HCM,e.NM,e.QSM,t,r]}}),e.registerLanguage(\"php\",function(e){var t={b:\"\\\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*\"},r={cN:\"meta\",b:/<\\?(php)?|\\?>/},a={cN:\"string\",c:[e.BE,r],v:[{b:'b\"',e:'\"'},{b:\"b'\",e:\"'\"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},i={v:[e.BNM,e.CNM]};return{aliases:[\"php3\",\"php4\",\"php5\",\"php6\"],cI:!0,k:\"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally\",c:[e.HCM,e.C(\"//\",\"$\",{c:[r]}),e.C(\"/\\\\*\",\"\\\\*/\",{c:[{cN:\"doctag\",b:\"@[A-Za-z]+\"}]}),e.C(\"__halt_compiler.+?;\",!1,{eW:!0,k:\"__halt_compiler\",l:e.UIR}),{cN:\"string\",b:/<<<['\"]?\\w+['\"]?$/,e:/^\\w+;?$/,c:[e.BE,{cN:\"subst\",v:[{b:/\\$\\w+/},{b:/\\{\\$/,e:/\\}/}]}]},r,{cN:\"keyword\",b:/\\$this\\b/},t,{b:/(::|->)+[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/},{cN:\"function\",bK:\"function\",e:/[;{]/,eE:!0,i:\"\\\\$|\\\\[|%\",c:[e.UTM,{cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",c:[\"self\",t,e.CBCM,a,i]}]},{cN:\"class\",bK:\"class interface\",e:\"{\",eE:!0,i:/[:\\(\\$\"]/,c:[{bK:\"extends implements\"},e.UTM]},{bK:\"namespace\",e:\";\",i:/[\\.']/,c:[e.UTM]},{bK:\"use\",e:\";\",c:[e.UTM]},{b:\"=>\"},a,i]}}),e.registerLanguage(\"pony\",function(e){var t={keyword:\"actor addressof and as be break class compile_error compile_intrinsicconsume continue delegate digestof do else elseif embed end errorfor fun if ifdef in interface is isnt lambda let match new not objector primitive recover repeat return struct then trait try type until use var where while with xor\",meta:\"iso val tag trn box ref\",literal:\"this false true\"},r={cN:\"string\",b:'\"\"\"',e:'\"\"\"',r:10},a={cN:\"string\",b:'\"',e:'\"',c:[e.BE]},i={cN:\"string\",b:\"'\",e:\"'\",c:[e.BE],r:0},n={cN:\"type\",b:\"\\\\b_?[A-Z][\\\\w]*\",r:0},o={b:e.IR+\"'\",r:0},s={cN:\"class\",bK:\"class actor\",e:\"$\",c:[e.TM,e.CLCM]},l={cN:\"function\",bK:\"new fun\",e:\"=>\",c:[e.TM,{b:/\\(/,e:/\\)/,c:[n,o,e.CNM,e.CBCM]},{b:/:/,eW:!0,c:[n]},e.CLCM]};return{k:t,c:[s,l,n,r,a,i,o,e.CNM,e.CLCM,e.CBCM]}}),e.registerLanguage(\"powershell\",function(e){var t={b:\"`[\\\\s\\\\S]\",r:0},r={cN:\"variable\",v:[{b:/\\$[\\w\\d][\\w\\d_:]*/}]},a={cN:\"literal\",b:/\\$(null|true|false)\\b/},i={cN:\"string\",v:[{b:/\"/,e:/\"/},{b:/@\"/,e:/^\"@/}],c:[t,r,{cN:\"variable\",b:/\\$[A-z]/,e:/[^A-z]/}]},n={cN:\"string\",v:[{b:/'/,e:/'/},{b:/@'/,e:/^'@/}]},o={cN:\"doctag\",v:[{b:/\\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/},{b:/\\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\\s+\\S+/}]},s=e.inherit(e.C(null,null),{v:[{b:/#/,e:/$/},{b:/<#/,e:/#>/}],c:[o]});return{aliases:[\"ps\"],l:/-?[A-z\\.\\-]+/,cI:!0,k:{keyword:\"if else foreach return function do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch\",built_in:\"Add-Computer Add-Content Add-History Add-JobTrigger Add-Member Add-PSSnapin Add-Type Checkpoint-Computer Clear-Content Clear-EventLog Clear-History Clear-Host Clear-Item Clear-ItemProperty Clear-Variable Compare-Object Complete-Transaction Connect-PSSession Connect-WSMan Convert-Path ConvertFrom-Csv ConvertFrom-Json ConvertFrom-SecureString ConvertFrom-StringData ConvertTo-Csv ConvertTo-Html ConvertTo-Json ConvertTo-SecureString ConvertTo-Xml Copy-Item Copy-ItemProperty Debug-Process Disable-ComputerRestore Disable-JobTrigger Disable-PSBreakpoint Disable-PSRemoting Disable-PSSessionConfiguration Disable-WSManCredSSP Disconnect-PSSession Disconnect-WSMan Disable-ScheduledJob Enable-ComputerRestore Enable-JobTrigger Enable-PSBreakpoint Enable-PSRemoting Enable-PSSessionConfiguration Enable-ScheduledJob Enable-WSManCredSSP Enter-PSSession Exit-PSSession Export-Alias Export-Clixml Export-Console Export-Counter Export-Csv Export-FormatData Export-ModuleMember Export-PSSession ForEach-Object Format-Custom Format-List Format-Table Format-Wide Get-Acl Get-Alias Get-AuthenticodeSignature Get-ChildItem Get-Command Get-ComputerRestorePoint Get-Content Get-ControlPanelItem Get-Counter Get-Credential Get-Culture Get-Date Get-Event Get-EventLog Get-EventSubscriber Get-ExecutionPolicy Get-FormatData Get-Host Get-HotFix Get-Help Get-History Get-IseSnippet Get-Item Get-ItemProperty Get-Job Get-JobTrigger Get-Location Get-Member Get-Module Get-PfxCertificate Get-Process Get-PSBreakpoint Get-PSCallStack Get-PSDrive Get-PSProvider Get-PSSession Get-PSSessionConfiguration Get-PSSnapin Get-Random Get-ScheduledJob Get-ScheduledJobOption Get-Service Get-TraceSource Get-Transaction Get-TypeData Get-UICulture Get-Unique Get-Variable Get-Verb Get-WinEvent Get-WmiObject Get-WSManCredSSP Get-WSManInstance Group-Object Import-Alias Import-Clixml Import-Counter Import-Csv Import-IseSnippet Import-LocalizedData Import-PSSession Import-Module Invoke-AsWorkflow Invoke-Command Invoke-Expression Invoke-History Invoke-Item Invoke-RestMethod Invoke-WebRequest Invoke-WmiMethod Invoke-WSManAction Join-Path Limit-EventLog Measure-Command Measure-Object Move-Item Move-ItemProperty New-Alias New-Event New-EventLog New-IseSnippet New-Item New-ItemProperty New-JobTrigger New-Object New-Module New-ModuleManifest New-PSDrive New-PSSession New-PSSessionConfigurationFile New-PSSessionOption New-PSTransportOption New-PSWorkflowExecutionOption New-PSWorkflowSession New-ScheduledJobOption New-Service New-TimeSpan New-Variable New-WebServiceProxy New-WinEvent New-WSManInstance New-WSManSessionOption Out-Default Out-File Out-GridView Out-Host Out-Null Out-Printer Out-String Pop-Location Push-Location Read-Host Receive-Job Register-EngineEvent Register-ObjectEvent Register-PSSessionConfiguration Register-ScheduledJob Register-WmiEvent Remove-Computer Remove-Event Remove-EventLog Remove-Item Remove-ItemProperty Remove-Job Remove-JobTrigger Remove-Module Remove-PSBreakpoint Remove-PSDrive Remove-PSSession Remove-PSSnapin Remove-TypeData Remove-Variable Remove-WmiObject Remove-WSManInstance Rename-Computer Rename-Item Rename-ItemProperty Reset-ComputerMachinePassword Resolve-Path Restart-Computer Restart-Service Restore-Computer Resume-Job Resume-Service Save-Help Select-Object Select-String Select-Xml Send-MailMessage Set-Acl Set-Alias Set-AuthenticodeSignature Set-Content Set-Date Set-ExecutionPolicy Set-Item Set-ItemProperty Set-JobTrigger Set-Location Set-PSBreakpoint Set-PSDebug Set-PSSessionConfiguration Set-ScheduledJob Set-ScheduledJobOption Set-Service Set-StrictMode Set-TraceSource Set-Variable Set-WmiInstance Set-WSManInstance Set-WSManQuickConfig Show-Command Show-ControlPanelItem Show-EventLog Sort-Object Split-Path Start-Job Start-Process Start-Service Start-Sleep Start-Transaction Start-Transcript Stop-Computer Stop-Job Stop-Process Stop-Service Stop-Transcript Suspend-Job Suspend-Service Tee-Object Test-ComputerSecureChannel Test-Connection Test-ModuleManifest Test-Path Test-PSSessionConfigurationFile Trace-Command Unblock-File Undo-Transaction Unregister-Event Unregister-PSSessionConfiguration Unregister-ScheduledJob Update-FormatData Update-Help Update-List Update-TypeData Use-Transaction Wait-Event Wait-Job Wait-Process Where-Object Write-Debug Write-Error Write-EventLog Write-Host Write-Output Write-Progress Write-Verbose Write-Warning Add-MDTPersistentDrive Disable-MDTMonitorService Enable-MDTMonitorService Get-MDTDeploymentShareStatistics Get-MDTMonitorData Get-MDTOperatingSystemCatalog Get-MDTPersistentDrive Import-MDTApplication Import-MDTDriver Import-MDTOperatingSystem Import-MDTPackage Import-MDTTaskSequence New-MDTDatabase Remove-MDTMonitorData Remove-MDTPersistentDrive Restore-MDTPersistentDrive Set-MDTMonitorData Test-MDTDeploymentShare Test-MDTMonitorData Update-MDTDatabaseSchema Update-MDTDeploymentShare Update-MDTLinkedDS Update-MDTMedia Update-MDTMedia Add-VamtProductKey Export-VamtData Find-VamtManagedMachine Get-VamtConfirmationId Get-VamtProduct Get-VamtProductKey Import-VamtData Initialize-VamtData Install-VamtConfirmationId Install-VamtProductActivation Install-VamtProductKey Update-VamtProduct\",\nnomarkup:\"-ne -eq -lt -gt -ge -le -not -like -notlike -match -notmatch -contains -notcontains -in -notin -replace\"},c:[t,e.NM,i,n,a,r,s]}}),e.registerLanguage(\"processing\",function(e){return{k:{keyword:\"BufferedReader PVector PFont PImage PGraphics HashMap boolean byte char color double float int long String Array FloatDict FloatList IntDict IntList JSONArray JSONObject Object StringDict StringList Table TableRow XML false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private\",literal:\"P2D P3D HALF_PI PI QUARTER_PI TAU TWO_PI\",title:\"setup draw\",built_in:\"displayHeight displayWidth mouseY mouseX mousePressed pmouseX pmouseY key keyCode pixels focused frameCount frameRate height width size createGraphics beginDraw createShape loadShape PShape arc ellipse line point quad rect triangle bezier bezierDetail bezierPoint bezierTangent curve curveDetail curvePoint curveTangent curveTightness shape shapeMode beginContour beginShape bezierVertex curveVertex endContour endShape quadraticVertex vertex ellipseMode noSmooth rectMode smooth strokeCap strokeJoin strokeWeight mouseClicked mouseDragged mouseMoved mousePressed mouseReleased mouseWheel keyPressed keyPressedkeyReleased keyTyped print println save saveFrame day hour millis minute month second year background clear colorMode fill noFill noStroke stroke alpha blue brightness color green hue lerpColor red saturation modelX modelY modelZ screenX screenY screenZ ambient emissive shininess specular add createImage beginCamera camera endCamera frustum ortho perspective printCamera printProjection cursor frameRate noCursor exit loop noLoop popStyle pushStyle redraw binary boolean byte char float hex int str unbinary unhex join match matchAll nf nfc nfp nfs split splitTokens trim append arrayCopy concat expand reverse shorten sort splice subset box sphere sphereDetail createInput createReader loadBytes loadJSONArray loadJSONObject loadStrings loadTable loadXML open parseXML saveTable selectFolder selectInput beginRaw beginRecord createOutput createWriter endRaw endRecord PrintWritersaveBytes saveJSONArray saveJSONObject saveStream saveStrings saveXML selectOutput popMatrix printMatrix pushMatrix resetMatrix rotate rotateX rotateY rotateZ scale shearX shearY translate ambientLight directionalLight lightFalloff lights lightSpecular noLights normal pointLight spotLight image imageMode loadImage noTint requestImage tint texture textureMode textureWrap blend copy filter get loadPixels set updatePixels blendMode loadShader PShaderresetShader shader createFont loadFont text textFont textAlign textLeading textMode textSize textWidth textAscent textDescent abs ceil constrain dist exp floor lerp log mag map max min norm pow round sq sqrt acos asin atan atan2 cos degrees radians sin tan noise noiseDetail noiseSeed random randomGaussian randomSeed\"},c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.CNM]}}),e.registerLanguage(\"profile\",function(e){return{c:[e.CNM,{b:\"[a-zA-Z_][\\\\da-zA-Z_]+\\\\.[\\\\da-zA-Z_]{1,3}\",e:\":\",eE:!0},{b:\"(ncalls|tottime|cumtime)\",e:\"$\",k:\"ncalls tottime|10 cumtime|10 filename\",r:10},{b:\"function calls\",e:\"$\",c:[e.CNM],r:10},e.ASM,e.QSM,{cN:\"string\",b:\"\\\\(\",e:\"\\\\)$\",eB:!0,eE:!0,r:0}]}}),e.registerLanguage(\"prolog\",function(e){var t={b:/[a-z][A-Za-z0-9_]*/,r:0},r={cN:\"symbol\",v:[{b:/[A-Z][a-zA-Z0-9_]*/},{b:/_[A-Za-z0-9_]*/}],r:0},a={b:/\\(/,e:/\\)/,r:0},i={b:/\\[/,e:/\\]/},n={cN:\"comment\",b:/%/,e:/$/,c:[e.PWM]},o={cN:\"string\",b:/`/,e:/`/,c:[e.BE]},s={cN:\"string\",b:/0\\'(\\\\\\'|.)/},l={cN:\"string\",b:/0\\'\\\\s/},c={b:/:-/},d=[t,r,a,c,i,n,e.CBCM,e.QSM,e.ASM,o,s,l,e.CNM];return a.c=d,i.c=d,{c:d.concat([{b:/\\.$/}])}}),e.registerLanguage(\"protobuf\",function(e){return{k:{keyword:\"package import option optional required repeated group\",built_in:\"double float int32 int64 uint32 uint64 sint32 sint64 fixed32 fixed64 sfixed32 sfixed64 bool string bytes\",literal:\"true false\"},c:[e.QSM,e.NM,e.CLCM,{cN:\"class\",bK:\"message enum service\",e:/\\{/,i:/\\n/,c:[e.inherit(e.TM,{starts:{eW:!0,eE:!0}})]},{cN:\"function\",bK:\"rpc\",e:/;/,eE:!0,k:\"rpc returns\"},{b:/^\\s*[A-Z_]+/,e:/\\s*=/,eE:!0}]}}),e.registerLanguage(\"puppet\",function(e){var t={keyword:\"and case default else elsif false if in import enherits node or true undef unless main settings $string \",literal:\"alias audit before loglevel noop require subscribe tag owner ensure group mode name|0 changes context force incl lens load_path onlyif provider returns root show_diff type_check en_address ip_address realname command environment hour monute month monthday special target weekday creates cwd ogoutput refresh refreshonly tries try_sleep umask backup checksum content ctime force ignore links mtime purge recurse recurselimit replace selinux_ignore_defaults selrange selrole seltype seluser source souirce_permissions sourceselect validate_cmd validate_replacement allowdupe attribute_membership auth_membership forcelocal gid ia_load_module members system host_aliases ip allowed_trunk_vlans description device_url duplex encapsulation etherchannel native_vlan speed principals allow_root auth_class auth_type authenticate_user k_of_n mechanisms rule session_owner shared options device fstype enable hasrestart directory present absent link atboot blockdevice device dump pass remounts poller_tag use message withpath adminfile allow_virtual allowcdrom category configfiles flavor install_options instance package_settings platform responsefile status uninstall_options vendor unless_system_user unless_uid binary control flags hasstatus manifest pattern restart running start stop allowdupe auths expiry gid groups home iterations key_membership keys managehome membership password password_max_age password_min_age profile_membership profiles project purge_ssh_keys role_membership roles salt shell uid baseurl cost descr enabled enablegroups exclude failovermethod gpgcheck gpgkey http_caching include includepkgs keepalive metadata_expire metalink mirrorlist priority protect proxy proxy_password proxy_username repo_gpgcheck s3_enabled skip_if_unavailable sslcacert sslclientcert sslclientkey sslverify mounted\",built_in:\"architecture augeasversion blockdevices boardmanufacturer boardproductname boardserialnumber cfkey dhcp_servers domain ec2_ ec2_userdata facterversion filesystems ldom fqdn gid hardwareisa hardwaremodel hostname id|0 interfaces ipaddress ipaddress_ ipaddress6 ipaddress6_ iphostnumber is_virtual kernel kernelmajversion kernelrelease kernelversion kernelrelease kernelversion lsbdistcodename lsbdistdescription lsbdistid lsbdistrelease lsbmajdistrelease lsbminordistrelease lsbrelease macaddress macaddress_ macosx_buildversion macosx_productname macosx_productversion macosx_productverson_major macosx_productversion_minor manufacturer memoryfree memorysize netmask metmask_ network_ operatingsystem operatingsystemmajrelease operatingsystemrelease osfamily partitions path physicalprocessorcount processor processorcount productname ps puppetversion rubysitedir rubyversion selinux selinux_config_mode selinux_config_policy selinux_current_mode selinux_current_mode selinux_enforced selinux_policyversion serialnumber sp_ sshdsakey sshecdsakey sshrsakey swapencrypted swapfree swapsize timezone type uniqueid uptime uptime_days uptime_hours uptime_seconds uuid virtual vlans xendomains zfs_version zonenae zones zpool_version\"},r=e.C(\"#\",\"$\"),a=\"([A-Za-z_]|::)(\\\\w|::)*\",i=e.inherit(e.TM,{b:a}),n={cN:\"variable\",b:\"\\\\$\"+a},o={cN:\"string\",c:[e.BE,n],v:[{b:/'/,e:/'/},{b:/\"/,e:/\"/}]};return{aliases:[\"pp\"],c:[r,n,o,{bK:\"class\",e:\"\\\\{|;\",i:/=/,c:[i,r]},{bK:\"define\",e:/\\{/,c:[{cN:\"section\",b:e.IR,endsParent:!0}]},{b:e.IR+\"\\\\s+\\\\{\",rB:!0,e:/\\S/,c:[{cN:\"keyword\",b:e.IR},{b:/\\{/,e:/\\}/,k:t,r:0,c:[o,r,{b:\"[a-zA-Z_]+\\\\s*=>\",rB:!0,e:\"=>\",c:[{cN:\"attr\",b:e.IR}]},{cN:\"number\",b:\"(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b\",r:0},n]}],r:0}]}}),e.registerLanguage(\"purebasic\",function(e){var t={cN:\"string\",b:'(~)?\"',e:'\"',i:\"\\\\n\"},r={cN:\"symbol\",b:\"#[a-zA-Z_]\\\\w*\\\\$?\"};return{aliases:[\"pb\",\"pbi\"],k:\"And As Break CallDebugger Case CompilerCase CompilerDefault CompilerElse CompilerEndIf CompilerEndSelect CompilerError CompilerIf CompilerSelect Continue Data DataSection EndDataSection Debug DebugLevel Default Define Dim DisableASM DisableDebugger DisableExplicit Else ElseIf EnableASM EnableDebugger EnableExplicit End EndEnumeration EndIf EndImport EndInterface EndMacro EndProcedure EndSelect EndStructure EndStructureUnion EndWith Enumeration Extends FakeReturn For Next ForEach ForEver Global Gosub Goto If Import ImportC IncludeBinary IncludeFile IncludePath Interface Macro NewList Not Or ProcedureReturn Protected Prototype PrototypeC Read ReDim Repeat Until Restore Return Select Shared Static Step Structure StructureUnion Swap To Wend While With XIncludeFile XOr Procedure ProcedureC ProcedureCDLL ProcedureDLL Declare DeclareC DeclareCDLL DeclareDLL\",c:[e.C(\";\",\"$\",{r:0}),{cN:\"function\",b:\"\\\\b(Procedure|Declare)(C|CDLL|DLL)?\\\\b\",e:\"\\\\(\",eE:!0,rB:!0,c:[{cN:\"keyword\",b:\"(Procedure|Declare)(C|CDLL|DLL)?\",eE:!0},{cN:\"type\",b:\"\\\\.\\\\w*\"},e.UTM]},t,r]}}),e.registerLanguage(\"python\",function(e){var t={keyword:\"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10 None True False\",built_in:\"Ellipsis NotImplemented\"},r={cN:\"meta\",b:/^(>>>|\\.\\.\\.) /},a={cN:\"subst\",b:/\\{/,e:/\\}/,k:t,i:/#/},i={cN:\"string\",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[r],r:10},{b:/(u|b)?r?\"\"\"/,e:/\"\"\"/,c:[r],r:10},{b:/(fr|rf|f)'''/,e:/'''/,c:[r,a]},{b:/(fr|rf|f)\"\"\"/,e:/\"\"\"/,c:[r,a]},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)\"/,e:/\"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)\"/,e:/\"/},{b:/(fr|rf|f)'/,e:/'/,c:[a]},{b:/(fr|rf|f)\"/,e:/\"/,c:[a]},e.ASM,e.QSM]},n={cN:\"number\",r:0,v:[{b:e.BNR+\"[lLjJ]?\"},{b:\"\\\\b(0o[0-7]+)[lLjJ]?\"},{b:e.CNR+\"[lLjJ]?\"}]},o={cN:\"params\",b:/\\(/,e:/\\)/,c:[\"self\",r,n,i]};return a.c=[i,n,r],{aliases:[\"py\",\"gyp\"],k:t,i:/(<\\/|->|\\?)|=>/,c:[r,n,i,e.HCM,{v:[{cN:\"function\",bK:\"def\"},{cN:\"class\",bK:\"class\"}],e:/:/,i:/[${=;\\n,]/,c:[e.UTM,o,{b:/->/,eW:!0,k:\"None\"}]},{cN:\"meta\",b:/^[\\t ]*@/,e:/$/},{b:/\\b(print|exec)\\(/}]}}),e.registerLanguage(\"q\",function(e){var t={keyword:\"do while select delete by update from\",literal:\"0b 1b\",built_in:\"neg not null string reciprocal floor ceiling signum mod xbar xlog and or each scan over prior mmu lsq inv md5 ltime gtime count first var dev med cov cor all any rand sums prds mins maxs fills deltas ratios avgs differ prev next rank reverse iasc idesc asc desc msum mcount mavg mdev xrank mmin mmax xprev rotate distinct group where flip type key til get value attr cut set upsert raze union inter except cross sv vs sublist enlist read0 read1 hopen hclose hdel hsym hcount peach system ltrim rtrim trim lower upper ssr view tables views cols xcols keys xkey xcol xasc xdesc fkeys meta lj aj aj0 ij pj asof uj ww wj wj1 fby xgroup ungroup ej save load rsave rload show csv parse eval min max avg wavg wsum sin cos tan sum\",type:\"`float `double int `timestamp `timespan `datetime `time `boolean `symbol `char `byte `short `long `real `month `date `minute `second `guid\"};return{aliases:[\"k\",\"kdb\"],k:t,l:/(`?)[A-Za-z0-9_]+\\b/,c:[e.CLCM,e.QSM,e.CNM]}}),e.registerLanguage(\"qml\",function(e){var t={keyword:\"in of on if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await import\",literal:\"true false null undefined NaN Infinity\",built_in:\"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Behavior bool color coordinate date double enumeration font geocircle georectangle geoshape int list matrix4x4 parent point quaternion real rect size string url variant vector2d vector3d vector4dPromise\"},r=\"[a-zA-Z_][a-zA-Z0-9\\\\._]*\",a={cN:\"keyword\",b:\"\\\\bproperty\\\\b\",starts:{cN:\"string\",e:\"(:|=|;|,|//|/\\\\*|$)\",rE:!0}},i={cN:\"keyword\",b:\"\\\\bsignal\\\\b\",starts:{cN:\"string\",e:\"(\\\\(|:|=|;|,|//|/\\\\*|$)\",rE:!0}},n={cN:\"attribute\",b:\"\\\\bid\\\\s*:\",starts:{cN:\"string\",e:r,rE:!1}},o={b:r+\"\\\\s*:\",rB:!0,c:[{cN:\"attribute\",b:r,e:\"\\\\s*:\",eE:!0,r:0}],r:0},s={b:r+\"\\\\s*{\",e:\"{\",rB:!0,r:0,c:[e.inherit(e.TM,{b:r})]};return{aliases:[\"qt\"],cI:!1,k:t,c:[{cN:\"meta\",b:/^\\s*['\"]use (strict|asm)['\"]/},e.ASM,e.QSM,{cN:\"string\",b:\"`\",e:\"`\",c:[e.BE,{cN:\"subst\",b:\"\\\\$\\\\{\",e:\"\\\\}\"}]},e.CLCM,e.CBCM,{cN:\"number\",v:[{b:\"\\\\b(0[bB][01]+)\"},{b:\"\\\\b(0[oO][0-7]+)\"},{b:e.CNR}],r:0},{b:\"(\"+e.RSR+\"|\\\\b(case|return|throw)\\\\b)\\\\s*\",k:\"return throw case\",c:[e.CLCM,e.CBCM,e.RM,{b:/</,e:/>\\s*[);\\]]/,r:0,sL:\"xml\"}],r:0},i,a,{cN:\"function\",bK:\"function\",e:/\\{/,eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0,c:[e.CLCM,e.CBCM]}],i:/\\[|%/},{b:\"\\\\.\"+e.IR,r:0},n,o,s],i:/#/}}),e.registerLanguage(\"r\",function(e){var t=\"([a-zA-Z]|\\\\.[a-zA-Z.])[a-zA-Z0-9._]*\";return{c:[e.HCM,{b:t,l:t,k:{keyword:\"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...\",literal:\"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10\"},r:0},{cN:\"number\",b:\"0[xX][0-9a-fA-F]+[Li]?\\\\b\",r:0},{cN:\"number\",b:\"\\\\d+(?:[eE][+\\\\-]?\\\\d*)?L\\\\b\",r:0},{cN:\"number\",b:\"\\\\d+\\\\.(?!\\\\d)(?:i\\\\b)?\",r:0},{cN:\"number\",b:\"\\\\d+(?:\\\\.\\\\d*)?(?:[eE][+\\\\-]?\\\\d*)?i?\\\\b\",r:0},{cN:\"number\",b:\"\\\\.\\\\d+(?:[eE][+\\\\-]?\\\\d*)?i?\\\\b\",r:0},{b:\"`\",e:\"`\",r:0},{cN:\"string\",c:[e.BE],v:[{b:'\"',e:'\"'},{b:\"'\",e:\"'\"}]}]}}),e.registerLanguage(\"rib\",function(e){return{k:\"ArchiveRecord AreaLightSource Atmosphere Attribute AttributeBegin AttributeEnd Basis Begin Blobby Bound Clipping ClippingPlane Color ColorSamples ConcatTransform Cone CoordinateSystem CoordSysTransform CropWindow Curves Cylinder DepthOfField Detail DetailRange Disk Displacement Display End ErrorHandler Exposure Exterior Format FrameAspectRatio FrameBegin FrameEnd GeneralPolygon GeometricApproximation Geometry Hider Hyperboloid Identity Illuminate Imager Interior LightSource MakeCubeFaceEnvironment MakeLatLongEnvironment MakeShadow MakeTexture Matte MotionBegin MotionEnd NuPatch ObjectBegin ObjectEnd ObjectInstance Opacity Option Orientation Paraboloid Patch PatchMesh Perspective PixelFilter PixelSamples PixelVariance Points PointsGeneralPolygons PointsPolygons Polygon Procedural Projection Quantize ReadArchive RelativeDetail ReverseOrientation Rotate Scale ScreenWindow ShadingInterpolation ShadingRate Shutter Sides Skew SolidBegin SolidEnd Sphere SubdivisionMesh Surface TextureCoordinates Torus Transform TransformBegin TransformEnd TransformPoints Translate TrimCurve WorldBegin WorldEnd\",i:\"</\",c:[e.HCM,e.CNM,e.ASM,e.QSM]}}),e.registerLanguage(\"roboconf\",function(e){var t=\"[a-zA-Z-_][^\\\\n{]+\\\\{\",r={cN:\"attribute\",b:/[a-zA-Z-_]+/,e:/\\s*:/,eE:!0,starts:{e:\";\",r:0,c:[{cN:\"variable\",b:/\\.[a-zA-Z-_]+/},{cN:\"keyword\",b:/\\(optional\\)/}]}};return{aliases:[\"graph\",\"instances\"],cI:!0,k:\"import\",c:[{b:\"^facet \"+t,e:\"}\",k:\"facet\",c:[r,e.HCM]},{b:\"^\\\\s*instance of \"+t,e:\"}\",k:\"name count channels instance-data instance-state instance of\",i:/\\S/,c:[\"self\",r,e.HCM]},{b:\"^\"+t,e:\"}\",c:[r,e.HCM]},e.HCM]}}),e.registerLanguage(\"routeros\",function(e){var t=\"foreach do while for if from to step else on-error and or not in\",r=\"global local beep delay put len typeof pick log time set find environment terminal error execute parse resolve toarray tobool toid toip toip6 tonum tostr totime\",a=\"add remove enable disable set get print export edit find run debug error info warning\",i=\"true false yes no nothing nil null\",n=\"traffic-flow traffic-generator firewall scheduler aaa accounting address-list address align area bandwidth-server bfd bgp bridge client clock community config connection console customer default dhcp-client dhcp-server discovery dns e-mail ethernet filter firewall firmware gps graphing group hardware health hotspot identity igmp-proxy incoming instance interface ip ipsec ipv6 irq l2tp-server lcd ldp logging mac-server mac-winbox mangle manual mirror mme mpls nat nd neighbor network note ntp ospf ospf-v3 ovpn-server page peer pim ping policy pool port ppp pppoe-client pptp-server prefix profile proposal proxy queue radius resource rip ripng route routing screen script security-profiles server service service-port settings shares smb sms sniffer snmp snooper socks sstp-server system tool tracking type upgrade upnp user-manager users user vlan secret vrrp watchdog web-access wireless pptp pppoe lan wan layer7-protocol lease simple raw\",o={cN:\"variable\",v:[{b:/\\$[\\w\\d#@][\\w\\d_]*/},{b:/\\$\\{(.*?)}/}]},s={cN:\"string\",b:/\"/,e:/\"/,c:[e.BE,o,{cN:\"variable\",b:/\\$\\(/,e:/\\)/,c:[e.BE]}]},l={cN:\"string\",b:/'/,e:/'/};return{aliases:[\"routeros\",\"mikrotik\"],cI:!0,l:/:?[\\w-]+/,k:{literal:i,keyword:t+\" :\"+t.split(\" \").join(\" :\")+\" :\"+r.split(\" \").join(\" :\")},c:[{v:[{b:/^@/,e:/$/},{b:/\\/\\*/,e:/\\*\\//},{b:/%%/,e:/$/},{b:/^'/,e:/$/},{b:/^\\s*\\/[\\w-]+=/,e:/$/},{b:/\\/\\//,e:/$/},{b:/^\\[\\</,e:/\\>\\]$/},{b:/<\\//,e:/>/},{b:/^facet /,e:/\\}/},{b:\"^1\\\\.\\\\.(\\\\d+)$\",e:/$/}],i:/./},e.C(\"^#\",\"$\"),s,l,o,{b:/[\\w-]+\\=([^\\s\\{\\}\\[\\]\\(\\)]+)/,r:0,rB:!0,c:[{cN:\"attribute\",b:/[^=]+/},{b:/=/,eW:!0,r:0,c:[s,l,o,{cN:\"literal\",b:\"\\\\b(\"+i.split(\" \").join(\"|\")+\")\\\\b\"},{b:/(\"[^\"]*\"|[^\\s\\{\\}\\[\\]]+)/}]}]},{cN:\"number\",b:/\\*[0-9a-fA-F]+/},{b:\"\\\\b(\"+a.split(\" \").join(\"|\")+\")([\\\\s[(]|])\",rB:!0,c:[{cN:\"builtin-name\",b:/\\w+/}]},{cN:\"built_in\",v:[{b:\"(\\\\.\\\\./|/|\\\\s)((\"+n.split(\" \").join(\"|\")+\");?\\\\s)+\",r:10},{b:/\\.\\./}]}]}}),e.registerLanguage(\"rsl\",function(e){return{k:{keyword:\"float color point normal vector matrix while for if do return else break extern continue\",built_in:\"abs acos ambient area asin atan atmosphere attribute calculatenormal ceil cellnoise clamp comp concat cos degrees depth Deriv diffuse distance Du Dv environment exp faceforward filterstep floor format fresnel incident length lightsource log match max min mod noise normalize ntransform opposite option phong pnoise pow printf ptlined radians random reflect refract renderinfo round setcomp setxcomp setycomp setzcomp shadow sign sin smoothstep specular specularbrdf spline sqrt step tan texture textureinfo trace transform vtransform xcomp ycomp zcomp\"},i:\"</\",c:[e.CLCM,e.CBCM,e.QSM,e.ASM,e.CNM,{cN:\"meta\",b:\"#\",e:\"$\"},{cN:\"class\",bK:\"surface displacement light volume imager\",e:\"\\\\(\"},{bK:\"illuminate illuminance gather\",e:\"\\\\(\"}]}}),e.registerLanguage(\"ruleslanguage\",function(e){return{k:{keyword:\"BILL_PERIOD BILL_START BILL_STOP RS_EFFECTIVE_START RS_EFFECTIVE_STOP RS_JURIS_CODE RS_OPCO_CODE INTDADDATTRIBUTE|5 INTDADDVMSG|5 INTDBLOCKOP|5 INTDBLOCKOPNA|5 INTDCLOSE|5 INTDCOUNT|5 INTDCOUNTSTATUSCODE|5 INTDCREATEMASK|5 INTDCREATEDAYMASK|5 INTDCREATEFACTORMASK|5 INTDCREATEHANDLE|5 INTDCREATEOVERRIDEDAYMASK|5 INTDCREATEOVERRIDEMASK|5 INTDCREATESTATUSCODEMASK|5 INTDCREATETOUPERIOD|5 INTDDELETE|5 INTDDIPTEST|5 INTDEXPORT|5 INTDGETERRORCODE|5 INTDGETERRORMESSAGE|5 INTDISEQUAL|5 INTDJOIN|5 INTDLOAD|5 INTDLOADACTUALCUT|5 INTDLOADDATES|5 INTDLOADHIST|5 INTDLOADLIST|5 INTDLOADLISTDATES|5 INTDLOADLISTENERGY|5 INTDLOADLISTHIST|5 INTDLOADRELATEDCHANNEL|5 INTDLOADSP|5 INTDLOADSTAGING|5 INTDLOADUOM|5 INTDLOADUOMDATES|5 INTDLOADUOMHIST|5 INTDLOADVERSION|5 INTDOPEN|5 INTDREADFIRST|5 INTDREADNEXT|5 INTDRECCOUNT|5 INTDRELEASE|5 INTDREPLACE|5 INTDROLLAVG|5 INTDROLLPEAK|5 INTDSCALAROP|5 INTDSCALE|5 INTDSETATTRIBUTE|5 INTDSETDSTPARTICIPANT|5 INTDSETSTRING|5 INTDSETVALUE|5 INTDSETVALUESTATUS|5 INTDSHIFTSTARTTIME|5 INTDSMOOTH|5 INTDSORT|5 INTDSPIKETEST|5 INTDSUBSET|5 INTDTOU|5 INTDTOURELEASE|5 INTDTOUVALUE|5 INTDUPDATESTATS|5 INTDVALUE|5 STDEV INTDDELETEEX|5 INTDLOADEXACTUAL|5 INTDLOADEXCUT|5 INTDLOADEXDATES|5 INTDLOADEX|5 INTDLOADEXRELATEDCHANNEL|5 INTDSAVEEX|5 MVLOAD|5 MVLOADACCT|5 MVLOADACCTDATES|5 MVLOADACCTHIST|5 MVLOADDATES|5 MVLOADHIST|5 MVLOADLIST|5 MVLOADLISTDATES|5 MVLOADLISTHIST|5 IF FOR NEXT DONE SELECT END CALL ABORT CLEAR CHANNEL FACTOR LIST NUMBER OVERRIDE SET WEEK DISTRIBUTIONNODE ELSE WHEN THEN OTHERWISE IENUM CSV INCLUDE LEAVE RIDER SAVE DELETE NOVALUE SECTION WARN SAVE_UPDATE DETERMINANT LABEL REPORT REVENUE EACH IN FROM TOTAL CHARGE BLOCK AND OR CSV_FILE RATE_CODE AUXILIARY_DEMAND UIDACCOUNT RS BILL_PERIOD_SELECT HOURS_PER_MONTH INTD_ERROR_STOP SEASON_SCHEDULE_NAME ACCOUNTFACTOR ARRAYUPPERBOUND CALLSTOREDPROC GETADOCONNECTION GETCONNECT GETDATASOURCE GETQUALIFIER GETUSERID HASVALUE LISTCOUNT LISTOP LISTUPDATE LISTVALUE PRORATEFACTOR RSPRORATE SETBINPATH SETDBMONITOR WQ_OPEN BILLINGHOURS DATE DATEFROMFLOAT DATETIMEFROMSTRING DATETIMETOSTRING DATETOFLOAT DAY DAYDIFF DAYNAME DBDATETIME HOUR MINUTE MONTH MONTHDIFF MONTHHOURS MONTHNAME ROUNDDATE SAMEWEEKDAYLASTYEAR SECOND WEEKDAY WEEKDIFF YEAR YEARDAY YEARSTR COMPSUM HISTCOUNT HISTMAX HISTMIN HISTMINNZ HISTVALUE MAXNRANGE MAXRANGE MINRANGE COMPIKVA COMPKVA COMPKVARFROMKQKW COMPLF IDATTR FLAG LF2KW LF2KWH MAXKW POWERFACTOR READING2USAGE AVGSEASON MAXSEASON MONTHLYMERGE SEASONVALUE SUMSEASON ACCTREADDATES ACCTTABLELOAD CONFIGADD CONFIGGET CREATEOBJECT CREATEREPORT EMAILCLIENT EXPBLKMDMUSAGE EXPMDMUSAGE EXPORT_USAGE FACTORINEFFECT GETUSERSPECIFIEDSTOP INEFFECT ISHOLIDAY RUNRATE SAVE_PROFILE SETREPORTTITLE USEREXIT WATFORRUNRATE TO TABLE ACOS ASIN ATAN ATAN2 BITAND CEIL COS COSECANT COSH COTANGENT DIVQUOT DIVREM EXP FABS FLOOR FMOD FREPM FREXPN LOG LOG10 MAX MAXN MIN MINNZ MODF POW ROUND ROUND2VALUE ROUNDINT SECANT SIN SINH SQROOT TAN TANH FLOAT2STRING FLOAT2STRINGNC INSTR LEFT LEN LTRIM MID RIGHT RTRIM STRING STRINGNC TOLOWER TOUPPER TRIM NUMDAYS READ_DATE STAGING\",built_in:\"IDENTIFIER OPTIONS XML_ELEMENT XML_OP XML_ELEMENT_OF DOMDOCCREATE DOMDOCLOADFILE DOMDOCLOADXML DOMDOCSAVEFILE DOMDOCGETROOT DOMDOCADDPI DOMNODEGETNAME DOMNODEGETTYPE DOMNODEGETVALUE DOMNODEGETCHILDCT DOMNODEGETFIRSTCHILD DOMNODEGETSIBLING DOMNODECREATECHILDELEMENT DOMNODESETATTRIBUTE DOMNODEGETCHILDELEMENTCT DOMNODEGETFIRSTCHILDELEMENT DOMNODEGETSIBLINGELEMENT DOMNODEGETATTRIBUTECT DOMNODEGETATTRIBUTEI DOMNODEGETATTRIBUTEBYNAME DOMNODEGETBYNAME\"},c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.CNM,{cN:\"literal\",v:[{b:\"#\\\\s+[a-zA-Z\\\\ \\\\.]*\",r:0},{b:\"#[a-zA-Z\\\\ \\\\.]+\"}]}]}}),e.registerLanguage(\"rust\",function(e){var t=\"([ui](8|16|32|64|128|size)|f(32|64))?\",r=\"alignof as be box break const continue crate do else enum extern false fn for if impl in let loop match mod mut offsetof once priv proc pub pure ref return self Self sizeof static struct super trait true type typeof unsafe unsized use virtual while where yield move default\",a=\"drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!\";return{aliases:[\"rs\"],k:{keyword:r,literal:\"true false Some None Ok Err\",built_in:a},l:e.IR+\"!?\",i:\"</\",c:[e.CLCM,e.C(\"/\\\\*\",\"\\\\*/\",{c:[\"self\"]}),e.inherit(e.QSM,{b:/b?\"/,i:null}),{cN:\"string\",v:[{b:/r(#*)\"(.|\\n)*?\"\\1(?!#)/},{b:/b?'\\\\?(x\\w{2}|u\\w{4}|U\\w{8}|.)'/}]},{cN:\"symbol\",b:/'[a-zA-Z_][a-zA-Z0-9_]*/},{cN:\"number\",v:[{b:\"\\\\b0b([01_]+)\"+t},{b:\"\\\\b0o([0-7_]+)\"+t},{b:\"\\\\b0x([A-Fa-f0-9_]+)\"+t},{b:\"\\\\b(\\\\d[\\\\d_]*(\\\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)\"+t}],r:0},{cN:\"function\",bK:\"fn\",e:\"(\\\\(|<)\",eE:!0,c:[e.UTM]},{cN:\"meta\",b:\"#\\\\!?\\\\[\",e:\"\\\\]\",c:[{cN:\"meta-string\",b:/\"/,e:/\"/}]},{cN:\"class\",bK:\"type\",e:\";\",c:[e.inherit(e.UTM,{endsParent:!0})],i:\"\\\\S\"},{cN:\"class\",bK:\"trait enum struct union\",e:\"{\",c:[e.inherit(e.UTM,{endsParent:!0})],i:\"[\\\\w\\\\d]\"},{b:e.IR+\"::\",k:{built_in:a}},{b:\"->\"}]}}),e.registerLanguage(\"scala\",function(e){var t={cN:\"meta\",b:\"@[A-Za-z]+\"},r={cN:\"subst\",v:[{b:\"\\\\$[A-Za-z0-9_]+\"},{b:\"\\\\${\",e:\"}\"}]},a={cN:\"string\",v:[{b:'\"',e:'\"',i:\"\\\\n\",c:[e.BE]},{b:'\"\"\"',e:'\"\"\"',r:10},{b:'[a-z]+\"',e:'\"',i:\"\\\\n\",c:[e.BE,r]},{cN:\"string\",b:'[a-z]+\"\"\"',e:'\"\"\"',c:[r],r:10}]},i={cN:\"symbol\",b:\"'\\\\w[\\\\w\\\\d_]*(?!')\"},n={cN:\"type\",b:\"\\\\b[A-Z][A-Za-z0-9_]*\",r:0},o={cN:\"title\",b:/[^0-9\\n\\t \"'(),.`{}\\[\\]:;][^\\n\\t \"'(),.`{}\\[\\]:;]+|[^0-9\\n\\t \"'(),.`{}\\[\\]:;=]/,r:0},s={cN:\"class\",bK:\"class object trait type\",e:/[:={\\[\\n;]/,eE:!0,c:[{bK:\"extends with\",r:10},{b:/\\[/,e:/\\]/,eB:!0,eE:!0,r:0,c:[n]},{cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0,r:0,c:[n]},o]},l={cN:\"function\",bK:\"def\",e:/[:={\\[(\\n;]/,eE:!0,c:[o]};return{k:{literal:\"true false null\",keyword:\"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit\"},c:[e.CLCM,e.CBCM,a,i,n,l,s,e.CNM,t]}}),e.registerLanguage(\"scheme\",function(e){var t=\"[^\\\\(\\\\)\\\\[\\\\]\\\\{\\\\}\\\",'`;#|\\\\\\\\\\\\s]+\",r=\"(\\\\-|\\\\+)?\\\\d+([./]\\\\d+)?\",a=r+\"[+\\\\-]\"+r+\"i\",i={\"builtin-name\":\"case-lambda call/cc class define-class exit-handler field import inherit init-field interface let*-values let-values let/ec mixin opt-lambda override protect provide public rename require require-for-syntax syntax syntax-case syntax-error unit/sig unless when with-syntax and begin call-with-current-continuation call-with-input-file call-with-output-file case cond define define-syntax delay do dynamic-wind else for-each if lambda let let* let-syntax letrec letrec-syntax map or syntax-rules ' * + , ,@ - ... / ; < <= = => > >= ` abs acos angle append apply asin assoc assq assv atan boolean? caar cadr call-with-input-file call-with-output-file call-with-values car cdddar cddddr cdr ceiling char->integer char-alphabetic? char-ci<=? char-ci<? char-ci=? char-ci>=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char<? char=? char>=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci<? string-ci=? string-ci>=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string<? string=? string>=? string>? string? substring symbol->string symbol? tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?\"},n={cN:\"meta\",b:\"^#!\",e:\"$\"},o={cN:\"literal\",b:\"(#t|#f|#\\\\\\\\\"+t+\"|#\\\\\\\\.)\"},s={cN:\"number\",v:[{b:r,r:0},{b:a,r:0},{b:\"#b[0-1]+(/[0-1]+)?\"},{b:\"#o[0-7]+(/[0-7]+)?\"},{b:\"#x[0-9a-f]+(/[0-9a-f]+)?\"}]},l=e.QSM,c=[e.C(\";\",\"$\",{r:0}),e.C(\"#\\\\|\",\"\\\\|#\")],d={b:t,r:0},p={cN:\"symbol\",b:\"'\"+t},m={eW:!0,r:0},u={v:[{b:/'/},{b:\"`\"}],c:[{b:\"\\\\(\",e:\"\\\\)\",c:[\"self\",o,l,s,d,p]}]},b={cN:\"name\",b:t,l:t,k:i},g={b:/lambda/,eW:!0,rB:!0,c:[b,{b:/\\(/,e:/\\)/,endsParent:!0,c:[d]}]},f={v:[{b:\"\\\\(\",e:\"\\\\)\"},{b:\"\\\\[\",e:\"\\\\]\"}],c:[g,b,m]};return m.c=[o,s,l,d,p,u,f].concat(c),{i:/\\S/,c:[n,s,l,p,u,f].concat(c)}}),e.registerLanguage(\"scilab\",function(e){var t=[e.CNM,{cN:\"string\",b:\"'|\\\"\",e:\"'|\\\"\",c:[e.BE,{b:\"''\"}]}];return{aliases:[\"sci\"],l:/%?\\w+/,k:{keyword:\"abort break case clear catch continue do elseif else endfunction end for function global if pause return resume select try then while\",literal:\"%f %F %t %T %pi %eps %inf %nan %e %i %z %s\",built_in:\"abs and acos asin atan ceil cd chdir clearglobal cosh cos cumprod deff disp error exec execstr exists exp eye gettext floor fprintf fread fsolve imag isdef isempty isinfisnan isvector lasterror length load linspace list listfiles log10 log2 log max min msprintf mclose mopen ones or pathconvert poly printf prod pwd rand real round sinh sin size gsort sprintf sqrt strcat strcmps tring sum system tanh tan type typename warning zeros matrix\"},i:'(\"|#|/\\\\*|\\\\s+/\\\\w+)',c:[{cN:\"function\",bK:\"function\",e:\"$\",c:[e.UTM,{cN:\"params\",b:\"\\\\(\",e:\"\\\\)\"}]},{b:\"[a-zA-Z_][a-zA-Z_0-9]*('+[\\\\.']*|[\\\\.']+)\",e:\"\",r:0},{b:\"\\\\[\",e:\"\\\\]'*[\\\\.']*\",r:0,c:t},e.C(\"//\",\"$\")].concat(t)}}),e.registerLanguage(\"scss\",function(e){var t=\"[a-zA-Z-][a-zA-Z0-9_-]*\",r={cN:\"variable\",b:\"(\\\\$\"+t+\")\\\\b\"},a={cN:\"number\",b:\"#[0-9A-Fa-f]+\"};({cN:\"attribute\",b:\"[A-Z\\\\_\\\\.\\\\-]+\",e:\":\",eE:!0,i:\"[^\\\\s]\",starts:{eW:!0,eE:!0,c:[a,e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:\"meta\",b:\"!important\"}]}});return{cI:!0,i:\"[=/|']\",c:[e.CLCM,e.CBCM,{cN:\"selector-id\",b:\"\\\\#[A-Za-z0-9_-]+\",r:0},{cN:\"selector-class\",b:\"\\\\.[A-Za-z0-9_-]+\",r:0},{cN:\"selector-attr\",b:\"\\\\[\",e:\"\\\\]\",i:\"$\"},{cN:\"selector-tag\",b:\"\\\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\\\b\",r:0},{b:\":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)\"},{b:\"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)\"},r,{cN:\"attribute\",b:\"\\\\b(z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\\\b\",\ni:\"[^\\\\s]\"},{b:\"\\\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\\\b\"},{b:\":\",e:\";\",c:[r,a,e.CSSNM,e.QSM,e.ASM,{cN:\"meta\",b:\"!important\"}]},{b:\"@\",e:\"[{;]\",k:\"mixin include extend for if else each while charset import debug media page content font-face namespace warn\",c:[r,e.QSM,e.ASM,a,e.CSSNM,{b:\"\\\\s[A-Za-z0-9_.-]+\",r:0}]}]}}),e.registerLanguage(\"shell\",function(e){return{aliases:[\"console\"],c:[{cN:\"meta\",b:\"^\\\\s{0,3}[\\\\w\\\\d\\\\[\\\\]()@-]*[>%$#]\",starts:{e:\"$\",sL:\"bash\"}}]}}),e.registerLanguage(\"smali\",function(e){var t=[\"add\",\"and\",\"cmp\",\"cmpg\",\"cmpl\",\"const\",\"div\",\"double\",\"float\",\"goto\",\"if\",\"int\",\"long\",\"move\",\"mul\",\"neg\",\"new\",\"nop\",\"not\",\"or\",\"rem\",\"return\",\"shl\",\"shr\",\"sput\",\"sub\",\"throw\",\"ushr\",\"xor\"],r=[\"aget\",\"aput\",\"array\",\"check\",\"execute\",\"fill\",\"filled\",\"goto/16\",\"goto/32\",\"iget\",\"instance\",\"invoke\",\"iput\",\"monitor\",\"packed\",\"sget\",\"sparse\"],a=[\"transient\",\"constructor\",\"abstract\",\"final\",\"synthetic\",\"public\",\"private\",\"protected\",\"static\",\"bridge\",\"system\"];return{aliases:[\"smali\"],c:[{cN:\"string\",b:'\"',e:'\"',r:0},e.C(\"#\",\"$\",{r:0}),{cN:\"keyword\",v:[{b:\"\\\\s*\\\\.end\\\\s[a-zA-Z0-9]*\"},{b:\"^[ ]*\\\\.[a-zA-Z]*\",r:0},{b:\"\\\\s:[a-zA-Z_0-9]*\",r:0},{b:\"\\\\s(\"+a.join(\"|\")+\")\"}]},{cN:\"built_in\",v:[{b:\"\\\\s(\"+t.join(\"|\")+\")\\\\s\"},{b:\"\\\\s(\"+t.join(\"|\")+\")((\\\\-|/)[a-zA-Z0-9]+)+\\\\s\",r:10},{b:\"\\\\s(\"+r.join(\"|\")+\")((\\\\-|/)[a-zA-Z0-9]+)*\\\\s\",r:10}]},{cN:\"class\",b:\"L[^(;:\\n]*;\",r:0},{b:\"[vp][0-9]+\"}]}}),e.registerLanguage(\"smalltalk\",function(e){var t=\"[a-z][a-zA-Z0-9_]*\",r={cN:\"string\",b:\"\\\\$.{1}\"},a={cN:\"symbol\",b:\"#\"+e.UIR};return{aliases:[\"st\"],k:\"self super nil true false thisContext\",c:[e.C('\"','\"'),e.ASM,{cN:\"type\",b:\"\\\\b[A-Z][A-Za-z0-9_]*\",r:0},{b:t+\":\",r:0},e.CNM,a,r,{b:\"\\\\|[ ]*\"+t+\"([ ]+\"+t+\")*[ ]*\\\\|\",rB:!0,e:/\\|/,i:/\\S/,c:[{b:\"(\\\\|[ ]*)?\"+t}]},{b:\"\\\\#\\\\(\",e:\"\\\\)\",c:[e.ASM,r,e.CNM,a]}]}}),e.registerLanguage(\"sml\",function(e){return{aliases:[\"ml\"],k:{keyword:\"abstype and andalso as case datatype do else end eqtype exception fn fun functor handle if in include infix infixr let local nonfix of op open orelse raise rec sharing sig signature struct structure then type val with withtype where while\",built_in:\"array bool char exn int list option order real ref string substring vector unit word\",literal:\"true false NONE SOME LESS EQUAL GREATER nil\"},i:/\\/\\/|>>/,l:\"[a-z_]\\\\w*!?\",c:[{cN:\"literal\",b:/\\[(\\|\\|)?\\]|\\(\\)/,r:0},e.C(\"\\\\(\\\\*\",\"\\\\*\\\\)\",{c:[\"self\"]}),{cN:\"symbol\",b:\"'[A-Za-z_](?!')[\\\\w']*\"},{cN:\"type\",b:\"`[A-Z][\\\\w']*\"},{cN:\"type\",b:\"\\\\b[A-Z][\\\\w']*\",r:0},{b:\"[a-z_]\\\\w*'[\\\\w']*\"},e.inherit(e.ASM,{cN:\"string\",r:0}),e.inherit(e.QSM,{i:null}),{cN:\"number\",b:\"\\\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)\",r:0},{b:/[-=]>/}]}}),e.registerLanguage(\"sqf\",function(e){var t=e.getLanguage(\"cpp\").exports,r={cN:\"variable\",b:/\\b_+[a-zA-Z_]\\w*/},a={cN:\"title\",b:/[a-zA-Z][a-zA-Z0-9]+_fnc_\\w*/},i={cN:\"string\",v:[{b:'\"',e:'\"',c:[{b:'\"\"',r:0}]},{b:\"'\",e:\"'\",c:[{b:\"''\",r:0}]}]};return{aliases:[\"sqf\"],cI:!0,k:{keyword:\"case catch default do else exit exitWith for forEach from if switch then throw to try waitUntil while with\",built_in:\"abs accTime acos action actionIDs actionKeys actionKeysImages actionKeysNames actionKeysNamesArray actionName actionParams activateAddons activatedAddons activateKey add3DENConnection add3DENEventHandler add3DENLayer addAction addBackpack addBackpackCargo addBackpackCargoGlobal addBackpackGlobal addCamShake addCuratorAddons addCuratorCameraArea addCuratorEditableObjects addCuratorEditingArea addCuratorPoints addEditorObject addEventHandler addGoggles addGroupIcon addHandgunItem addHeadgear addItem addItemCargo addItemCargoGlobal addItemPool addItemToBackpack addItemToUniform addItemToVest addLiveStats addMagazine addMagazineAmmoCargo addMagazineCargo addMagazineCargoGlobal addMagazineGlobal addMagazinePool addMagazines addMagazineTurret addMenu addMenuItem addMissionEventHandler addMPEventHandler addMusicEventHandler addOwnedMine addPlayerScores addPrimaryWeaponItem addPublicVariableEventHandler addRating addResources addScore addScoreSide addSecondaryWeaponItem addSwitchableUnit addTeamMember addToRemainsCollector addUniform addVehicle addVest addWaypoint addWeapon addWeaponCargo addWeaponCargoGlobal addWeaponGlobal addWeaponItem addWeaponPool addWeaponTurret agent agents AGLToASL aimedAtTarget aimPos airDensityRTD airportSide AISFinishHeal alive all3DENEntities allControls allCurators allCutLayers allDead allDeadMen allDisplays allGroups allMapMarkers allMines allMissionObjects allow3DMode allowCrewInImmobile allowCuratorLogicIgnoreAreas allowDamage allowDammage allowFileOperations allowFleeing allowGetIn allowSprint allPlayers allSites allTurrets allUnits allUnitsUAV allVariables ammo and animate animateDoor animateSource animationNames animationPhase animationSourcePhase animationState append apply armoryPoints arrayIntersect asin ASLToAGL ASLToATL assert assignAsCargo assignAsCargoIndex assignAsCommander assignAsDriver assignAsGunner assignAsTurret assignCurator assignedCargo assignedCommander assignedDriver assignedGunner assignedItems assignedTarget assignedTeam assignedVehicle assignedVehicleRole assignItem assignTeam assignToAirport atan atan2 atg ATLToASL attachedObject attachedObjects attachedTo attachObject attachTo attackEnabled backpack backpackCargo backpackContainer backpackItems backpackMagazines backpackSpaceFor behaviour benchmark binocular blufor boundingBox boundingBoxReal boundingCenter breakOut breakTo briefingName buildingExit buildingPos buttonAction buttonSetAction cadetMode call callExtension camCommand camCommit camCommitPrepared camCommitted camConstuctionSetParams camCreate camDestroy cameraEffect cameraEffectEnableHUD cameraInterest cameraOn cameraView campaignConfigFile camPreload camPreloaded camPrepareBank camPrepareDir camPrepareDive camPrepareFocus camPrepareFov camPrepareFovRange camPreparePos camPrepareRelPos camPrepareTarget camSetBank camSetDir camSetDive camSetFocus camSetFov camSetFovRange camSetPos camSetRelPos camSetTarget camTarget camUseNVG canAdd canAddItemToBackpack canAddItemToUniform canAddItemToVest cancelSimpleTaskDestination canFire canMove canSlingLoad canStand canSuspend canUnloadInCombat canVehicleCargo captive captiveNum cbChecked cbSetChecked ceil channelEnabled cheatsEnabled checkAIFeature checkVisibility civilian className clearAllItemsFromBackpack clearBackpackCargo clearBackpackCargoGlobal clearGroupIcons clearItemCargo clearItemCargoGlobal clearItemPool clearMagazineCargo clearMagazineCargoGlobal clearMagazinePool clearOverlay clearRadio clearWeaponCargo clearWeaponCargoGlobal clearWeaponPool clientOwner closeDialog closeDisplay closeOverlay collapseObjectTree collect3DENHistory combatMode commandArtilleryFire commandChat commander commandFire commandFollow commandFSM commandGetOut commandingMenu commandMove commandRadio commandStop commandSuppressiveFire commandTarget commandWatch comment commitOverlay compile compileFinal completedFSM composeText configClasses configFile configHierarchy configName configNull configProperties configSourceAddonList configSourceMod configSourceModList connectTerminalToUAV controlNull controlsGroupCtrl copyFromClipboard copyToClipboard copyWaypoints cos count countEnemy countFriendly countSide countType countUnknown create3DENComposition create3DENEntity createAgent createCenter createDialog createDiaryLink createDiaryRecord createDiarySubject createDisplay createGearDialog createGroup createGuardedPoint createLocation createMarker createMarkerLocal createMenu createMine createMissionDisplay createMPCampaignDisplay createSimpleObject createSimpleTask createSite createSoundSource createTask createTeam createTrigger createUnit createVehicle createVehicleCrew createVehicleLocal crew ctrlActivate ctrlAddEventHandler ctrlAngle ctrlAutoScrollDelay ctrlAutoScrollRewind ctrlAutoScrollSpeed ctrlChecked ctrlClassName ctrlCommit ctrlCommitted ctrlCreate ctrlDelete ctrlEnable ctrlEnabled ctrlFade ctrlHTMLLoaded ctrlIDC ctrlIDD ctrlMapAnimAdd ctrlMapAnimClear ctrlMapAnimCommit ctrlMapAnimDone ctrlMapCursor ctrlMapMouseOver ctrlMapScale ctrlMapScreenToWorld ctrlMapWorldToScreen ctrlModel ctrlModelDirAndUp ctrlModelScale ctrlParent ctrlParentControlsGroup ctrlPosition ctrlRemoveAllEventHandlers ctrlRemoveEventHandler ctrlScale ctrlSetActiveColor ctrlSetAngle ctrlSetAutoScrollDelay ctrlSetAutoScrollRewind ctrlSetAutoScrollSpeed ctrlSetBackgroundColor ctrlSetChecked ctrlSetEventHandler ctrlSetFade ctrlSetFocus ctrlSetFont ctrlSetFontH1 ctrlSetFontH1B ctrlSetFontH2 ctrlSetFontH2B ctrlSetFontH3 ctrlSetFontH3B ctrlSetFontH4 ctrlSetFontH4B ctrlSetFontH5 ctrlSetFontH5B ctrlSetFontH6 ctrlSetFontH6B ctrlSetFontHeight ctrlSetFontHeightH1 ctrlSetFontHeightH2 ctrlSetFontHeightH3 ctrlSetFontHeightH4 ctrlSetFontHeightH5 ctrlSetFontHeightH6 ctrlSetFontHeightSecondary ctrlSetFontP ctrlSetFontPB ctrlSetFontSecondary ctrlSetForegroundColor ctrlSetModel ctrlSetModelDirAndUp ctrlSetModelScale ctrlSetPosition ctrlSetScale ctrlSetStructuredText ctrlSetText ctrlSetTextColor ctrlSetTooltip ctrlSetTooltipColorBox ctrlSetTooltipColorShade ctrlSetTooltipColorText ctrlShow ctrlShown ctrlText ctrlTextHeight ctrlType ctrlVisible curatorAddons curatorCamera curatorCameraArea curatorCameraAreaCeiling curatorCoef curatorEditableObjects curatorEditingArea curatorEditingAreaType curatorMouseOver curatorPoints curatorRegisteredObjects curatorSelected curatorWaypointCost current3DENOperation currentChannel currentCommand currentMagazine currentMagazineDetail currentMagazineDetailTurret currentMagazineTurret currentMuzzle currentNamespace currentTask currentTasks currentThrowable currentVisionMode currentWaypoint currentWeapon currentWeaponMode currentWeaponTurret currentZeroing cursorObject cursorTarget customChat customRadio cutFadeOut cutObj cutRsc cutText damage date dateToNumber daytime deActivateKey debriefingText debugFSM debugLog deg delete3DENEntities deleteAt deleteCenter deleteCollection deleteEditorObject deleteGroup deleteIdentity deleteLocation deleteMarker deleteMarkerLocal deleteRange deleteResources deleteSite deleteStatus deleteTeam deleteVehicle deleteVehicleCrew deleteWaypoint detach detectedMines diag_activeMissionFSMs diag_activeScripts diag_activeSQFScripts diag_activeSQSScripts diag_captureFrame diag_captureSlowFrame diag_codePerformance diag_drawMode diag_enable diag_enabled diag_fps diag_fpsMin diag_frameNo diag_list diag_log diag_logSlowFrame diag_mergeConfigFile diag_recordTurretLimits diag_tickTime diag_toggle dialog diarySubjectExists didJIP didJIPOwner difficulty difficultyEnabled difficultyEnabledRTD difficultyOption direction directSay disableAI disableCollisionWith disableConversation disableDebriefingStats disableNVGEquipment disableRemoteSensors disableSerialization disableTIEquipment disableUAVConnectability disableUserInput displayAddEventHandler displayCtrl displayNull displayParent displayRemoveAllEventHandlers displayRemoveEventHandler displaySetEventHandler dissolveTeam distance distance2D distanceSqr distributionRegion do3DENAction doArtilleryFire doFire doFollow doFSM doGetOut doMove doorPhase doStop doSuppressiveFire doTarget doWatch drawArrow drawEllipse drawIcon drawIcon3D drawLine drawLine3D drawLink drawLocation drawPolygon drawRectangle driver drop east echo edit3DENMissionAttributes editObject editorSetEventHandler effectiveCommander emptyPositions enableAI enableAIFeature enableAimPrecision enableAttack enableAudioFeature enableCamShake enableCaustics enableChannel enableCollisionWith enableCopilot enableDebriefingStats enableDiagLegend enableEndDialog enableEngineArtillery enableEnvironment enableFatigue enableGunLights enableIRLasers enableMimics enablePersonTurret enableRadio enableReload enableRopeAttach enableSatNormalOnDetail enableSaving enableSentences enableSimulation enableSimulationGlobal enableStamina enableTeamSwitch enableUAVConnectability enableUAVWaypoints enableVehicleCargo endLoadingScreen endMission engineOn enginesIsOnRTD enginesRpmRTD enginesTorqueRTD entities estimatedEndServerTime estimatedTimeLeft evalObjectArgument everyBackpack everyContainer exec execEditorScript execFSM execVM exp expectedDestination exportJIPMessages eyeDirection eyePos face faction fadeMusic fadeRadio fadeSound fadeSpeech failMission fillWeaponsFromPool find findCover findDisplay findEditorObject findEmptyPosition findEmptyPositionReady findNearestEnemy finishMissionInit finite fire fireAtTarget firstBackpack flag flagOwner flagSide flagTexture fleeing floor flyInHeight flyInHeightASL fog fogForecast fogParams forceAddUniform forcedMap forceEnd forceMap forceRespawn forceSpeed forceWalk forceWeaponFire forceWeatherChange forEachMember forEachMemberAgent forEachMemberTeam format formation formationDirection formationLeader formationMembers formationPosition formationTask formatText formLeader freeLook fromEditor fuel fullCrew gearIDCAmmoCount gearSlotAmmoCount gearSlotData get3DENActionState get3DENAttribute get3DENCamera get3DENConnections get3DENEntity get3DENEntityID get3DENGrid get3DENIconsVisible get3DENLayerEntities get3DENLinesVisible get3DENMissionAttribute get3DENMouseOver get3DENSelected getAimingCoef getAllHitPointsDamage getAllOwnedMines getAmmoCargo getAnimAimPrecision getAnimSpeedCoef getArray getArtilleryAmmo getArtilleryComputerSettings getArtilleryETA getAssignedCuratorLogic getAssignedCuratorUnit getBackpackCargo getBleedingRemaining getBurningValue getCameraViewDirection getCargoIndex getCenterOfMass getClientState getClientStateNumber getConnectedUAV getCustomAimingCoef getDammage getDescription getDir getDirVisual getDLCs getEditorCamera getEditorMode getEditorObjectScope getElevationOffset getFatigue getFriend getFSMVariable getFuelCargo getGroupIcon getGroupIconParams getGroupIcons getHideFrom getHit getHitIndex getHitPointDamage getItemCargo getMagazineCargo getMarkerColor getMarkerPos getMarkerSize getMarkerType getMass getMissionConfig getMissionConfigValue getMissionDLCs getMissionLayerEntities getModelInfo getMousePosition getNumber getObjectArgument getObjectChildren getObjectDLC getObjectMaterials getObjectProxy getObjectTextures getObjectType getObjectViewDistance getOxygenRemaining getPersonUsedDLCs getPilotCameraDirection getPilotCameraPosition getPilotCameraRotation getPilotCameraTarget getPlayerChannel getPlayerScores getPlayerUID getPos getPosASL getPosASLVisual getPosASLW getPosATL getPosATLVisual getPosVisual getPosWorld getRelDir getRelPos getRemoteSensorsDisabled getRepairCargo getResolution getShadowDistance getShotParents getSlingLoad getSpeed getStamina getStatValue getSuppression getTerrainHeightASL getText getUnitLoadout getUnitTrait getVariable getVehicleCargo getWeaponCargo getWeaponSway getWPPos glanceAt globalChat globalRadio goggles goto group groupChat groupFromNetId groupIconSelectable groupIconsVisible groupId groupOwner groupRadio groupSelectedUnits groupSelectUnit grpNull gunner gusts halt handgunItems handgunMagazine handgunWeapon handsHit hasInterface hasPilotCamera hasWeapon hcAllGroups hcGroupParams hcLeader hcRemoveAllGroups hcRemoveGroup hcSelected hcSelectGroup hcSetGroup hcShowBar hcShownBar headgear hideBody hideObject hideObjectGlobal hideSelection hint hintC hintCadet hintSilent hmd hostMission htmlLoad HUDMovementLevels humidity image importAllGroups importance in inArea inAreaArray incapacitatedState independent inflame inflamed inGameUISetEventHandler inheritsFrom initAmbientLife inPolygon inputAction inRangeOfArtillery insertEditorObject intersect is3DEN is3DENMultiplayer isAbleToBreathe isAgent isArray isAutoHoverOn isAutonomous isAutotest isBleeding isBurning isClass isCollisionLightOn isCopilotEnabled isDedicated isDLCAvailable isEngineOn isEqualTo isEqualType isEqualTypeAll isEqualTypeAny isEqualTypeArray isEqualTypeParams isFilePatchingEnabled isFlashlightOn isFlatEmpty isForcedWalk isFormationLeader isHidden isInRemainsCollector isInstructorFigureEnabled isIRLaserOn isKeyActive isKindOf isLightOn isLocalized isManualFire isMarkedForCollection isMultiplayer isMultiplayerSolo isNil isNull isNumber isObjectHidden isObjectRTD isOnRoad isPipEnabled isPlayer isRealTime isRemoteExecuted isRemoteExecutedJIP isServer isShowing3DIcons isSprintAllowed isStaminaEnabled isSteamMission isStreamFriendlyUIEnabled isText isTouchingGround isTurnedOut isTutHintsEnabled isUAVConnectable isUAVConnected isUniformAllowed isVehicleCargo isWalking isWeaponDeployed isWeaponRested itemCargo items itemsWithMagazines join joinAs joinAsSilent joinSilent joinString kbAddDatabase kbAddDatabaseTargets kbAddTopic kbHasTopic kbReact kbRemoveTopic kbTell kbWasSaid keyImage keyName knowsAbout land landAt landResult language laserTarget lbAdd lbClear lbColor lbCurSel lbData lbDelete lbIsSelected lbPicture lbSelection lbSetColor lbSetCurSel lbSetData lbSetPicture lbSetPictureColor lbSetPictureColorDisabled lbSetPictureColorSelected lbSetSelectColor lbSetSelectColorRight lbSetSelected lbSetTooltip lbSetValue lbSize lbSort lbSortByValue lbText lbValue leader leaderboardDeInit leaderboardGetRows leaderboardInit leaveVehicle libraryCredits libraryDisclaimers lifeState lightAttachObject lightDetachObject lightIsOn lightnings limitSpeed linearConversion lineBreak lineIntersects lineIntersectsObjs lineIntersectsSurfaces lineIntersectsWith linkItem list listObjects ln lnbAddArray lnbAddColumn lnbAddRow lnbClear lnbColor lnbCurSelRow lnbData lnbDeleteColumn lnbDeleteRow lnbGetColumnsPosition lnbPicture lnbSetColor lnbSetColumnsPos lnbSetCurSelRow lnbSetData lnbSetPicture lnbSetText lnbSetValue lnbSize lnbText lnbValue load loadAbs loadBackpack loadFile loadGame loadIdentity loadMagazine loadOverlay loadStatus loadUniform loadVest local localize locationNull locationPosition lock lockCameraTo lockCargo lockDriver locked lockedCargo lockedDriver lockedTurret lockIdentity lockTurret lockWP log logEntities logNetwork logNetworkTerminate lookAt lookAtPos magazineCargo magazines magazinesAllTurrets magazinesAmmo magazinesAmmoCargo magazinesAmmoFull magazinesDetail magazinesDetailBackpack magazinesDetailUniform magazinesDetailVest magazinesTurret magazineTurretAmmo mapAnimAdd mapAnimClear mapAnimCommit mapAnimDone mapCenterOnCamera mapGridPosition markAsFinishedOnSteam markerAlpha markerBrush markerColor markerDir markerPos markerShape markerSize markerText markerType max members menuAction menuAdd menuChecked menuClear menuCollapse menuData menuDelete menuEnable menuEnabled menuExpand menuHover menuPicture menuSetAction menuSetCheck menuSetData menuSetPicture menuSetValue menuShortcut menuShortcutText menuSize menuSort menuText menuURL menuValue min mineActive mineDetectedBy missionConfigFile missionDifficulty missionName missionNamespace missionStart missionVersion mod modelToWorld modelToWorldVisual modParams moonIntensity moonPhase morale move move3DENCamera moveInAny moveInCargo moveInCommander moveInDriver moveInGunner moveInTurret moveObjectToEnd moveOut moveTime moveTo moveToCompleted moveToFailed musicVolume name nameSound nearEntities nearestBuilding nearestLocation nearestLocations nearestLocationWithDubbing nearestObject nearestObjects nearestTerrainObjects nearObjects nearObjectsReady nearRoads nearSupplies nearTargets needReload netId netObjNull newOverlay nextMenuItemIndex nextWeatherChange nMenuItems not numberToDate objectCurators objectFromNetId objectParent objNull objStatus onBriefingGroup onBriefingNotes onBriefingPlan onBriefingTeamSwitch onCommandModeChanged onDoubleClick onEachFrame onGroupIconClick onGroupIconOverEnter onGroupIconOverLeave onHCGroupSelectionChanged onMapSingleClick onPlayerConnected onPlayerDisconnected onPreloadFinished onPreloadStarted onShowNewObject onTeamSwitch openCuratorInterface openDLCPage openMap openYoutubeVideo opfor or orderGetIn overcast overcastForecast owner param params parseNumber parseText parsingNamespace particlesQuality pi pickWeaponPool pitch pixelGrid pixelGridBase pixelGridNoUIScale pixelH pixelW playableSlotsNumber playableUnits playAction playActionNow player playerRespawnTime playerSide playersNumber playGesture playMission playMove playMoveNow playMusic playScriptedMission playSound playSound3D position positionCameraToWorld posScreenToWorld posWorldToScreen ppEffectAdjust ppEffectCommit ppEffectCommitted ppEffectCreate ppEffectDestroy ppEffectEnable ppEffectEnabled ppEffectForceInNVG precision preloadCamera preloadObject preloadSound preloadTitleObj preloadTitleRsc preprocessFile preprocessFileLineNumbers primaryWeapon primaryWeaponItems primaryWeaponMagazine priority private processDiaryLink productVersion profileName profileNamespace profileNameSteam progressLoadingScreen progressPosition progressSetPosition publicVariable publicVariableClient publicVariableServer pushBack pushBackUnique putWeaponPool queryItemsPool queryMagazinePool queryWeaponPool rad radioChannelAdd radioChannelCreate radioChannelRemove radioChannelSetCallSign radioChannelSetLabel radioVolume rain rainbow random rank rankId rating rectangular registeredTasks registerTask reload reloadEnabled remoteControl remoteExec remoteExecCall remove3DENConnection remove3DENEventHandler remove3DENLayer removeAction removeAll3DENEventHandlers removeAllActions removeAllAssignedItems removeAllContainers removeAllCuratorAddons removeAllCuratorCameraAreas removeAllCuratorEditingAreas removeAllEventHandlers removeAllHandgunItems removeAllItems removeAllItemsWithMagazines removeAllMissionEventHandlers removeAllMPEventHandlers removeAllMusicEventHandlers removeAllOwnedMines removeAllPrimaryWeaponItems removeAllWeapons removeBackpack removeBackpackGlobal removeCuratorAddons removeCuratorCameraArea removeCuratorEditableObjects removeCuratorEditingArea removeDrawIcon removeDrawLinks removeEventHandler removeFromRemainsCollector removeGoggles removeGroupIcon removeHandgunItem removeHeadgear removeItem removeItemFromBackpack removeItemFromUniform removeItemFromVest removeItems removeMagazine removeMagazineGlobal removeMagazines removeMagazinesTurret removeMagazineTurret removeMenuItem removeMissionEventHandler removeMPEventHandler removeMusicEventHandler removeOwnedMine removePrimaryWeaponItem removeSecondaryWeaponItem removeSimpleTask removeSwitchableUnit removeTeamMember removeUniform removeVest removeWeapon removeWeaponGlobal removeWeaponTurret requiredVersion resetCamShake resetSubgroupDirection resistance resize resources respawnVehicle restartEditorCamera reveal revealMine reverse reversedMouseY roadAt roadsConnectedTo roleDescription ropeAttachedObjects ropeAttachedTo ropeAttachEnabled ropeAttachTo ropeCreate ropeCut ropeDestroy ropeDetach ropeEndPosition ropeLength ropes ropeUnwind ropeUnwound rotorsForcesRTD rotorsRpmRTD round runInitScript safeZoneH safeZoneW safeZoneWAbs safeZoneX safeZoneXAbs safeZoneY save3DENInventory saveGame saveIdentity saveJoysticks saveOverlay saveProfileNamespace saveStatus saveVar savingEnabled say say2D say3D scopeName score scoreSide screenshot screenToWorld scriptDone scriptName scriptNull scudState secondaryWeapon secondaryWeaponItems secondaryWeaponMagazine select selectBestPlaces selectDiarySubject selectedEditorObjects selectEditorObject selectionNames selectionPosition selectLeader selectMax selectMin selectNoPlayer selectPlayer selectRandom selectWeapon selectWeaponTurret sendAUMessage sendSimpleCommand sendTask sendTaskResult sendUDPMessage serverCommand serverCommandAvailable serverCommandExecutable serverName serverTime set set3DENAttribute set3DENAttributes set3DENGrid set3DENIconsVisible set3DENLayer set3DENLinesVisible set3DENMissionAttributes set3DENModelsVisible set3DENObjectType set3DENSelected setAccTime setAirportSide setAmmo setAmmoCargo setAnimSpeedCoef setAperture setApertureNew setArmoryPoints setAttributes setAutonomous setBehaviour setBleedingRemaining setCameraInterest setCamShakeDefParams setCamShakeParams setCamUseTi setCaptive setCenterOfMass setCollisionLight setCombatMode setCompassOscillation setCuratorCameraAreaCeiling setCuratorCoef setCuratorEditingAreaType setCuratorWaypointCost setCurrentChannel setCurrentTask setCurrentWaypoint setCustomAimCoef setDamage setDammage setDate setDebriefingText setDefaultCamera setDestination setDetailMapBlendPars setDir setDirection setDrawIcon setDropInterval setEditorMode setEditorObjectScope setEffectCondition setFace setFaceAnimation setFatigue setFlagOwner setFlagSide setFlagTexture setFog setFormation setFormationTask setFormDir setFriend setFromEditor setFSMVariable setFuel setFuelCargo setGroupIcon setGroupIconParams setGroupIconsSelectable setGroupIconsVisible setGroupId setGroupIdGlobal setGroupOwner setGusts setHideBehind setHit setHitIndex setHitPointDamage setHorizonParallaxCoef setHUDMovementLevels setIdentity setImportance setLeader setLightAmbient setLightAttenuation setLightBrightness setLightColor setLightDayLight setLightFlareMaxDistance setLightFlareSize setLightIntensity setLightnings setLightUseFlare setLocalWindParams setMagazineTurretAmmo setMarkerAlpha setMarkerAlphaLocal setMarkerBrush setMarkerBrushLocal setMarkerColor setMarkerColorLocal setMarkerDir setMarkerDirLocal setMarkerPos setMarkerPosLocal setMarkerShape setMarkerShapeLocal setMarkerSize setMarkerSizeLocal setMarkerText setMarkerTextLocal setMarkerType setMarkerTypeLocal setMass setMimic setMousePosition setMusicEffect setMusicEventHandler setName setNameSound setObjectArguments setObjectMaterial setObjectMaterialGlobal setObjectProxy setObjectTexture setObjectTextureGlobal setObjectViewDistance setOvercast setOwner setOxygenRemaining setParticleCircle setParticleClass setParticleFire setParticleParams setParticleRandom setPilotCameraDirection setPilotCameraRotation setPilotCameraTarget setPilotLight setPiPEffect setPitch setPlayable setPlayerRespawnTime setPos setPosASL setPosASL2 setPosASLW setPosATL setPosition setPosWorld setRadioMsg setRain setRainbow setRandomLip setRank setRectangular setRepairCargo setShadowDistance setShotParents setSide setSimpleTaskAlwaysVisible setSimpleTaskCustomData setSimpleTaskDescription setSimpleTaskDestination setSimpleTaskTarget setSimpleTaskType setSimulWeatherLayers setSize setSkill setSlingLoad setSoundEffect setSpeaker setSpeech setSpeedMode setStamina setStaminaScheme setStatValue setSuppression setSystemOfUnits setTargetAge setTaskResult setTaskState setTerrainGrid setText setTimeMultiplier setTitleEffect setTriggerActivation setTriggerArea setTriggerStatements setTriggerText setTriggerTimeout setTriggerType setType setUnconscious setUnitAbility setUnitLoadout setUnitPos setUnitPosWeak setUnitRank setUnitRecoilCoefficient setUnitTrait setUnloadInCombat setUserActionText setVariable setVectorDir setVectorDirAndUp setVectorUp setVehicleAmmo setVehicleAmmoDef setVehicleArmor setVehicleCargo setVehicleId setVehicleLock setVehiclePosition setVehicleTiPars setVehicleVarName setVelocity setVelocityTransformation setViewDistance setVisibleIfTreeCollapsed setWaves setWaypointBehaviour setWaypointCombatMode setWaypointCompletionRadius setWaypointDescription setWaypointForceBehaviour setWaypointFormation setWaypointHousePosition setWaypointLoiterRadius setWaypointLoiterType setWaypointName setWaypointPosition setWaypointScript setWaypointSpeed setWaypointStatements setWaypointTimeout setWaypointType setWaypointVisible setWeaponReloadingTime setWind setWindDir setWindForce setWindStr setWPPos show3DIcons showChat showCinemaBorder showCommandingMenu showCompass showCuratorCompass showGPS showHUD showLegend showMap shownArtilleryComputer shownChat shownCompass shownCuratorCompass showNewEditorObject shownGPS shownHUD shownMap shownPad shownRadio shownScoretable shownUAVFeed shownWarrant shownWatch showPad showRadio showScoretable showSubtitles showUAVFeed showWarrant showWatch showWaypoint showWaypoints side sideAmbientLife sideChat sideEmpty sideEnemy sideFriendly sideLogic sideRadio sideUnknown simpleTasks simulationEnabled simulCloudDensity simulCloudOcclusion simulInClouds simulWeatherSync sin size sizeOf skill skillFinal skipTime sleep sliderPosition sliderRange sliderSetPosition sliderSetRange sliderSetSpeed sliderSpeed slingLoadAssistantShown soldierMagazines someAmmo sort soundVolume spawn speaker speed speedMode splitString sqrt squadParams stance startLoadingScreen step stop stopEngineRTD stopped str sunOrMoon supportInfo suppressFor surfaceIsWater surfaceNormal surfaceType swimInDepth switchableUnits switchAction switchCamera switchGesture switchLight switchMove synchronizedObjects synchronizedTriggers synchronizedWaypoints synchronizeObjectsAdd synchronizeObjectsRemove synchronizeTrigger synchronizeWaypoint systemChat systemOfUnits tan targetKnowledge targetsAggregate targetsQuery taskAlwaysVisible taskChildren taskCompleted taskCustomData taskDescription taskDestination taskHint taskMarkerOffset taskNull taskParent taskResult taskState taskType teamMember teamMemberNull teamName teams teamSwitch teamSwitchEnabled teamType terminate terrainIntersect terrainIntersectASL text textLog textLogFormat tg time timeMultiplier titleCut titleFadeOut titleObj titleRsc titleText toArray toFixed toLower toString toUpper triggerActivated triggerActivation triggerArea triggerAttachedVehicle triggerAttachObject triggerAttachVehicle triggerStatements triggerText triggerTimeout triggerTimeoutCurrent triggerType turretLocal turretOwner turretUnit tvAdd tvClear tvCollapse tvCount tvCurSel tvData tvDelete tvExpand tvPicture tvSetCurSel tvSetData tvSetPicture tvSetPictureColor tvSetPictureColorDisabled tvSetPictureColorSelected tvSetPictureRight tvSetPictureRightColor tvSetPictureRightColorDisabled tvSetPictureRightColorSelected tvSetText tvSetTooltip tvSetValue tvSort tvSortByValue tvText tvTooltip tvValue type typeName typeOf UAVControl uiNamespace uiSleep unassignCurator unassignItem unassignTeam unassignVehicle underwater uniform uniformContainer uniformItems uniformMagazines unitAddons unitAimPosition unitAimPositionVisual unitBackpack unitIsUAV unitPos unitReady unitRecoilCoefficient units unitsBelowHeight unlinkItem unlockAchievement unregisterTask updateDrawIcon updateMenuItem updateObjectTree useAISteeringComponent useAudioTimeForMoves vectorAdd vectorCos vectorCrossProduct vectorDiff vectorDir vectorDirVisual vectorDistance vectorDistanceSqr vectorDotProduct vectorFromTo vectorMagnitude vectorMagnitudeSqr vectorMultiply vectorNormalized vectorUp vectorUpVisual vehicle vehicleCargoEnabled vehicleChat vehicleRadio vehicles vehicleVarName velocity velocityModelSpace verifySignature vest vestContainer vestItems vestMagazines viewDistance visibleCompass visibleGPS visibleMap visiblePosition visiblePositionASL visibleScoretable visibleWatch waves waypointAttachedObject waypointAttachedVehicle waypointAttachObject waypointAttachVehicle waypointBehaviour waypointCombatMode waypointCompletionRadius waypointDescription waypointForceBehaviour waypointFormation waypointHousePosition waypointLoiterRadius waypointLoiterType waypointName waypointPosition waypoints waypointScript waypointsEnabledUAV waypointShow waypointSpeed waypointStatements waypointTimeout waypointTimeoutCurrent waypointType waypointVisible weaponAccessories weaponAccessoriesCargo weaponCargo weaponDirection weaponInertia weaponLowered weapons weaponsItems weaponsItemsCargo weaponState weaponsTurret weightRTD west WFSideText wind\",\nliteral:\"true false nil\"},c:[e.CLCM,e.CBCM,e.NM,r,a,i,t.preprocessor],i:/#/}}),e.registerLanguage(\"sql\",function(e){var t=e.C(\"--\",\"$\");return{cI:!0,i:/[<>{}*#]/,c:[{bK:\"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment\",e:/;/,eW:!0,l:/[\\w\\.]+/,k:{keyword:\"abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias allocate allow alter always analyze ancillary and any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second section securefile security seed segment select self sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek\",literal:\"true false null\",built_in:\"array bigint binary bit blob boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text varchar varying void\"},c:[{cN:\"string\",b:\"'\",e:\"'\",c:[e.BE,{b:\"''\"}]},{cN:\"string\",b:'\"',e:'\"',c:[e.BE,{b:'\"\"'}]},{cN:\"string\",b:\"`\",e:\"`\",c:[e.BE]},e.CNM,e.CBCM,t]},e.CBCM,t]}}),e.registerLanguage(\"stan\",function(e){return{c:[e.HCM,e.CLCM,e.CBCM,{b:e.UIR,l:e.UIR,k:{name:\"for in while repeat until if then else\",symbol:\"bernoulli bernoulli_logit binomial binomial_logit beta_binomial hypergeometric categorical categorical_logit ordered_logistic neg_binomial neg_binomial_2 neg_binomial_2_log poisson poisson_log multinomial normal exp_mod_normal skew_normal student_t cauchy double_exponential logistic gumbel lognormal chi_square inv_chi_square scaled_inv_chi_square exponential inv_gamma weibull frechet rayleigh wiener pareto pareto_type_2 von_mises uniform multi_normal multi_normal_prec multi_normal_cholesky multi_gp multi_gp_cholesky multi_student_t gaussian_dlm_obs dirichlet lkj_corr lkj_corr_cholesky wishart inv_wishart\",\"selector-tag\":\"int real vector simplex unit_vector ordered positive_ordered row_vector matrix cholesky_factor_corr cholesky_factor_cov corr_matrix cov_matrix\",title:\"functions model data parameters quantities transformed generated\",literal:\"true false\"},r:0},{cN:\"number\",b:\"0[xX][0-9a-fA-F]+[Li]?\\\\b\",r:0},{cN:\"number\",b:\"0[xX][0-9a-fA-F]+[Li]?\\\\b\",r:0},{cN:\"number\",b:\"\\\\d+(?:[eE][+\\\\-]?\\\\d*)?L\\\\b\",r:0},{cN:\"number\",b:\"\\\\d+\\\\.(?!\\\\d)(?:i\\\\b)?\",r:0},{cN:\"number\",b:\"\\\\d+(?:\\\\.\\\\d*)?(?:[eE][+\\\\-]?\\\\d*)?i?\\\\b\",r:0},{cN:\"number\",b:\"\\\\.\\\\d+(?:[eE][+\\\\-]?\\\\d*)?i?\\\\b\",r:0}]}}),e.registerLanguage(\"stata\",function(e){return{aliases:[\"do\",\"ado\"],cI:!0,k:\"if else in foreach for forv forva forval forvalu forvalue forvalues by bys bysort xi quietly qui capture about ac ac_7 acprplot acprplot_7 adjust ado adopath adoupdate alpha ameans an ano anov anova anova_estat anova_terms anovadef aorder ap app appe appen append arch arch_dr arch_estat arch_p archlm areg areg_p args arima arima_dr arima_estat arima_p as asmprobit asmprobit_estat asmprobit_lf asmprobit_mfx__dlg asmprobit_p ass asse asser assert avplot avplot_7 avplots avplots_7 bcskew0 bgodfrey binreg bip0_lf biplot bipp_lf bipr_lf bipr_p biprobit bitest bitesti bitowt blogit bmemsize boot bootsamp bootstrap bootstrap_8 boxco_l boxco_p boxcox boxcox_6 boxcox_p bprobit br break brier bro brow brows browse brr brrstat bs bs_7 bsampl_w bsample bsample_7 bsqreg bstat bstat_7 bstat_8 bstrap bstrap_7 ca ca_estat ca_p cabiplot camat canon canon_8 canon_8_p canon_estat canon_p cap caprojection capt captu captur capture cat cc cchart cchart_7 cci cd censobs_table centile cf char chdir checkdlgfiles checkestimationsample checkhlpfiles checksum chelp ci cii cl class classutil clear cli clis clist clo clog clog_lf clog_p clogi clogi_sw clogit clogit_lf clogit_p clogitp clogl_sw cloglog clonevar clslistarray cluster cluster_measures cluster_stop cluster_tree cluster_tree_8 clustermat cmdlog cnr cnre cnreg cnreg_p cnreg_sw cnsreg codebook collaps4 collapse colormult_nb colormult_nw compare compress conf confi confir confirm conren cons const constr constra constrai constrain constraint continue contract copy copyright copysource cor corc corr corr2data corr_anti corr_kmo corr_smc corre correl correla correlat correlate corrgram cou coun count cox cox_p cox_sw coxbase coxhaz coxvar cprplot cprplot_7 crc cret cretu cretur creturn cross cs cscript cscript_log csi ct ct_is ctset ctst_5 ctst_st cttost cumsp cumsp_7 cumul cusum cusum_7 cutil d|0 datasig datasign datasigna datasignat datasignatu datasignatur datasignature datetof db dbeta de dec deco decod decode deff des desc descr descri describ describe destring dfbeta dfgls dfuller di di_g dir dirstats dis discard disp disp_res disp_s displ displa display distinct do doe doed doedi doedit dotplot dotplot_7 dprobit drawnorm drop ds ds_util dstdize duplicates durbina dwstat dydx e|0 ed edi edit egen eivreg emdef en enc enco encod encode eq erase ereg ereg_lf ereg_p ereg_sw ereghet ereghet_glf ereghet_glf_sh ereghet_gp ereghet_ilf ereghet_ilf_sh ereghet_ip eret eretu eretur ereturn err erro error est est_cfexist est_cfname est_clickable est_expand est_hold est_table est_unhold est_unholdok estat estat_default estat_summ estat_vce_only esti estimates etodow etof etomdy ex exi exit expand expandcl fac fact facto factor factor_estat factor_p factor_pca_rotated factor_rotate factormat fcast fcast_compute fcast_graph fdades fdadesc fdadescr fdadescri fdadescrib fdadescribe fdasav fdasave fdause fh_st file open file read file close file filefilter fillin find_hlp_file findfile findit findit_7 fit fl fli flis flist for5_0 form forma format fpredict frac_154 frac_adj frac_chk frac_cox frac_ddp frac_dis frac_dv frac_in frac_mun frac_pp frac_pq frac_pv frac_wgt frac_xo fracgen fracplot fracplot_7 fracpoly fracpred fron_ex fron_hn fron_p fron_tn fron_tn2 frontier ftodate ftoe ftomdy ftowdate g|0 gamhet_glf gamhet_gp gamhet_ilf gamhet_ip gamma gamma_d2 gamma_p gamma_sw gammahet gdi_hexagon gdi_spokes ge gen gene gener genera generat generate genrank genstd genvmean gettoken gl gladder gladder_7 glim_l01 glim_l02 glim_l03 glim_l04 glim_l05 glim_l06 glim_l07 glim_l08 glim_l09 glim_l10 glim_l11 glim_l12 glim_lf glim_mu glim_nw1 glim_nw2 glim_nw3 glim_p glim_v1 glim_v2 glim_v3 glim_v4 glim_v5 glim_v6 glim_v7 glm glm_6 glm_p glm_sw glmpred glo glob globa global glogit glogit_8 glogit_p gmeans gnbre_lf gnbreg gnbreg_5 gnbreg_p gomp_lf gompe_sw gomper_p gompertz gompertzhet gomphet_glf gomphet_glf_sh gomphet_gp gomphet_ilf gomphet_ilf_sh gomphet_ip gphdot gphpen gphprint gprefs gprobi_p gprobit gprobit_8 gr gr7 gr_copy gr_current gr_db gr_describe gr_dir gr_draw gr_draw_replay gr_drop gr_edit gr_editviewopts gr_example gr_example2 gr_export gr_print gr_qscheme gr_query gr_read gr_rename gr_replay gr_save gr_set gr_setscheme gr_table gr_undo gr_use graph graph7 grebar greigen greigen_7 greigen_8 grmeanby grmeanby_7 gs_fileinfo gs_filetype gs_graphinfo gs_stat gsort gwood h|0 hadimvo hareg hausman haver he heck_d2 heckma_p heckman heckp_lf heckpr_p heckprob hel help hereg hetpr_lf hetpr_p hetprob hettest hexdump hilite hist hist_7 histogram hlogit hlu hmeans hotel hotelling hprobit hreg hsearch icd9 icd9_ff icd9p iis impute imtest inbase include inf infi infil infile infix inp inpu input ins insheet insp inspe inspec inspect integ inten intreg intreg_7 intreg_p intrg2_ll intrg_ll intrg_ll2 ipolate iqreg ir irf irf_create irfm iri is_svy is_svysum isid istdize ivprob_1_lf ivprob_lf ivprobit ivprobit_p ivreg ivreg_footnote ivtob_1_lf ivtob_lf ivtobit ivtobit_p jackknife jacknife jknife jknife_6 jknife_8 jkstat joinby kalarma1 kap kap_3 kapmeier kappa kapwgt kdensity kdensity_7 keep ksm ksmirnov ktau kwallis l|0 la lab labe label labelbook ladder levels levelsof leverage lfit lfit_p li lincom line linktest lis list lloghet_glf lloghet_glf_sh lloghet_gp lloghet_ilf lloghet_ilf_sh lloghet_ip llogi_sw llogis_p llogist llogistic llogistichet lnorm_lf lnorm_sw lnorma_p lnormal lnormalhet lnormhet_glf lnormhet_glf_sh lnormhet_gp lnormhet_ilf lnormhet_ilf_sh lnormhet_ip lnskew0 loadingplot loc loca local log logi logis_lf logistic logistic_p logit logit_estat logit_p loglogs logrank loneway lookfor lookup lowess lowess_7 lpredict lrecomp lroc lroc_7 lrtest ls lsens lsens_7 lsens_x lstat ltable ltable_7 ltriang lv lvr2plot lvr2plot_7 m|0 ma mac macr macro makecns man manova manova_estat manova_p manovatest mantel mark markin markout marksample mat mat_capp mat_order mat_put_rr mat_rapp mata mata_clear mata_describe mata_drop mata_matdescribe mata_matsave mata_matuse mata_memory mata_mlib mata_mosave mata_rename mata_which matalabel matcproc matlist matname matr matri matrix matrix_input__dlg matstrik mcc mcci md0_ md1_ md1debug_ md2_ md2debug_ mds mds_estat mds_p mdsconfig mdslong mdsmat mdsshepard mdytoe mdytof me_derd mean means median memory memsize meqparse mer merg merge mfp mfx mhelp mhodds minbound mixed_ll mixed_ll_reparm mkassert mkdir mkmat mkspline ml ml_5 ml_adjs ml_bhhhs ml_c_d ml_check ml_clear ml_cnt ml_debug ml_defd ml_e0 ml_e0_bfgs ml_e0_cycle ml_e0_dfp ml_e0i ml_e1 ml_e1_bfgs ml_e1_bhhh ml_e1_cycle ml_e1_dfp ml_e2 ml_e2_cycle ml_ebfg0 ml_ebfr0 ml_ebfr1 ml_ebh0q ml_ebhh0 ml_ebhr0 ml_ebr0i ml_ecr0i ml_edfp0 ml_edfr0 ml_edfr1 ml_edr0i ml_eds ml_eer0i ml_egr0i ml_elf ml_elf_bfgs ml_elf_bhhh ml_elf_cycle ml_elf_dfp ml_elfi ml_elfs ml_enr0i ml_enrr0 ml_erdu0 ml_erdu0_bfgs ml_erdu0_bhhh ml_erdu0_bhhhq ml_erdu0_cycle ml_erdu0_dfp ml_erdu0_nrbfgs ml_exde ml_footnote ml_geqnr ml_grad0 ml_graph ml_hbhhh ml_hd0 ml_hold ml_init ml_inv ml_log ml_max ml_mlout ml_mlout_8 ml_model ml_nb0 ml_opt ml_p ml_plot ml_query ml_rdgrd ml_repor ml_s_e ml_score ml_searc ml_technique ml_unhold mleval mlf_ mlmatbysum mlmatsum mlog mlogi mlogit mlogit_footnote mlogit_p mlopts mlsum mlvecsum mnl0_ mor more mov move mprobit mprobit_lf mprobit_p mrdu0_ mrdu1_ mvdecode mvencode mvreg mvreg_estat n|0 nbreg nbreg_al nbreg_lf nbreg_p nbreg_sw nestreg net newey newey_7 newey_p news nl nl_7 nl_9 nl_9_p nl_p nl_p_7 nlcom nlcom_p nlexp2 nlexp2_7 nlexp2a nlexp2a_7 nlexp3 nlexp3_7 nlgom3 nlgom3_7 nlgom4 nlgom4_7 nlinit nllog3 nllog3_7 nllog4 nllog4_7 nlog_rd nlogit nlogit_p nlogitgen nlogittree nlpred no nobreak noi nois noisi noisil noisily note notes notes_dlg nptrend numlabel numlist odbc old_ver olo olog ologi ologi_sw ologit ologit_p ologitp on one onew onewa oneway op_colnm op_comp op_diff op_inv op_str opr opro oprob oprob_sw oprobi oprobi_p oprobit oprobitp opts_exclusive order orthog orthpoly ou out outf outfi outfil outfile outs outsh outshe outshee outsheet ovtest pac pac_7 palette parse parse_dissim pause pca pca_8 pca_display pca_estat pca_p pca_rotate pcamat pchart pchart_7 pchi pchi_7 pcorr pctile pentium pergram pergram_7 permute permute_8 personal peto_st pkcollapse pkcross pkequiv pkexamine pkexamine_7 pkshape pksumm pksumm_7 pl plo plot plugin pnorm pnorm_7 poisgof poiss_lf poiss_sw poisso_p poisson poisson_estat post postclose postfile postutil pperron pr prais prais_e prais_e2 prais_p predict predictnl preserve print pro prob probi probit probit_estat probit_p proc_time procoverlay procrustes procrustes_estat procrustes_p profiler prog progr progra program prop proportion prtest prtesti pwcorr pwd q\\\\s qby qbys qchi qchi_7 qladder qladder_7 qnorm qnorm_7 qqplot qqplot_7 qreg qreg_c qreg_p qreg_sw qu quadchk quantile quantile_7 que quer query range ranksum ratio rchart rchart_7 rcof recast reclink recode reg reg3 reg3_p regdw regr regre regre_p2 regres regres_p regress regress_estat regriv_p remap ren rena renam rename renpfix repeat replace report reshape restore ret retu retur return rm rmdir robvar roccomp roccomp_7 roccomp_8 rocf_lf rocfit rocfit_8 rocgold rocplot rocplot_7 roctab roctab_7 rolling rologit rologit_p rot rota rotat rotate rotatemat rreg rreg_p ru run runtest rvfplot rvfplot_7 rvpplot rvpplot_7 sa safesum sample sampsi sav save savedresults saveold sc sca scal scala scalar scatter scm_mine sco scob_lf scob_p scobi_sw scobit scor score scoreplot scoreplot_help scree screeplot screeplot_help sdtest sdtesti se search separate seperate serrbar serrbar_7 serset set set_defaults sfrancia sh she shel shell shewhart shewhart_7 signestimationsample signrank signtest simul simul_7 simulate simulate_8 sktest sleep slogit slogit_d2 slogit_p smooth snapspan so sor sort spearman spikeplot spikeplot_7 spikeplt spline_x split sqreg sqreg_p sret sretu sretur sreturn ssc st st_ct st_hc st_hcd st_hcd_sh st_is st_issys st_note st_promo st_set st_show st_smpl st_subid stack statsby statsby_8 stbase stci stci_7 stcox stcox_estat stcox_fr stcox_fr_ll stcox_p stcox_sw stcoxkm stcoxkm_7 stcstat stcurv stcurve stcurve_7 stdes stem stepwise stereg stfill stgen stir stjoin stmc stmh stphplot stphplot_7 stphtest stphtest_7 stptime strate strate_7 streg streg_sw streset sts sts_7 stset stsplit stsum sttocc sttoct stvary stweib su suest suest_8 sum summ summa summar summari summariz summarize sunflower sureg survcurv survsum svar svar_p svmat svy svy_disp svy_dreg svy_est svy_est_7 svy_estat svy_get svy_gnbreg_p svy_head svy_header svy_heckman_p svy_heckprob_p svy_intreg_p svy_ivreg_p svy_logistic_p svy_logit_p svy_mlogit_p svy_nbreg_p svy_ologit_p svy_oprobit_p svy_poisson_p svy_probit_p svy_regress_p svy_sub svy_sub_7 svy_x svy_x_7 svy_x_p svydes svydes_8 svygen svygnbreg svyheckman svyheckprob svyintreg svyintreg_7 svyintrg svyivreg svylc svylog_p svylogit svymarkout svymarkout_8 svymean svymlog svymlogit svynbreg svyolog svyologit svyoprob svyoprobit svyopts svypois svypois_7 svypoisson svyprobit svyprobt svyprop svyprop_7 svyratio svyreg svyreg_p svyregress svyset svyset_7 svyset_8 svytab svytab_7 svytest svytotal sw sw_8 swcnreg swcox swereg swilk swlogis swlogit swologit swoprbt swpois swprobit swqreg swtobit swweib symmetry symmi symplot symplot_7 syntax sysdescribe sysdir sysuse szroeter ta tab tab1 tab2 tab_or tabd tabdi tabdis tabdisp tabi table tabodds tabodds_7 tabstat tabu tabul tabula tabulat tabulate te tempfile tempname tempvar tes test testnl testparm teststd tetrachoric time_it timer tis tob tobi tobit tobit_p tobit_sw token tokeni tokeniz tokenize tostring total translate translator transmap treat_ll treatr_p treatreg trim trnb_cons trnb_mean trpoiss_d2 trunc_ll truncr_p truncreg tsappend tset tsfill tsline tsline_ex tsreport tsrevar tsrline tsset tssmooth tsunab ttest ttesti tut_chk tut_wait tutorial tw tware_st two twoway twoway__fpfit_serset twoway__function_gen twoway__histogram_gen twoway__ipoint_serset twoway__ipoints_serset twoway__kdensity_gen twoway__lfit_serset twoway__normgen_gen twoway__pci_serset twoway__qfit_serset twoway__scatteri_serset twoway__sunflower_gen twoway_ksm_serset ty typ type typeof u|0 unab unabbrev unabcmd update us use uselabel var var_mkcompanion var_p varbasic varfcast vargranger varirf varirf_add varirf_cgraph varirf_create varirf_ctable varirf_describe varirf_dir varirf_drop varirf_erase varirf_graph varirf_ograph varirf_rename varirf_set varirf_table varlist varlmar varnorm varsoc varstable varstable_w varstable_w2 varwle vce vec vec_fevd vec_mkphi vec_p vec_p_w vecirf_create veclmar veclmar_w vecnorm vecnorm_w vecrank vecstable verinst vers versi versio version view viewsource vif vwls wdatetof webdescribe webseek webuse weib1_lf weib2_lf weib_lf weib_lf0 weibhet_glf weibhet_glf_sh weibhet_glfa weibhet_glfa_sh weibhet_gp weibhet_ilf weibhet_ilf_sh weibhet_ilfa weibhet_ilfa_sh weibhet_ip weibu_sw weibul_p weibull weibull_c weibull_s weibullhet wh whelp whi which whil while wilc_st wilcoxon win wind windo window winexec wntestb wntestb_7 wntestq xchart xchart_7 xcorr xcorr_7 xi xi_6 xmlsav xmlsave xmluse xpose xsh xshe xshel xshell xt_iis xt_tis xtab_p xtabond xtbin_p xtclog xtcloglog xtcloglog_8 xtcloglog_d2 xtcloglog_pa_p xtcloglog_re_p xtcnt_p xtcorr xtdata xtdes xtfront_p xtfrontier xtgee xtgee_elink xtgee_estat xtgee_makeivar xtgee_p xtgee_plink xtgls xtgls_p xthaus xthausman xtht_p xthtaylor xtile xtint_p xtintreg xtintreg_8 xtintreg_d2 xtintreg_p xtivp_1 xtivp_2 xtivreg xtline xtline_ex xtlogit xtlogit_8 xtlogit_d2 xtlogit_fe_p xtlogit_pa_p xtlogit_re_p xtmixed xtmixed_estat xtmixed_p xtnb_fe xtnb_lf xtnbreg xtnbreg_pa_p xtnbreg_refe_p xtpcse xtpcse_p xtpois xtpoisson xtpoisson_d2 xtpoisson_pa_p xtpoisson_refe_p xtpred xtprobit xtprobit_8 xtprobit_d2 xtprobit_re_p xtps_fe xtps_lf xtps_ren xtps_ren_8 xtrar_p xtrc xtrc_p xtrchh xtrefe_p xtreg xtreg_be xtreg_fe xtreg_ml xtreg_pa_p xtreg_re xtregar xtrere_p xtset xtsf_ll xtsf_llti xtsum xttab xttest0 xttobit xttobit_8 xttobit_p xttrans yx yxview__barlike_draw yxview_area_draw yxview_bar_draw yxview_dot_draw yxview_dropline_draw yxview_function_draw yxview_iarrow_draw yxview_ilabels_draw yxview_normal_draw yxview_pcarrow_draw yxview_pcbarrow_draw yxview_pccapsym_draw yxview_pcscatter_draw yxview_pcspike_draw yxview_rarea_draw yxview_rbar_draw yxview_rbarm_draw yxview_rcap_draw yxview_rcapsym_draw yxview_rconnected_draw yxview_rline_draw yxview_rscatter_draw yxview_rspike_draw yxview_spike_draw yxview_sunflower_draw zap_s zinb zinb_llf zinb_plf zip zip_llf zip_p zip_plf zt_ct_5 zt_hc_5 zt_hcd_5 zt_is_5 zt_iss_5 zt_sho_5 zt_smp_5 ztbase_5 ztcox_5 ztdes_5 ztereg_5 ztfill_5 ztgen_5 ztir_5 ztjoin_5 ztnb ztnb_p ztp ztp_p zts_5 ztset_5 ztspli_5 ztsum_5 zttoct_5 ztvary_5 ztweib_5\",c:[{cN:\"symbol\",b:/`[a-zA-Z0-9_]+'/},{cN:\"variable\",b:/\\$\\{?[a-zA-Z0-9_]+\\}?/},{cN:\"string\",v:[{b:'`\"[^\\r\\n]*?\"\\''},{b:'\"[^\\r\\n\"]*\"'}]},{cN:\"built_in\",v:[{b:\"\\\\b(abs|acos|asin|atan|atan2|atanh|ceil|cloglog|comb|cos|digamma|exp|floor|invcloglog|invlogit|ln|lnfact|lnfactorial|lngamma|log|log10|max|min|mod|reldif|round|sign|sin|sqrt|sum|tan|tanh|trigamma|trunc|betaden|Binomial|binorm|binormal|chi2|chi2tail|dgammapda|dgammapdada|dgammapdadx|dgammapdx|dgammapdxdx|F|Fden|Ftail|gammaden|gammap|ibeta|invbinomial|invchi2|invchi2tail|invF|invFtail|invgammap|invibeta|invnchi2|invnFtail|invnibeta|invnorm|invnormal|invttail|nbetaden|nchi2|nFden|nFtail|nibeta|norm|normal|normalden|normd|npnchi2|tden|ttail|uniform|abbrev|char|index|indexnot|length|lower|ltrim|match|plural|proper|real|regexm|regexr|regexs|reverse|rtrim|string|strlen|strlower|strltrim|strmatch|strofreal|strpos|strproper|strreverse|strrtrim|strtrim|strupper|subinstr|subinword|substr|trim|upper|word|wordcount|_caller|autocode|byteorder|chop|clip|cond|e|epsdouble|epsfloat|group|inlist|inrange|irecode|matrix|maxbyte|maxdouble|maxfloat|maxint|maxlong|mi|minbyte|mindouble|minfloat|minint|minlong|missing|r|recode|replay|return|s|scalar|d|date|day|dow|doy|halfyear|mdy|month|quarter|week|year|d|daily|dofd|dofh|dofm|dofq|dofw|dofy|h|halfyearly|hofd|m|mofd|monthly|q|qofd|quarterly|tin|twithin|w|weekly|wofd|y|yearly|yh|ym|yofd|yq|yw|cholesky|colnumb|colsof|corr|det|diag|diag0cnt|el|get|hadamard|I|inv|invsym|issym|issymmetric|J|matmissing|matuniform|mreldif|nullmat|rownumb|rowsof|sweep|syminv|trace|vec|vecdiag)(?=\\\\(|$)\"}]},e.C(\"^[ \t]*\\\\*.*$\",!1),e.CLCM,e.CBCM]}}),e.registerLanguage(\"step21\",function(e){var t=\"[A-Z_][A-Z0-9_.]*\",r={keyword:\"HEADER ENDSEC DATA\"},a={cN:\"meta\",b:\"ISO-10303-21;\",r:10},i={cN:\"meta\",b:\"END-ISO-10303-21;\",r:10};return{aliases:[\"p21\",\"step\",\"stp\"],cI:!0,l:t,k:r,c:[a,i,e.CLCM,e.CBCM,e.C(\"/\\\\*\\\\*!\",\"\\\\*/\"),e.CNM,e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null}),{cN:\"string\",b:\"'\",e:\"'\"},{cN:\"symbol\",v:[{b:\"#\",e:\"\\\\d+\",i:\"\\\\W\"}]}]}}),e.registerLanguage(\"stylus\",function(e){var t={cN:\"variable\",b:\"\\\\$\"+e.IR},r={cN:\"number\",b:\"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})\"},a=[\"charset\",\"css\",\"debug\",\"extend\",\"font-face\",\"for\",\"import\",\"include\",\"media\",\"mixin\",\"page\",\"warn\",\"while\"],i=[\"after\",\"before\",\"first-letter\",\"first-line\",\"active\",\"first-child\",\"focus\",\"hover\",\"lang\",\"link\",\"visited\"],n=[\"a\",\"abbr\",\"address\",\"article\",\"aside\",\"audio\",\"b\",\"blockquote\",\"body\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"dd\",\"del\",\"details\",\"dfn\",\"div\",\"dl\",\"dt\",\"em\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"label\",\"legend\",\"li\",\"mark\",\"menu\",\"nav\",\"object\",\"ol\",\"p\",\"q\",\"quote\",\"samp\",\"section\",\"span\",\"strong\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"ul\",\"var\",\"video\"],o=\"[\\\\.\\\\s\\\\n\\\\[\\\\:,]\",s=[\"align-content\",\"align-items\",\"align-self\",\"animation\",\"animation-delay\",\"animation-direction\",\"animation-duration\",\"animation-fill-mode\",\"animation-iteration-count\",\"animation-name\",\"animation-play-state\",\"animation-timing-function\",\"auto\",\"backface-visibility\",\"background\",\"background-attachment\",\"background-clip\",\"background-color\",\"background-image\",\"background-origin\",\"background-position\",\"background-repeat\",\"background-size\",\"border\",\"border-bottom\",\"border-bottom-color\",\"border-bottom-left-radius\",\"border-bottom-right-radius\",\"border-bottom-style\",\"border-bottom-width\",\"border-collapse\",\"border-color\",\"border-image\",\"border-image-outset\",\"border-image-repeat\",\"border-image-slice\",\"border-image-source\",\"border-image-width\",\"border-left\",\"border-left-color\",\"border-left-style\",\"border-left-width\",\"border-radius\",\"border-right\",\"border-right-color\",\"border-right-style\",\"border-right-width\",\"border-spacing\",\"border-style\",\"border-top\",\"border-top-color\",\"border-top-left-radius\",\"border-top-right-radius\",\"border-top-style\",\"border-top-width\",\"border-width\",\"bottom\",\"box-decoration-break\",\"box-shadow\",\"box-sizing\",\"break-after\",\"break-before\",\"break-inside\",\"caption-side\",\"clear\",\"clip\",\"clip-path\",\"color\",\"column-count\",\"column-fill\",\"column-gap\",\"column-rule\",\"column-rule-color\",\"column-rule-style\",\"column-rule-width\",\"column-span\",\"column-width\",\"columns\",\"content\",\"counter-increment\",\"counter-reset\",\"cursor\",\"direction\",\"display\",\"empty-cells\",\"filter\",\"flex\",\"flex-basis\",\"flex-direction\",\"flex-flow\",\"flex-grow\",\"flex-shrink\",\"flex-wrap\",\"float\",\"font\",\"font-family\",\"font-feature-settings\",\"font-kerning\",\"font-language-override\",\"font-size\",\"font-size-adjust\",\"font-stretch\",\"font-style\",\"font-variant\",\"font-variant-ligatures\",\"font-weight\",\"height\",\"hyphens\",\"icon\",\"image-orientation\",\"image-rendering\",\"image-resolution\",\"ime-mode\",\"inherit\",\"initial\",\"justify-content\",\"left\",\"letter-spacing\",\"line-height\",\"list-style\",\"list-style-image\",\"list-style-position\",\"list-style-type\",\"margin\",\"margin-bottom\",\"margin-left\",\"margin-right\",\"margin-top\",\"marks\",\"mask\",\"max-height\",\"max-width\",\"min-height\",\"min-width\",\"nav-down\",\"nav-index\",\"nav-left\",\"nav-right\",\"nav-up\",\"none\",\"normal\",\"object-fit\",\"object-position\",\"opacity\",\"order\",\"orphans\",\"outline\",\"outline-color\",\"outline-offset\",\"outline-style\",\"outline-width\",\"overflow\",\"overflow-wrap\",\"overflow-x\",\"overflow-y\",\"padding\",\"padding-bottom\",\"padding-left\",\"padding-right\",\"padding-top\",\"page-break-after\",\"page-break-before\",\"page-break-inside\",\"perspective\",\"perspective-origin\",\"pointer-events\",\"position\",\"quotes\",\"resize\",\"right\",\"tab-size\",\"table-layout\",\"text-align\",\"text-align-last\",\"text-decoration\",\"text-decoration-color\",\"text-decoration-line\",\"text-decoration-style\",\"text-indent\",\"text-overflow\",\"text-rendering\",\"text-shadow\",\"text-transform\",\"text-underline-position\",\"top\",\"transform\",\"transform-origin\",\"transform-style\",\"transition\",\"transition-delay\",\"transition-duration\",\"transition-property\",\"transition-timing-function\",\"unicode-bidi\",\"vertical-align\",\"visibility\",\"white-space\",\"widows\",\"width\",\"word-break\",\"word-spacing\",\"word-wrap\",\"z-index\"],l=[\"\\\\?\",\"(\\\\bReturn\\\\b)\",\"(\\\\bEnd\\\\b)\",\"(\\\\bend\\\\b)\",\"(\\\\bdef\\\\b)\",\";\",\"#\\\\s\",\"\\\\*\\\\s\",\"===\\\\s\",\"\\\\|\",\"%\"];\nreturn{aliases:[\"styl\"],cI:!1,k:\"if else for in\",i:\"(\"+l.join(\"|\")+\")\",c:[e.QSM,e.ASM,e.CLCM,e.CBCM,r,{b:\"\\\\.[a-zA-Z][a-zA-Z0-9_-]*\"+o,rB:!0,c:[{cN:\"selector-class\",b:\"\\\\.[a-zA-Z][a-zA-Z0-9_-]*\"}]},{b:\"\\\\#[a-zA-Z][a-zA-Z0-9_-]*\"+o,rB:!0,c:[{cN:\"selector-id\",b:\"\\\\#[a-zA-Z][a-zA-Z0-9_-]*\"}]},{b:\"\\\\b(\"+n.join(\"|\")+\")\"+o,rB:!0,c:[{cN:\"selector-tag\",b:\"\\\\b[a-zA-Z][a-zA-Z0-9_-]*\"}]},{b:\"&?:?:\\\\b(\"+i.join(\"|\")+\")\"+o},{b:\"@(\"+a.join(\"|\")+\")\\\\b\"},t,e.CSSNM,e.NM,{cN:\"function\",b:\"^[a-zA-Z][a-zA-Z0-9_-]*\\\\(.*\\\\)\",i:\"[\\\\n]\",rB:!0,c:[{cN:\"title\",b:\"\\\\b[a-zA-Z][a-zA-Z0-9_-]*\"},{cN:\"params\",b:/\\(/,e:/\\)/,c:[r,t,e.ASM,e.CSSNM,e.NM,e.QSM]}]},{cN:\"attribute\",b:\"\\\\b(\"+s.reverse().join(\"|\")+\")\\\\b\",starts:{e:/;|$/,c:[r,t,e.ASM,e.QSM,e.CSSNM,e.NM,e.CBCM],i:/\\./,r:0}}]}}),e.registerLanguage(\"subunit\",function(e){var t={cN:\"string\",b:\"\\\\[\\n(multipart)?\",e:\"\\\\]\\n\"},r={cN:\"string\",b:\"\\\\d{4}-\\\\d{2}-\\\\d{2}(\\\\s+)\\\\d{2}:\\\\d{2}:\\\\d{2}.\\\\d+Z\"},a={cN:\"string\",b:\"(\\\\+|-)\\\\d+\"},i={cN:\"keyword\",r:10,v:[{b:\"^(test|testing|success|successful|failure|error|skip|xfail|uxsuccess)(:?)\\\\s+(test)?\"},{b:\"^progress(:?)(\\\\s+)?(pop|push)?\"},{b:\"^tags:\"},{b:\"^time:\"}]};return{cI:!0,c:[t,r,a,i]}}),e.registerLanguage(\"swift\",function(e){var t={keyword:\"__COLUMN__ __FILE__ __FUNCTION__ __LINE__ as as! as? associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet\",literal:\"true false nil\",built_in:\"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip\"},r={cN:\"type\",b:\"\\\\b[A-Z][\\\\wÀ-ʸ']*\",r:0},a=e.C(\"/\\\\*\",\"\\\\*/\",{c:[\"self\"]}),i={cN:\"subst\",b:/\\\\\\(/,e:\"\\\\)\",k:t,c:[]},n={cN:\"number\",b:\"\\\\b([\\\\d_]+(\\\\.[\\\\deE_]+)?|0x[a-fA-F0-9_]+(\\\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\\\b\",r:0},o=e.inherit(e.QSM,{c:[i,e.BE]});return i.c=[n],{k:t,c:[o,e.CLCM,a,r,n,{cN:\"function\",bK:\"func\",e:\"{\",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{b:/</,e:/>/},{cN:\"params\",b:/\\(/,e:/\\)/,endsParent:!0,k:t,c:[\"self\",n,o,e.CBCM,{b:\":\"}],i:/[\"']/}],i:/\\[|%/},{cN:\"class\",bK:\"struct protocol class extension enum\",k:t,e:\"\\\\{\",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][\\u00C0-\\u02B80-9A-Za-z$_]*/})]},{cN:\"meta\",b:\"(@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain)\"},{bK:\"import\",e:/$/,c:[e.CLCM,a]}]}}),e.registerLanguage(\"taggerscript\",function(e){var t={cN:\"comment\",b:/\\$noop\\(/,e:/\\)/,c:[{b:/\\(/,e:/\\)/,c:[\"self\",{b:/\\\\./}]}],r:10},r={cN:\"keyword\",b:/\\$(?!noop)[a-zA-Z][_a-zA-Z0-9]*/,e:/\\(/,eE:!0},a={cN:\"variable\",b:/%[_a-zA-Z0-9:]*/,e:\"%\"},i={cN:\"symbol\",b:/\\\\./};return{c:[t,r,a,i]}}),e.registerLanguage(\"yaml\",function(e){var t=\"true false yes no null\",r=\"^[ \\\\-]*\",a=\"[a-zA-Z_][\\\\w\\\\-]*\",i={cN:\"attr\",v:[{b:r+a+\":\"},{b:r+'\"'+a+'\":'},{b:r+\"'\"+a+\"':\"}]},n={cN:\"template-variable\",v:[{b:\"{{\",e:\"}}\"},{b:\"%{\",e:\"}\"}]},o={cN:\"string\",r:0,v:[{b:/'/,e:/'/},{b:/\"/,e:/\"/},{b:/\\S+/}],c:[e.BE,n]};return{cI:!0,aliases:[\"yml\",\"YAML\",\"yaml\"],c:[i,{cN:\"meta\",b:\"^---s*$\",r:10},{cN:\"string\",b:\"[\\\\|>] *$\",rE:!0,c:o.c,e:i.v[0].b},{b:\"<%[%=-]?\",e:\"[%-]?%>\",sL:\"ruby\",eB:!0,eE:!0,r:0},{cN:\"type\",b:\"!!\"+e.UIR},{cN:\"meta\",b:\"&\"+e.UIR+\"$\"},{cN:\"meta\",b:\"\\\\*\"+e.UIR+\"$\"},{cN:\"bullet\",b:\"^ *-\",r:0},e.HCM,{bK:t,k:{literal:t}},e.CNM,o]}}),e.registerLanguage(\"tap\",function(e){return{cI:!0,c:[e.HCM,{cN:\"meta\",v:[{b:\"^TAP version (\\\\d+)$\"},{b:\"^1\\\\.\\\\.(\\\\d+)$\"}]},{b:\"(s+)?---$\",e:\"\\\\.\\\\.\\\\.$\",sL:\"yaml\",r:0},{cN:\"number\",b:\" (\\\\d+) \"},{cN:\"symbol\",v:[{b:\"^ok\"},{b:\"^not ok\"}]}]}}),e.registerLanguage(\"tcl\",function(e){return{aliases:[\"tk\"],k:\"after append apply array auto_execok auto_import auto_load auto_mkindex auto_mkindex_old auto_qualify auto_reset bgerror binary break catch cd chan clock close concat continue dde dict encoding eof error eval exec exit expr fblocked fconfigure fcopy file fileevent filename flush for foreach format gets glob global history http if incr info interp join lappend|10 lassign|10 lindex|10 linsert|10 list llength|10 load lrange|10 lrepeat|10 lreplace|10 lreverse|10 lsearch|10 lset|10 lsort|10 mathfunc mathop memory msgcat namespace open package parray pid pkg::create pkg_mkIndex platform platform::shell proc puts pwd read refchan regexp registry regsub|10 rename return safe scan seek set socket source split string subst switch tcl_endOfWord tcl_findLibrary tcl_startOfNextWord tcl_startOfPreviousWord tcl_wordBreakAfter tcl_wordBreakBefore tcltest tclvars tell time tm trace unknown unload unset update uplevel upvar variable vwait while\",c:[e.C(\";[ \\\\t]*#\",\"$\"),e.C(\"^[ \\\\t]*#\",\"$\"),{bK:\"proc\",e:\"[\\\\{]\",eE:!0,c:[{cN:\"title\",b:\"[ \\\\t\\\\n\\\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*\",e:\"[ \\\\t\\\\n\\\\r]\",eW:!0,eE:!0}]},{eE:!0,v:[{b:\"\\\\$(\\\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*\\\\(([a-zA-Z0-9_])*\\\\)\",e:\"[^a-zA-Z0-9_\\\\}\\\\$]\"},{b:\"\\\\$(\\\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*\",e:\"(\\\\))?[^a-zA-Z0-9_\\\\}\\\\$]\"}]},{cN:\"string\",c:[e.BE],v:[e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},{cN:\"number\",v:[e.BNM,e.CNM]}]}}),e.registerLanguage(\"tex\",function(e){var t={cN:\"tag\",b:/\\\\/,r:0,c:[{cN:\"name\",v:[{b:/[a-zA-Zа-яА-я]+[*]?/},{b:/[^a-zA-Zа-яА-я0-9]/}],starts:{eW:!0,r:0,c:[{cN:\"string\",v:[{b:/\\[/,e:/\\]/},{b:/\\{/,e:/\\}/}]},{b:/\\s*=\\s*/,eW:!0,r:0,c:[{cN:\"number\",b:/-?\\d*\\.?\\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?/}]}]}}]};return{c:[t,{cN:\"formula\",c:[t],r:0,v:[{b:/\\$\\$/,e:/\\$\\$/},{b:/\\$/,e:/\\$/}]},e.C(\"%\",\"$\",{r:0})]}}),e.registerLanguage(\"thrift\",function(e){var t=\"bool byte i16 i32 i64 double string binary\";return{k:{keyword:\"namespace const typedef struct enum service exception void oneway set list map required optional\",built_in:t,literal:\"true false\"},c:[e.QSM,e.NM,e.CLCM,e.CBCM,{cN:\"class\",bK:\"struct enum service exception\",e:/\\{/,i:/\\n/,c:[e.inherit(e.TM,{starts:{eW:!0,eE:!0}})]},{b:\"\\\\b(set|list|map)\\\\s*<\",e:\">\",k:t,c:[\"self\"]}]}}),e.registerLanguage(\"tp\",function(e){var t={cN:\"number\",b:\"[1-9][0-9]*\",r:0},r={cN:\"symbol\",b:\":[^\\\\]]+\"},a={cN:\"built_in\",b:\"(AR|P|PAYLOAD|PR|R|SR|RSR|LBL|VR|UALM|MESSAGE|UTOOL|UFRAME|TIMER|    TIMER_OVERFLOW|JOINT_MAX_SPEED|RESUME_PROG|DIAG_REC)\\\\[\",e:\"\\\\]\",c:[\"self\",t,r]},i={cN:\"built_in\",b:\"(AI|AO|DI|DO|F|RI|RO|UI|UO|GI|GO|SI|SO)\\\\[\",e:\"\\\\]\",c:[\"self\",t,e.QSM,r]};return{k:{keyword:\"ABORT ACC ADJUST AND AP_LD BREAK CALL CNT COL CONDITION CONFIG DA DB DIV DETECT ELSE END ENDFOR ERR_NUM ERROR_PROG FINE FOR GP GUARD INC IF JMP LINEAR_MAX_SPEED LOCK MOD MONITOR OFFSET Offset OR OVERRIDE PAUSE PREG PTH RT_LD RUN SELECT SKIP Skip TA TB TO TOOL_OFFSET Tool_Offset UF UT UFRAME_NUM UTOOL_NUM UNLOCK WAIT X Y Z W P R STRLEN SUBSTR FINDSTR VOFFSET PROG ATTR MN POS\",literal:\"ON OFF max_speed LPOS JPOS ENABLE DISABLE START STOP RESET\"},c:[a,i,{cN:\"keyword\",b:\"/(PROG|ATTR|MN|POS|END)\\\\b\"},{cN:\"keyword\",b:\"(CALL|RUN|POINT_LOGIC|LBL)\\\\b\"},{cN:\"keyword\",b:\"\\\\b(ACC|CNT|Skip|Offset|PSPD|RT_LD|AP_LD|Tool_Offset)\"},{cN:\"number\",b:\"\\\\d+(sec|msec|mm/sec|cm/min|inch/min|deg/sec|mm|in|cm)?\\\\b\",r:0},e.C(\"//\",\"[;$]\"),e.C(\"!\",\"[;$]\"),e.C(\"--eg:\",\"$\"),e.QSM,{cN:\"string\",b:\"'\",e:\"'\"},e.CNM,{cN:\"variable\",b:\"\\\\$[A-Za-z0-9_]+\"}]}}),e.registerLanguage(\"twig\",function(e){var t={cN:\"params\",b:\"\\\\(\",e:\"\\\\)\"},r=\"attribute block constant cycle date dump include max min parent random range source template_from_string\",a={bK:r,k:{name:r},r:0,c:[t]},i={b:/\\|[A-Za-z_]+:?/,k:\"abs batch capitalize convert_encoding date date_modify default escape first format join json_encode keys last length lower merge nl2br number_format raw replace reverse round slice sort split striptags title trim upper url_encode\",c:[a]},n=\"autoescape block do embed extends filter flush for if import include macro sandbox set spaceless use verbatim\";return n=n+\" \"+n.split(\" \").map(function(e){return\"end\"+e}).join(\" \"),{aliases:[\"craftcms\"],cI:!0,sL:\"xml\",c:[e.C(/\\{#/,/#}/),{cN:\"template-tag\",b:/\\{%/,e:/%}/,c:[{cN:\"name\",b:/\\w+/,k:n,starts:{eW:!0,c:[i,a],r:0}}]},{cN:\"template-variable\",b:/\\{\\{/,e:/}}/,c:[\"self\",i,a]}]}}),e.registerLanguage(\"typescript\",function(e){var t={keyword:\"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class public private protected get set super static implements enum export import declare type namespace abstract as from extends async await\",literal:\"true false null undefined NaN Infinity\",built_in:\"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document any number boolean string void Promise\"};return{aliases:[\"ts\"],k:t,c:[{cN:\"meta\",b:/^\\s*['\"]use strict['\"]/},e.ASM,e.QSM,{cN:\"string\",b:\"`\",e:\"`\",c:[e.BE,{cN:\"subst\",b:\"\\\\$\\\\{\",e:\"\\\\}\"}]},e.CLCM,e.CBCM,{cN:\"number\",v:[{b:\"\\\\b(0[bB][01]+)\"},{b:\"\\\\b(0[oO][0-7]+)\"},{b:e.CNR}],r:0},{b:\"(\"+e.RSR+\"|\\\\b(case|return|throw)\\\\b)\\\\s*\",k:\"return throw case\",c:[e.CLCM,e.CBCM,e.RM,{cN:\"function\",b:\"(\\\\(.*?\\\\)|\"+e.IR+\")\\\\s*=>\",rB:!0,e:\"\\\\s*=>\",c:[{cN:\"params\",v:[{b:e.IR},{b:/\\(\\s*\\)/},{b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:t,c:[\"self\",e.CLCM,e.CBCM]}]}]}],r:0},{cN:\"function\",b:\"function\",e:/[\\{;]/,eE:!0,k:t,c:[\"self\",e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:t,c:[e.CLCM,e.CBCM],i:/[\"'\\(]/}],i:/%/,r:0},{bK:\"constructor\",e:/\\{/,eE:!0,c:[\"self\",{cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:t,c:[e.CLCM,e.CBCM],i:/[\"'\\(]/}]},{b:/module\\./,k:{built_in:\"module\"},r:0},{bK:\"module\",e:/\\{/,eE:!0},{bK:\"interface\",e:/\\{/,eE:!0,k:\"interface extends\"},{b:/\\$[(.]/},{b:\"\\\\.\"+e.IR,r:0},{cN:\"meta\",b:\"@[A-Za-z]+\"}]}}),e.registerLanguage(\"vala\",function(e){return{k:{keyword:\"char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 uint16 uint32 uint64 float double bool struct enum string void weak unowned owned async signal static abstract interface override virtual delegate if while do for foreach else switch case break default return try catch public private protected internal using new this get set const stdout stdin stderr var\",built_in:\"DBus GLib CCode Gee Object Gtk Posix\",literal:\"false true null\"},c:[{cN:\"class\",bK:\"class interface namespace\",e:\"{\",eE:!0,i:\"[^,:\\\\n\\\\s\\\\.]\",c:[e.UTM]},e.CLCM,e.CBCM,{cN:\"string\",b:'\"\"\"',e:'\"\"\"',r:5},e.ASM,e.QSM,e.CNM,{cN:\"meta\",b:\"^#\",e:\"$\",r:2}]}}),e.registerLanguage(\"vbnet\",function(e){return{aliases:[\"vb\"],cI:!0,k:{keyword:\"addhandler addressof alias and andalso aggregate ansi as assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into is isfalse isnot istrue join key let lib like loop me mid mod module mustinherit mustoverride mybase myclass namespace narrowing new next not notinheritable notoverridable of off on operator option optional or order orelse overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim rem removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly xor\",built_in:\"boolean byte cbool cbyte cchar cdate cdec cdbl char cint clng cobj csbyte cshort csng cstr ctype date decimal directcast double gettype getxmlnamespace iif integer long object sbyte short single string trycast typeof uinteger ulong ushort\",literal:\"true false nothing\"},i:\"//|{|}|endif|gosub|variant|wend\",c:[e.inherit(e.QSM,{c:[{b:'\"\"'}]}),e.C(\"'\",\"$\",{rB:!0,c:[{cN:\"doctag\",b:\"'''|<!--|-->\",c:[e.PWM]},{cN:\"doctag\",b:\"</?\",e:\">\",c:[e.PWM]}]}),e.CNM,{cN:\"meta\",b:\"#\",e:\"$\",k:{\"meta-keyword\":\"if else elseif end region externalsource\"}}]}}),e.registerLanguage(\"vbscript\",function(e){return{aliases:[\"vbs\"],cI:!0,k:{keyword:\"call class const dim do loop erase execute executeglobal exit for each next function if then else on error option explicit new private property let get public randomize redim rem select case set stop sub while wend with end to elseif is or xor and not class_initialize class_terminate default preserve in me byval byref step resume goto\",built_in:\"lcase month vartype instrrev ubound setlocale getobject rgb getref string weekdayname rnd dateadd monthname now day minute isarray cbool round formatcurrency conversions csng timevalue second year space abs clng timeserial fixs len asc isempty maths dateserial atn timer isobject filter weekday datevalue ccur isdate instr datediff formatdatetime replace isnull right sgn array snumeric log cdbl hex chr lbound msgbox ucase getlocale cos cdate cbyte rtrim join hour oct typename trim strcomp int createobject loadpicture tan formatnumber mid scriptenginebuildversion scriptengine split scriptengineminorversion cint sin datepart ltrim sqr scriptenginemajorversion time derived eval date formatpercent exp inputbox left ascw chrw regexp server response request cstr err\",literal:\"true false null nothing empty\"},i:\"//\",c:[e.inherit(e.QSM,{c:[{b:'\"\"'}]}),e.C(/'/,/$/,{r:0}),e.CNM]}}),e.registerLanguage(\"vbscript-html\",function(e){return{sL:\"xml\",c:[{b:\"<%\",e:\"%>\",sL:\"vbscript\"}]}}),e.registerLanguage(\"verilog\",function(e){var t={keyword:\"accept_on alias always always_comb always_ff always_latch and assert assign assume automatic before begin bind bins binsof bit break buf|0 bufif0 bufif1 byte case casex casez cell chandle checker class clocking cmos config const constraint context continue cover covergroup coverpoint cross deassign default defparam design disable dist do edge else end endcase endchecker endclass endclocking endconfig endfunction endgenerate endgroup endinterface endmodule endpackage endprimitive endprogram endproperty endspecify endsequence endtable endtask enum event eventually expect export extends extern final first_match for force foreach forever fork forkjoin function generate|5 genvar global highz0 highz1 if iff ifnone ignore_bins illegal_bins implements implies import incdir include initial inout input inside instance int integer interconnect interface intersect join join_any join_none large let liblist library local localparam logic longint macromodule matches medium modport module nand negedge nettype new nexttime nmos nor noshowcancelled not notif0 notif1 or output package packed parameter pmos posedge primitive priority program property protected pull0 pull1 pulldown pullup pulsestyle_ondetect pulsestyle_onevent pure rand randc randcase randsequence rcmos real realtime ref reg reject_on release repeat restrict return rnmos rpmos rtran rtranif0 rtranif1 s_always s_eventually s_nexttime s_until s_until_with scalared sequence shortint shortreal showcancelled signed small soft solve specify specparam static string strong strong0 strong1 struct super supply0 supply1 sync_accept_on sync_reject_on table tagged task this throughout time timeprecision timeunit tran tranif0 tranif1 tri tri0 tri1 triand trior trireg type typedef union unique unique0 unsigned until until_with untyped use uwire var vectored virtual void wait wait_order wand weak weak0 weak1 while wildcard wire with within wor xnor xor\",literal:\"null\",built_in:\"$finish $stop $exit $fatal $error $warning $info $realtime $time $printtimescale $bitstoreal $bitstoshortreal $itor $signed $cast $bits $stime $timeformat $realtobits $shortrealtobits $rtoi $unsigned $asserton $assertkill $assertpasson $assertfailon $assertnonvacuouson $assertoff $assertcontrol $assertpassoff $assertfailoff $assertvacuousoff $isunbounded $sampled $fell $changed $past_gclk $fell_gclk $changed_gclk $rising_gclk $steady_gclk $coverage_control $coverage_get $coverage_save $set_coverage_db_name $rose $stable $past $rose_gclk $stable_gclk $future_gclk $falling_gclk $changing_gclk $display $coverage_get_max $coverage_merge $get_coverage $load_coverage_db $typename $unpacked_dimensions $left $low $increment $clog2 $ln $log10 $exp $sqrt $pow $floor $ceil $sin $cos $tan $countbits $onehot $isunknown $fatal $warning $dimensions $right $high $size $asin $acos $atan $atan2 $hypot $sinh $cosh $tanh $asinh $acosh $atanh $countones $onehot0 $error $info $random $dist_chi_square $dist_erlang $dist_exponential $dist_normal $dist_poisson $dist_t $dist_uniform $q_initialize $q_remove $q_exam $async$and$array $async$nand$array $async$or$array $async$nor$array $sync$and$array $sync$nand$array $sync$or$array $sync$nor$array $q_add $q_full $psprintf $async$and$plane $async$nand$plane $async$or$plane $async$nor$plane $sync$and$plane $sync$nand$plane $sync$or$plane $sync$nor$plane $system $display $displayb $displayh $displayo $strobe $strobeb $strobeh $strobeo $write $readmemb $readmemh $writememh $value$plusargs $dumpvars $dumpon $dumplimit $dumpports $dumpportson $dumpportslimit $writeb $writeh $writeo $monitor $monitorb $monitorh $monitoro $writememb $dumpfile $dumpoff $dumpall $dumpflush $dumpportsoff $dumpportsall $dumpportsflush $fclose $fdisplay $fdisplayb $fdisplayh $fdisplayo $fstrobe $fstrobeb $fstrobeh $fstrobeo $swrite $swriteb $swriteh $swriteo $fscanf $fread $fseek $fflush $feof $fopen $fwrite $fwriteb $fwriteh $fwriteo $fmonitor $fmonitorb $fmonitorh $fmonitoro $sformat $sformatf $fgetc $ungetc $fgets $sscanf $rewind $ftell $ferror\"};return{aliases:[\"v\",\"sv\",\"svh\"],cI:!1,k:t,l:/[\\w\\$]+/,c:[e.CBCM,e.CLCM,e.QSM,{cN:\"number\",c:[e.BE],v:[{b:\"\\\\b((\\\\d+'(b|h|o|d|B|H|O|D))[0-9xzXZa-fA-F_]+)\"},{b:\"\\\\B(('(b|h|o|d|B|H|O|D))[0-9xzXZa-fA-F_]+)\"},{b:\"\\\\b([0-9_])+\",r:0}]},{cN:\"variable\",v:[{b:\"#\\\\((?!parameter).+\\\\)\"},{b:\"\\\\.\\\\w+\",r:0}]},{cN:\"meta\",b:\"`\",e:\"$\",k:{\"meta-keyword\":\"define __FILE__ __LINE__ begin_keywords celldefine default_nettype define else elsif end_keywords endcelldefine endif ifdef ifndef include line nounconnected_drive pragma resetall timescale unconnected_drive undef undefineall\"},r:0}]}}),e.registerLanguage(\"vhdl\",function(e){var t=\"\\\\d(_|\\\\d)*\",r=\"[eE][-+]?\"+t,a=t+\"(\\\\.\"+t+\")?(\"+r+\")?\",i=\"\\\\w+\",n=t+\"#\"+i+\"(\\\\.\"+i+\")?#(\"+r+\")?\",o=\"\\\\b(\"+n+\"|\"+a+\")\";return{cI:!0,k:{keyword:\"abs access after alias all and architecture array assert assume assume_guarantee attribute begin block body buffer bus case component configuration constant context cover disconnect downto default else elsif end entity exit fairness file for force function generate generic group guarded if impure in inertial inout is label library linkage literal loop map mod nand new next nor not null of on open or others out package port postponed procedure process property protected pure range record register reject release rem report restrict restrict_guarantee return rol ror select sequence severity shared signal sla sll sra srl strong subtype then to transport type unaffected units until use variable vmode vprop vunit wait when while with xnor xor\",built_in:\"boolean bit character integer time delay_length natural positive string bit_vector file_open_kind file_open_status std_logic std_logic_vector unsigned signed boolean_vector integer_vector std_ulogic std_ulogic_vector unresolved_unsigned u_unsigned unresolved_signed u_signedreal_vector time_vector\",literal:\"false true note warning error failure line text side width\"},i:\"{\",c:[e.CBCM,e.C(\"--\",\"$\"),e.QSM,{cN:\"number\",b:o,r:0},{cN:\"string\",b:\"'(U|X|0|1|Z|W|L|H|-)'\",c:[e.BE]},{cN:\"symbol\",b:\"'[A-Za-z](_?[A-Za-z0-9])*\",c:[e.BE]}]}}),e.registerLanguage(\"vim\",function(e){return{l:/[!#@\\w]+/,k:{keyword:\"N|0 P|0 X|0 a|0 ab abc abo al am an|0 ar arga argd arge argdo argg argl argu as au aug aun b|0 bN ba bad bd be bel bf bl bm bn bo bp br brea breaka breakd breakl bro bufdo buffers bun bw c|0 cN cNf ca cabc caddb cad caddf cal cat cb cc ccl cd ce cex cf cfir cgetb cgete cg changes chd che checkt cl cla clo cm cmapc cme cn cnew cnf cno cnorea cnoreme co col colo com comc comp con conf cope cp cpf cq cr cs cst cu cuna cunme cw delm deb debugg delc delf dif diffg diffo diffp diffpu diffs diffthis dig di dl dell dj dli do doautoa dp dr ds dsp e|0 ea ec echoe echoh echom echon el elsei em en endfo endf endt endw ene ex exe exi exu f|0 files filet fin fina fini fir fix fo foldc foldd folddoc foldo for fu go gr grepa gu gv ha helpf helpg helpt hi hid his ia iabc if ij il im imapc ime ino inorea inoreme int is isp iu iuna iunme j|0 ju k|0 keepa kee keepj lN lNf l|0 lad laddb laddf la lan lat lb lc lch lcl lcs le lefta let lex lf lfir lgetb lgete lg lgr lgrepa lh ll lla lli lmak lm lmapc lne lnew lnf ln loadk lo loc lockv lol lope lp lpf lr ls lt lu lua luad luaf lv lvimgrepa lw m|0 ma mak map mapc marks mat me menut mes mk mks mksp mkv mkvie mod mz mzf nbc nb nbs new nm nmapc nme nn nnoreme noa no noh norea noreme norm nu nun nunme ol o|0 om omapc ome on ono onoreme opt ou ounme ow p|0 profd prof pro promptr pc ped pe perld po popu pp pre prev ps pt ptN ptf ptj ptl ptn ptp ptr pts pu pw py3 python3 py3d py3f py pyd pyf quita qa rec red redi redr redraws reg res ret retu rew ri rightb rub rubyd rubyf rund ru rv sN san sa sal sav sb sbN sba sbf sbl sbm sbn sbp sbr scrip scripte scs se setf setg setl sf sfir sh sim sig sil sl sla sm smap smapc sme sn sni sno snor snoreme sor so spelld spe spelli spellr spellu spellw sp spr sre st sta startg startr star stopi stj sts sun sunm sunme sus sv sw sy synti sync tN tabN tabc tabdo tabe tabf tabfir tabl tabm tabnew tabn tabo tabp tabr tabs tab ta tags tc tcld tclf te tf th tj tl tm tn to tp tr try ts tu u|0 undoj undol una unh unl unlo unm unme uns up ve verb vert vim vimgrepa vi viu vie vm vmapc vme vne vn vnoreme vs vu vunme windo w|0 wN wa wh wi winc winp wn wp wq wqa ws wu wv x|0 xa xmapc xm xme xn xnoreme xu xunme y|0 z|0 ~ Next Print append abbreviate abclear aboveleft all amenu anoremenu args argadd argdelete argedit argglobal arglocal argument ascii autocmd augroup aunmenu buffer bNext ball badd bdelete behave belowright bfirst blast bmodified bnext botright bprevious brewind break breakadd breakdel breaklist browse bunload bwipeout change cNext cNfile cabbrev cabclear caddbuffer caddexpr caddfile call catch cbuffer cclose center cexpr cfile cfirst cgetbuffer cgetexpr cgetfile chdir checkpath checktime clist clast close cmap cmapclear cmenu cnext cnewer cnfile cnoremap cnoreabbrev cnoremenu copy colder colorscheme command comclear compiler continue confirm copen cprevious cpfile cquit crewind cscope cstag cunmap cunabbrev cunmenu cwindow delete delmarks debug debuggreedy delcommand delfunction diffupdate diffget diffoff diffpatch diffput diffsplit digraphs display deletel djump dlist doautocmd doautoall deletep drop dsearch dsplit edit earlier echo echoerr echohl echomsg else elseif emenu endif endfor endfunction endtry endwhile enew execute exit exusage file filetype find finally finish first fixdel fold foldclose folddoopen folddoclosed foldopen function global goto grep grepadd gui gvim hardcopy help helpfind helpgrep helptags highlight hide history insert iabbrev iabclear ijump ilist imap imapclear imenu inoremap inoreabbrev inoremenu intro isearch isplit iunmap iunabbrev iunmenu join jumps keepalt keepmarks keepjumps lNext lNfile list laddexpr laddbuffer laddfile last language later lbuffer lcd lchdir lclose lcscope left leftabove lexpr lfile lfirst lgetbuffer lgetexpr lgetfile lgrep lgrepadd lhelpgrep llast llist lmake lmap lmapclear lnext lnewer lnfile lnoremap loadkeymap loadview lockmarks lockvar lolder lopen lprevious lpfile lrewind ltag lunmap luado luafile lvimgrep lvimgrepadd lwindow move mark make mapclear match menu menutranslate messages mkexrc mksession mkspell mkvimrc mkview mode mzscheme mzfile nbclose nbkey nbsart next nmap nmapclear nmenu nnoremap nnoremenu noautocmd noremap nohlsearch noreabbrev noremenu normal number nunmap nunmenu oldfiles open omap omapclear omenu only onoremap onoremenu options ounmap ounmenu ownsyntax print profdel profile promptfind promptrepl pclose pedit perl perldo pop popup ppop preserve previous psearch ptag ptNext ptfirst ptjump ptlast ptnext ptprevious ptrewind ptselect put pwd py3do py3file python pydo pyfile quit quitall qall read recover redo redir redraw redrawstatus registers resize retab return rewind right rightbelow ruby rubydo rubyfile rundo runtime rviminfo substitute sNext sandbox sargument sall saveas sbuffer sbNext sball sbfirst sblast sbmodified sbnext sbprevious sbrewind scriptnames scriptencoding scscope set setfiletype setglobal setlocal sfind sfirst shell simalt sign silent sleep slast smagic smapclear smenu snext sniff snomagic snoremap snoremenu sort source spelldump spellgood spellinfo spellrepall spellundo spellwrong split sprevious srewind stop stag startgreplace startreplace startinsert stopinsert stjump stselect sunhide sunmap sunmenu suspend sview swapname syntax syntime syncbind tNext tabNext tabclose tabedit tabfind tabfirst tablast tabmove tabnext tabonly tabprevious tabrewind tag tcl tcldo tclfile tearoff tfirst throw tjump tlast tmenu tnext topleft tprevious trewind tselect tunmenu undo undojoin undolist unabbreviate unhide unlet unlockvar unmap unmenu unsilent update vglobal version verbose vertical vimgrep vimgrepadd visual viusage view vmap vmapclear vmenu vnew vnoremap vnoremenu vsplit vunmap vunmenu write wNext wall while winsize wincmd winpos wnext wprevious wqall wsverb wundo wviminfo xit xall xmapclear xmap xmenu xnoremap xnoremenu xunmap xunmenu yank\",built_in:\"synIDtrans atan2 range matcharg did_filetype asin feedkeys xor argv complete_check add getwinposx getqflist getwinposy screencol clearmatches empty extend getcmdpos mzeval garbagecollect setreg ceil sqrt diff_hlID inputsecret get getfperm getpid filewritable shiftwidth max sinh isdirectory synID system inputrestore winline atan visualmode inputlist tabpagewinnr round getregtype mapcheck hasmapto histdel argidx findfile sha256 exists toupper getcmdline taglist string getmatches bufnr strftime winwidth bufexists strtrans tabpagebuflist setcmdpos remote_read printf setloclist getpos getline bufwinnr float2nr len getcmdtype diff_filler luaeval resolve libcallnr foldclosedend reverse filter has_key bufname str2float strlen setline getcharmod setbufvar index searchpos shellescape undofile foldclosed setqflist buflisted strchars str2nr virtcol floor remove undotree remote_expr winheight gettabwinvar reltime cursor tabpagenr finddir localtime acos getloclist search tanh matchend rename gettabvar strdisplaywidth type abs py3eval setwinvar tolower wildmenumode log10 spellsuggest bufloaded synconcealed nextnonblank server2client complete settabwinvar executable input wincol setmatches getftype hlID inputsave searchpair or screenrow line settabvar histadd deepcopy strpart remote_peek and eval getftime submatch screenchar winsaveview matchadd mkdir screenattr getfontname libcall reltimestr getfsize winnr invert pow getbufline byte2line soundfold repeat fnameescape tagfiles sin strwidth spellbadword trunc maparg log lispindent hostname setpos globpath remote_foreground getchar synIDattr fnamemodify cscope_connection stridx winbufnr indent min complete_add nr2char searchpairpos inputdialog values matchlist items hlexists strridx browsedir expand fmod pathshorten line2byte argc count getwinvar glob foldtextresult getreg foreground cosh matchdelete has char2nr simplify histget searchdecl iconv winrestcmd pumvisible writefile foldlevel haslocaldir keys cos matchstr foldtext histnr tan tempname getcwd byteidx getbufvar islocked escape eventhandler remote_send serverlist winrestview synstack pyeval prevnonblank readfile cindent filereadable changenr exp\"},i:/;/,c:[e.NM,e.ASM,{cN:\"string\",b:/\"(\\\\\"|\\n\\\\|[^\"\\n])*\"/},e.C('\"',\"$\"),{cN:\"variable\",b:/[bwtglsav]:[\\w\\d_]*/},{cN:\"function\",bK:\"function function!\",e:\"$\",r:0,c:[e.TM,{cN:\"params\",b:\"\\\\(\",e:\"\\\\)\"}]},{cN:\"symbol\",b:/<[\\w-]+>/}]}}),e.registerLanguage(\"x86asm\",function(e){return{cI:!0,l:\"[.%]?\"+e.IR,k:{keyword:\"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63\",\nbuilt_in:\"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0  xmm1  xmm2  xmm3  xmm4  xmm5  xmm6  xmm7  xmm8  xmm9 xmm10  xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0  ymm1  ymm2  ymm3  ymm4  ymm5  ymm6  ymm7  ymm8  ymm9 ymm10  ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0  zmm1  zmm2  zmm3  zmm4  zmm5  zmm6  zmm7  zmm8  zmm9 zmm10  zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr\",meta:\"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__  __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__  __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__\"},c:[e.C(\";\",\"$\",{r:0}),{cN:\"number\",v:[{b:\"\\\\b(?:([0-9][0-9_]*)?\\\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\\\b\",r:0},{b:\"\\\\$[0-9][0-9A-Fa-f]*\",r:0},{b:\"\\\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\\\b\"},{b:\"\\\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\\\b\"}]},e.QSM,{cN:\"string\",v:[{b:\"'\",e:\"[^\\\\\\\\]'\"},{b:\"`\",e:\"[^\\\\\\\\]`\"}],r:0},{cN:\"symbol\",v:[{b:\"^\\\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\\\s+label)\"},{b:\"^\\\\s*%%[A-Za-z0-9_$#@~.?]*:\"}],r:0},{cN:\"subst\",b:\"%[0-9]+\",r:0},{cN:\"subst\",b:\"%!S+\",r:0},{cN:\"meta\",b:/^\\s*\\.[\\w_-]+/}]}}),e.registerLanguage(\"xl\",function(e){var t=\"ObjectLoader Animate MovieCredits Slides Filters Shading Materials LensFlare Mapping VLCAudioVideo StereoDecoder PointCloud NetworkAccess RemoteControl RegExp ChromaKey Snowfall NodeJS Speech Charts\",r={keyword:\"if then else do while until for loop import with is as where when by data constant integer real text name boolean symbol infix prefix postfix block tree\",literal:\"true false nil\",built_in:\"in mod rem and or xor not abs sign floor ceil sqrt sin cos tan asin acos atan exp expm1 log log2 log10 log1p pi at text_length text_range text_find text_replace contains page slide basic_slide title_slide title subtitle fade_in fade_out fade_at clear_color color line_color line_width texture_wrap texture_transform texture scale_?x scale_?y scale_?z? translate_?x translate_?y translate_?z? rotate_?x rotate_?y rotate_?z? rectangle circle ellipse sphere path line_to move_to quad_to curve_to theme background contents locally time mouse_?x mouse_?y mouse_buttons \"+t},a={cN:\"string\",b:'\"',e:'\"',i:\"\\\\n\"},i={cN:\"string\",b:\"'\",e:\"'\",i:\"\\\\n\"},n={cN:\"string\",b:\"<<\",e:\">>\"},o={cN:\"number\",b:\"[0-9]+#[0-9A-Z_]+(\\\\.[0-9-A-Z_]+)?#?([Ee][+-]?[0-9]+)?\"},s={bK:\"import\",e:\"$\",k:r,c:[a]},l={cN:\"function\",b:/[a-z][^\\n]*->/,rB:!0,e:/->/,c:[e.inherit(e.TM,{starts:{eW:!0,k:r}})]};return{aliases:[\"tao\"],l:/[a-zA-Z][a-zA-Z0-9_?]*/,k:r,c:[e.CLCM,e.CBCM,a,i,n,l,s,o,e.NM]}}),e.registerLanguage(\"xquery\",function(e){var t=\"for let if while then else return where group by xquery encoding versionmodule namespace boundary-space preserve strip default collation base-uri orderingcopy-namespaces order declare import schema namespace function option in allowing emptyat tumbling window sliding window start when only end when previous next stable ascendingdescending empty greatest least some every satisfies switch case typeswitch try catch andor to union intersect instance of treat as castable cast map array delete insert intoreplace value rename copy modify update\",r=\"false true xs:string xs:integer element item xs:date xs:datetime xs:float xs:double xs:decimal QName xs:anyURI xs:long xs:int xs:short xs:byte attribute\",a={b:/\\$[a-zA-Z0-9\\-]+/},i={cN:\"number\",b:\"(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b\",r:0},n={cN:\"string\",v:[{b:/\"/,e:/\"/,c:[{b:/\"\"/,r:0}]},{b:/'/,e:/'/,c:[{b:/''/,r:0}]}]},o={cN:\"meta\",b:\"%\\\\w+\"},s={cN:\"comment\",b:\"\\\\(:\",e:\":\\\\)\",r:10,c:[{cN:\"doctag\",b:\"@\\\\w+\"}]},l={b:\"{\",e:\"}\"},c=[a,n,i,s,o,l];return l.c=c,{aliases:[\"xpath\",\"xq\"],cI:!1,l:/[a-zA-Z\\$][a-zA-Z0-9_:\\-]*/,i:/(proc)|(abstract)|(extends)|(until)|(#)/,k:{keyword:t,literal:r},c:c}}),e.registerLanguage(\"zephir\",function(e){var t={cN:\"string\",c:[e.BE],v:[{b:'b\"',e:'\"'},{b:\"b'\",e:\"'\"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},r={v:[e.BNM,e.CNM]};return{aliases:[\"zep\"],cI:!0,k:\"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var let while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally int uint long ulong char uchar double float bool boolean stringlikely unlikely\",c:[e.CLCM,e.HCM,e.C(\"/\\\\*\",\"\\\\*/\",{c:[{cN:\"doctag\",b:\"@[A-Za-z]+\"}]}),e.C(\"__halt_compiler.+?;\",!1,{eW:!0,k:\"__halt_compiler\",l:e.UIR}),{cN:\"string\",b:\"<<<['\\\"]?\\\\w+['\\\"]?$\",e:\"^\\\\w+;\",c:[e.BE]},{b:/(::|->)+[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/},{cN:\"function\",bK:\"function\",e:/[;{]/,eE:!0,i:\"\\\\$|\\\\[|%\",c:[e.UTM,{cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",c:[\"self\",e.CBCM,t,r]}]},{cN:\"class\",bK:\"class interface\",e:\"{\",eE:!0,i:/[:\\(\\$\"]/,c:[{bK:\"extends implements\"},e.UTM]},{bK:\"namespace\",e:\";\",i:/[\\.']/,c:[e.UTM]},{bK:\"use\",e:\";\",c:[e.UTM]},{b:\"=>\"},t,r]}}),e});\n/*! url - v1.8.6 - 2013-11-22 */window.url=function(){function a(a){return!isNaN(parseFloat(a))&&isFinite(a)}return function(b,c){var d=c||window.location.toString();if(!b)return d;b=b.toString(),\"//\"===d.substring(0,2)?d=\"http:\"+d:1===d.split(\"://\").length&&(d=\"http://\"+d),c=d.split(\"/\");var e={auth:\"\"},f=c[2].split(\"@\");1===f.length?f=f[0].split(\":\"):(e.auth=f[0],f=f[1].split(\":\")),e.protocol=c[0],e.hostname=f[0],e.port=f[1]||(\"https\"===e.protocol.split(\":\")[0].toLowerCase()?\"443\":\"80\"),e.pathname=(c.length>3?\"/\":\"\")+c.slice(3,c.length).join(\"/\").split(\"?\")[0].split(\"#\")[0];var g=e.pathname;\"/\"===g.charAt(g.length-1)&&(g=g.substring(0,g.length-1));var h=e.hostname,i=h.split(\".\"),j=g.split(\"/\");if(\"hostname\"===b)return h;if(\"domain\"===b)return/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/.test(h)?h:i.slice(-2).join(\".\");if(\"sub\"===b)return i.slice(0,i.length-2).join(\".\");if(\"port\"===b)return e.port;if(\"protocol\"===b)return e.protocol.split(\":\")[0];if(\"auth\"===b)return e.auth;if(\"user\"===b)return e.auth.split(\":\")[0];if(\"pass\"===b)return e.auth.split(\":\")[1]||\"\";if(\"path\"===b)return e.pathname;if(\".\"===b.charAt(0)){if(b=b.substring(1),a(b))return b=parseInt(b,10),i[0>b?i.length+b:b-1]||\"\"}else{if(a(b))return b=parseInt(b,10),j[0>b?j.length+b:b]||\"\";if(\"file\"===b)return j.slice(-1)[0];if(\"filename\"===b)return j.slice(-1)[0].split(\".\")[0];if(\"fileext\"===b)return j.slice(-1)[0].split(\".\")[1]||\"\";if(\"?\"===b.charAt(0)||\"#\"===b.charAt(0)){var k=d,l=null;if(\"?\"===b.charAt(0)?k=(k.split(\"?\")[1]||\"\").split(\"#\")[0]:\"#\"===b.charAt(0)&&(k=k.split(\"#\")[1]||\"\"),!b.charAt(1))return k;b=b.substring(1),k=k.split(\"&\");for(var m=0,n=k.length;n>m;m++)if(l=k[m].split(\"=\"),l[0]===b)return l[1]||\"\";return null}}return\"\"}}(),\"undefined\"!=typeof jQuery&&jQuery.extend({url:function(a,b){return window.url(a,b)}});\n/*\n * jQuery Bootstrap Pagination v1.3.1\n * https://github.com/esimakin/twbs-pagination\n *\n * Copyright 2014-2015 Eugene Simakin <eugenesimakin@mail.ru>\n * Released under Apache 2.0 license\n * http://apache.org/licenses/LICENSE-2.0.html\n */\n!function(a,b,c,d){\"use strict\";var e=a.fn.twbsPagination,f=function(c,d){if(this.$element=a(c),this.options=a.extend({},a.fn.twbsPagination.defaults,d),this.options.startPage<1||this.options.startPage>this.options.totalPages)throw new Error(\"Start page option is incorrect\");if(this.options.totalPages=parseInt(this.options.totalPages),isNaN(this.options.totalPages))throw new Error(\"Total pages option is not correct!\");if(this.options.visiblePages=parseInt(this.options.visiblePages),isNaN(this.options.visiblePages))throw new Error(\"Visible pages option is not correct!\");if(this.options.totalPages<this.options.visiblePages&&(this.options.visiblePages=this.options.totalPages),this.options.onPageClick instanceof Function&&this.$element.first().on(\"page\",this.options.onPageClick),this.options.href){var e,f=this.options.href.replace(/[-\\/\\\\^$*+?.|[\\]]/g,\"\\\\$&\");f=f.replace(this.options.hrefVariable,\"(\\\\d+)\"),null!=(e=new RegExp(f,\"i\").exec(b.location.href))&&(this.options.startPage=parseInt(e[1],10))}var g=\"function\"==typeof this.$element.prop?this.$element.prop(\"tagName\"):this.$element.attr(\"tagName\");return\"UL\"===g?this.$listContainer=this.$element:this.$listContainer=a(\"<ul></ul>\"),this.$listContainer.addClass(this.options.paginationClass),\"UL\"!==g&&this.$element.append(this.$listContainer),this.render(this.getPages(this.options.startPage)),this.setupEvents(),this.options.initiateStartPageClick&&this.$element.trigger(\"page\",this.options.startPage),this};f.prototype={constructor:f,destroy:function(){return this.$element.empty(),this.$element.removeData(\"twbs-pagination\"),this.$element.off(\"page\"),this},show:function(a){if(1>a||a>this.options.totalPages)throw new Error(\"Page is incorrect.\");return this.render(this.getPages(a)),this.setupEvents(),this.$element.trigger(\"page\",a),this},buildListItems:function(a){var b=[];if(this.options.first&&b.push(this.buildItem(\"first\",1)),this.options.prev){var c=a.currentPage>1?a.currentPage-1:this.options.loop?this.options.totalPages:1;b.push(this.buildItem(\"prev\",c))}for(var d=0;d<a.numeric.length;d++)b.push(this.buildItem(\"page\",a.numeric[d]));if(this.options.next){var e=a.currentPage<this.options.totalPages?a.currentPage+1:this.options.loop?1:this.options.totalPages;b.push(this.buildItem(\"next\",e))}return this.options.last&&b.push(this.buildItem(\"last\",this.options.totalPages)),b},buildItem:function(b,c){var d=a(\"<li></li>\"),e=a(\"<a></a>\"),f=null;switch(b){case\"page\":f=c,d.addClass(this.options.pageClass);break;case\"first\":f=this.options.first,d.addClass(this.options.firstClass);break;case\"prev\":f=this.options.prev,d.addClass(this.options.prevClass);break;case\"next\":f=this.options.next,d.addClass(this.options.nextClass);break;case\"last\":f=this.options.last,d.addClass(this.options.lastClass)}return d.data(\"page\",c),d.data(\"page-type\",b),d.append(e.attr(\"href\",this.makeHref(c)).html(f)),d},getPages:function(a){var b=[],c=Math.floor(this.options.visiblePages/2),d=a-c+1-this.options.visiblePages%2,e=a+c;0>=d&&(d=1,e=this.options.visiblePages),e>this.options.totalPages&&(d=this.options.totalPages-this.options.visiblePages+1,e=this.options.totalPages);for(var f=d;e>=f;)b.push(f),f++;return{currentPage:a,numeric:b}},render:function(b){var c=this;this.$listContainer.children().remove(),this.$listContainer.append(this.buildListItems(b)),this.$listContainer.children().each(function(){var d=a(this),e=d.data(\"page-type\");switch(e){case\"page\":d.data(\"page\")===b.currentPage&&d.addClass(c.options.activeClass);break;case\"first\":d.toggleClass(c.options.disabledClass,1===b.currentPage);break;case\"last\":d.toggleClass(c.options.disabledClass,b.currentPage===c.options.totalPages);break;case\"prev\":d.toggleClass(c.options.disabledClass,!c.options.loop&&1===b.currentPage);break;case\"next\":d.toggleClass(c.options.disabledClass,!c.options.loop&&b.currentPage===c.options.totalPages)}})},setupEvents:function(){var b=this;this.$listContainer.find(\"li\").each(function(){var c=a(this);return c.off(),c.hasClass(b.options.disabledClass)||c.hasClass(b.options.activeClass)?void c.on(\"click\",!1):void c.click(function(a){!b.options.href&&a.preventDefault(),b.show(parseInt(c.data(\"page\")))})})},makeHref:function(a){return this.options.href?this.options.href.replace(this.options.hrefVariable,a):\"#\"}},a.fn.twbsPagination=function(b){var c,e=Array.prototype.slice.call(arguments,1),g=a(this),h=g.data(\"twbs-pagination\"),i=\"object\"==typeof b&&b;return h||g.data(\"twbs-pagination\",h=new f(this,i)),\"string\"==typeof b&&(c=h[b].apply(h,e)),c===d?g:c},a.fn.twbsPagination.defaults={totalPages:0,startPage:1,visiblePages:5,initiateStartPageClick:!0,href:!1,hrefVariable:\"{{number}}\",first:\"First\",prev:\"Previous\",next:\"Next\",last:\"Last\",loop:!1,onPageClick:null,paginationClass:\"pagination\",nextClass:\"next\",prevClass:\"prev\",lastClass:\"last\",firstClass:\"first\",pageClass:\"page\",activeClass:\"active\",disabledClass:\"disabled\"},a.fn.twbsPagination.Constructor=f,a.fn.twbsPagination.noConflict=function(){return a.fn.twbsPagination=e,this}}(window.jQuery,window,document);\n/*!***************************************************\n* mark.js v8.11.1\n* https://markjs.io/\n* Copyright (c) 2014–2018, Julian Kühnel\n* Released under the MIT license https://git.io/vwTVl\n*****************************************************/\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"jquery\")):\"function\"==typeof define&&define.amd?define([\"jquery\"],t):e.Mark=t(e.jQuery)}(this,function(e){\"use strict\";e=e&&e.hasOwnProperty(\"default\")?e.default:e;var t=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},n=function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")},r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=function(){function e(t){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;n(this,e),this.ctx=t,this.iframes=r,this.exclude=i,this.iframesTimeout=o}return r(e,[{key:\"getContexts\",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:\"string\"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach(function(t){var n=e.filter(function(e){return e.contains(t)}).length>0;-1!==e.indexOf(t)||n||e.push(t)}),e}},{key:\"getIframeContents\",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var i=e.contentWindow;if(r=i.document,!i||!r)throw new Error(\"iframe inaccessible\")}catch(e){n()}r&&t(r)}},{key:\"isIframeBlank\",value:function(e){var t=e.getAttribute(\"src\").trim();return\"about:blank\"===e.contentWindow.location.href&&\"about:blank\"!==t&&t}},{key:\"observeIframeLoad\",value:function(e,t,n){var r=this,i=!1,o=null,a=function a(){if(!i){i=!0,clearTimeout(o);try{r.isIframeBlank(e)||(e.removeEventListener(\"load\",a),r.getIframeContents(e,t,n))}catch(e){n()}}};e.addEventListener(\"load\",a),o=setTimeout(a,this.iframesTimeout)}},{key:\"onIframeReady\",value:function(e,t,n){try{\"complete\"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(e){n()}}},{key:\"waitForIframes\",value:function(e,t){var n=this,r=0;this.forEachIframe(e,function(){return!0},function(e){r++,n.waitForIframes(e.querySelector(\"html\"),function(){--r||t()})},function(e){e||t()})}},{key:\"forEachIframe\",value:function(t,n,r){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=t.querySelectorAll(\"iframe\"),s=a.length,c=0;a=Array.prototype.slice.call(a);var u=function(){--s<=0&&o(c)};s||u(),a.forEach(function(t){e.matches(t,i.exclude)?u():i.onIframeReady(t,function(e){n(t)&&(c++,r(e)),u()},u)})}},{key:\"createIterator\",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:\"createInstanceOnIframe\",value:function(t){return new e(t.querySelector(\"html\"),this.iframes)}},{key:\"compareNodeIframe\",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:\"getIteratorNode\",value:function(e){var t=e.previousNode();return{prevNode:t,node:null===t?e.nextNode():e.nextNode()&&e.nextNode()}}},{key:\"checkIframeFilter\",value:function(e,t,n,r){var i=!1,o=!1;return r.forEach(function(e,t){e.val===n&&(i=t,o=e.handled)}),this.compareNodeIframe(e,t,n)?(!1!==i||o?!1===i||o||(r[i].handled=!0):r.push({val:n,handled:!0}),!0):(!1===i&&r.push({val:n,handled:!1}),!1)}},{key:\"handleOpenIframes\",value:function(e,t,n,r){var i=this;e.forEach(function(e){e.handled||i.getIframeContents(e.val,function(e){i.createInstanceOnIframe(e).forEachNode(t,n,r)})})}},{key:\"iterateThroughNodes\",value:function(e,t,n,r,i){for(var o,a=this,s=this.createIterator(t,e,r),c=[],u=[],l=void 0,h=void 0;void 0,o=a.getIteratorNode(s),h=o.prevNode,l=o.node;)this.iframes&&this.forEachIframe(t,function(e){return a.checkIframeFilter(l,h,e,c)},function(t){a.createInstanceOnIframe(t).forEachNode(e,function(e){return u.push(e)},r)}),u.push(l);u.forEach(function(e){n(e)}),this.iframes&&this.handleOpenIframes(c,e,n,r),i()}},{key:\"forEachNode\",value:function(e,t,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},o=this.getContexts(),a=o.length;a||i(),o.forEach(function(o){var s=function(){r.iterateThroughNodes(e,o,t,n,function(){--a<=0&&i()})};r.iframes?r.waitForIframes(o,s):s()})}}],[{key:\"matches\",value:function(e,t){var n=\"string\"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var i=!1;return n.every(function(t){return!r.call(e,t)||(i=!0,!1)}),i}return!1}}]),e}(),a=function(){function e(t){n(this,e),this.ctx=t,this.ie=!1;var r=window.navigator.userAgent;(r.indexOf(\"MSIE\")>-1||r.indexOf(\"Trident\")>-1)&&(this.ie=!0)}return r(e,[{key:\"log\",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"debug\",r=this.opt.log;this.opt.debug&&\"object\"===(void 0===r?\"undefined\":t(r))&&\"function\"==typeof r[n]&&r[n](\"mark.js: \"+e)}},{key:\"escapeStr\",value:function(e){return e.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\"\\\\$&\")}},{key:\"createRegExp\",value:function(e){return\"disabled\"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),\"disabled\"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e)}},{key:\"createSynonymsRegExp\",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?\"\":\"i\",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?\"\\0\":\"\";for(var i in t)if(t.hasOwnProperty(i)){var o=t[i],a=\"disabled\"!==this.opt.wildcards?this.setupWildcardsRegExp(i):this.escapeStr(i),s=\"disabled\"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o);\"\"!==a&&\"\"!==s&&(e=e.replace(new RegExp(\"(\"+this.escapeStr(a)+\"|\"+this.escapeStr(s)+\")\",\"gm\"+n),r+\"(\"+this.processSynomyms(a)+\"|\"+this.processSynomyms(s)+\")\"+r))}return e}},{key:\"processSynomyms\",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:\"setupWildcardsRegExp\",value:function(e){return(e=e.replace(/(?:\\\\)*\\?/g,function(e){return\"\\\\\"===e.charAt(0)?\"?\":\"\u0001\"})).replace(/(?:\\\\)*\\*/g,function(e){return\"\\\\\"===e.charAt(0)?\"*\":\"\u0002\"})}},{key:\"createWildcardsRegExp\",value:function(e){var t=\"withSpaces\"===this.opt.wildcards;return e.replace(/\\u0001/g,t?\"[\\\\S\\\\s]?\":\"\\\\S?\").replace(/\\u0002/g,t?\"[\\\\S\\\\s]*?\":\"\\\\S*\")}},{key:\"setupIgnoreJoinersRegExp\",value:function(e){return e.replace(/[^(|)\\\\]/g,function(e,t,n){var r=n.charAt(t+1);return/[(|)\\\\]/.test(r)||\"\"===r?e:e+\"\\0\"})}},{key:\"createJoinersRegExp\",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(\"\"))),this.opt.ignoreJoiners&&t.push(\"\\\\u00ad\\\\u200b\\\\u200c\\\\u200d\"),t.length?e.split(/\\u0000+/).join(\"[\"+t.join(\"\")+\"]*\"):e}},{key:\"createDiacriticsRegExp\",value:function(e){var t=this.opt.caseSensitive?\"\":\"i\",n=this.opt.caseSensitive?[\"aàáảãạăằắẳẵặâầấẩẫậäåāą\",\"AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ\",\"cçćč\",\"CÇĆČ\",\"dđď\",\"DĐĎ\",\"eèéẻẽẹêềếểễệëěēę\",\"EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ\",\"iìíỉĩịîïī\",\"IÌÍỈĨỊÎÏĪ\",\"lł\",\"LŁ\",\"nñňń\",\"NÑŇŃ\",\"oòóỏõọôồốổỗộơởỡớờợöøō\",\"OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ\",\"rř\",\"RŘ\",\"sšśșş\",\"SŠŚȘŞ\",\"tťțţ\",\"TŤȚŢ\",\"uùúủũụưừứửữựûüůū\",\"UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ\",\"yýỳỷỹỵÿ\",\"YÝỲỶỸỴŸ\",\"zžżź\",\"ZŽŻŹ\"]:[\"aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ\",\"cçćčCÇĆČ\",\"dđďDĐĎ\",\"eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ\",\"iìíỉĩịîïīIÌÍỈĨỊÎÏĪ\",\"lłLŁ\",\"nñňńNÑŇŃ\",\"oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ\",\"rřRŘ\",\"sšśșşSŠŚȘŞ\",\"tťțţTŤȚŢ\",\"uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ\",\"yýỳỷỹỵÿYÝỲỶỸỴŸ\",\"zžżźZŽŻŹ\"],r=[];return e.split(\"\").forEach(function(i){n.every(function(n){if(-1!==n.indexOf(i)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp(\"[\"+n+\"]\",\"gm\"+t),\"[\"+n+\"]\"),r.push(n)}return!0})}),e}},{key:\"createMergedBlanksRegExp\",value:function(e){return e.replace(/[\\s]+/gim,\"[\\\\s]+\")}},{key:\"createAccuracyRegExp\",value:function(e){var t=this,n=this.opt.accuracy,r=\"string\"==typeof n?n:n.value,i=\"\";switch((\"string\"==typeof n?[]:n.limiters).forEach(function(e){i+=\"|\"+t.escapeStr(e)}),r){case\"partially\":default:return\"()(\"+e+\")\";case\"complementary\":return\"()([^\"+(i=\"\\\\s\"+(i||this.escapeStr(\"!\\\"#$%&'()*+,-./:;<=>?@[\\\\]^_`{|}~¡¿\")))+\"]*\"+e+\"[^\"+i+\"]*)\";case\"exactly\":return\"(^|\\\\s\"+i+\")(\"+e+\")(?=$|\\\\s\"+i+\")\"}}},{key:\"getSeparatedKeywords\",value:function(e){var t=this,n=[];return e.forEach(function(e){t.opt.separateWordSearch?e.split(\" \").forEach(function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)}):e.trim()&&-1===n.indexOf(e)&&n.push(e)}),{keywords:n.sort(function(e,t){return t.length-e.length}),length:n.length}}},{key:\"isNumeric\",value:function(e){return Number(parseFloat(e))==e}},{key:\"checkRanges\",value:function(e){var t=this;if(!Array.isArray(e)||\"[object Object]\"!==Object.prototype.toString.call(e[0]))return this.log(\"markRanges() will only accept an array of objects\"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort(function(e,t){return e.start-t.start}).forEach(function(e){var i=t.callNoMatchOnInvalidRanges(e,r),o=i.start,a=i.end;i.valid&&(e.start=o,e.length=a-o,n.push(e),r=a)}),n}},{key:\"callNoMatchOnInvalidRanges\",value:function(e,t){var n=void 0,r=void 0,i=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?i=!0:(this.log(\"Ignoring invalid or overlapping range: \"+JSON.stringify(e)),this.opt.noMatch(e))):(this.log(\"Ignoring invalid range: \"+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:i}}},{key:\"checkWhitespaceRanges\",value:function(e,t,n){var r=void 0,i=!0,o=n.length,a=t-o,s=parseInt(e.start,10)-a;return(r=(s=s>o?o:s)+parseInt(e.length,10))>o&&(r=o,this.log(\"End range automatically set to the max value of \"+o)),s<0||r-s<0||s>o||r>o?(i=!1,this.log(\"Invalid range: \"+JSON.stringify(e)),this.opt.noMatch(e)):\"\"===n.substring(s,r).replace(/\\s+/g,\"\")&&(i=!1,this.log(\"Skipping whitespace only range: \"+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:i}}},{key:\"getTextNodes\",value:function(e){var t=this,n=\"\",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})},function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},function(){e({value:n,nodes:r})})}},{key:\"matchesExclude\",value:function(e){return o.matches(e,this.opt.exclude.concat([\"script\",\"style\",\"title\",\"head\",\"html\"]))}},{key:\"wrapRangeInTextNode\",value:function(e,t,n){var r=this.opt.element?this.opt.element:\"mark\",i=e.splitText(t),o=i.splitText(n-t),a=document.createElement(r);return a.setAttribute(\"data-markjs\",\"true\"),this.opt.className&&a.setAttribute(\"class\",this.opt.className),a.textContent=i.textContent,i.parentNode.replaceChild(a,i),o}},{key:\"wrapRangeInMappedTextNode\",value:function(e,t,n,r,i){var o=this;e.nodes.every(function(a,s){var c=e.nodes[s+1];if(void 0===c||c.start>t){if(!r(a.node))return!1;var u=t-a.start,l=(n>a.end?a.end:n)-a.start,h=e.value.substr(0,a.start),f=e.value.substr(l+a.start);if(a.node=o.wrapRangeInTextNode(a.node,u,l),e.value=h+f,e.nodes.forEach(function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=l),e.nodes[n].end-=l)}),n-=l,i(a.node.previousSibling,a.start),!(n>a.end))return!1;t=a.end}return!0})}},{key:\"wrapMatches\",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes(function(t){t.nodes.forEach(function(t){t=t.node;for(var i=void 0;null!==(i=e.exec(t.textContent))&&\"\"!==i[a];)if(n(i[a],t)){var s=i.index;if(0!==a)for(var c=1;c<a;c++)s+=i[c].length;t=o.wrapRangeInTextNode(t,s,s+i[a].length),r(t.previousSibling),e.lastIndex=0}}),i()})}},{key:\"wrapMatchesAcrossElements\",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes(function(t){for(var s=void 0;null!==(s=e.exec(t.value))&&\"\"!==s[a];){var c=s.index;if(0!==a)for(var u=1;u<a;u++)c+=s[u].length;var l=c+s[a].length;o.wrapRangeInMappedTextNode(t,c,l,function(e){return n(s[a],e)},function(t,n){e.lastIndex=n,r(t)})}i()})}},{key:\"wrapRangeFromIndex\",value:function(e,t,n,r){var i=this;this.getTextNodes(function(o){var a=o.value.length;e.forEach(function(e,r){var s=i.checkWhitespaceRanges(e,a,o.value),c=s.start,u=s.end;s.valid&&i.wrapRangeInMappedTextNode(o,c,u,function(n){return t(n,e,o.value.substring(c,u),r)},function(t){n(t,e)})}),r()})}},{key:\"unwrapMatches\",value:function(e){for(var t=e.parentNode,n=document.createDocumentFragment();e.firstChild;)n.appendChild(e.removeChild(e.firstChild));t.replaceChild(n,e),this.ie?this.normalizeTextNode(t):t.normalize()}},{key:\"normalizeTextNode\",value:function(e){if(e){if(3===e.nodeType)for(;e.nextSibling&&3===e.nextSibling.nodeType;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}},{key:\"markRegExp\",value:function(e,t){var n=this;this.opt=t,this.log('Searching with expression \"'+e+'\"');var r=0,i=\"wrapMatches\";this.opt.acrossElements&&(i=\"wrapMatchesAcrossElements\"),this[i](e,this.opt.ignoreGroups,function(e,t){return n.opt.filter(t,e,r)},function(e){r++,n.opt.each(e)},function(){0===r&&n.opt.noMatch(e),n.opt.done(r)})}},{key:\"mark\",value:function(e,t){var n=this;this.opt=t;var r=0,i=\"wrapMatches\",o=this.getSeparatedKeywords(\"string\"==typeof e?[e]:e),a=o.keywords,s=o.length,c=this.opt.caseSensitive?\"\":\"i\";this.opt.acrossElements&&(i=\"wrapMatchesAcrossElements\"),0===s?this.opt.done(r):function e(t){var o=new RegExp(n.createRegExp(t),\"gm\"+c),u=0;n.log('Searching with expression \"'+o+'\"'),n[i](o,1,function(e,i){return n.opt.filter(i,t,r,u)},function(e){u++,r++,n.opt.each(e)},function(){0===u&&n.opt.noMatch(t),a[s-1]===t?n.opt.done(r):e(a[a.indexOf(t)+1])})}(a[0])}},{key:\"markRanges\",value:function(e,t){var n=this;this.opt=t;var r=0,i=this.checkRanges(e);i&&i.length?(this.log(\"Starting to mark with the following ranges: \"+JSON.stringify(i)),this.wrapRangeFromIndex(i,function(e,t,r,i){return n.opt.filter(e,t,r,i)},function(e,t){r++,n.opt.each(e,t)},function(){n.opt.done(r)})):this.opt.done(r)}},{key:\"unmark\",value:function(e){var t=this;this.opt=e;var n=this.opt.element?this.opt.element:\"*\";n+=\"[data-markjs]\",this.opt.className&&(n+=\".\"+this.opt.className),this.log('Removal selector \"'+n+'\"'),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,function(e){t.unwrapMatches(e)},function(e){var r=o.matches(e,n),i=t.matchesExclude(e);return!r||i?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}},{key:\"opt\",set:function(e){this._opt=i({},{element:\"\",className:\"\",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:\"partially\",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:\"disabled\",each:function(){},noMatch:function(){},filter:function(){return!0},done:function(){},debug:!1,log:window.console},e)},get:function(){return this._opt}},{key:\"iterator\",get:function(){return new o(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}}]),e}();return e.fn.mark=function(e,t){return new a(this.get()).mark(e,t),this},e.fn.markRegExp=function(e,t){return new a(this.get()).markRegExp(e,t),this},e.fn.markRanges=function(e,t){return new a(this.get()).markRanges(e,t),this},e.fn.unmark=function(e){return new a(this.get()).unmark(e),this},e});\n\n// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat\n//\n// AnchorJS - v4.3.0 - 2020-10-21\n// https://www.bryanbraun.com/anchorjs/\n// Copyright (c) 2020 Bryan Braun; Licensed MIT\n//\n// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat\n!function(A,e){\"use strict\";\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){\"use strict\";return function(A){function d(A){A.icon=Object.prototype.hasOwnProperty.call(A,\"icon\")?A.icon:\"\",A.visible=Object.prototype.hasOwnProperty.call(A,\"visible\")?A.visible:\"hover\",A.placement=Object.prototype.hasOwnProperty.call(A,\"placement\")?A.placement:\"right\",A.ariaLabel=Object.prototype.hasOwnProperty.call(A,\"ariaLabel\")?A.ariaLabel:\"Anchor\",A.class=Object.prototype.hasOwnProperty.call(A,\"class\")?A.class:\"\",A.base=Object.prototype.hasOwnProperty.call(A,\"base\")?A.base:\"\",A.truncate=Object.prototype.hasOwnProperty.call(A,\"truncate\")?Math.floor(A.truncate):64,A.titleText=Object.prototype.hasOwnProperty.call(A,\"titleText\")?A.titleText:\"\"}function f(A){var e;if(\"string\"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new TypeError(\"The selector provided to AnchorJS was invalid.\");e=[].slice.call(A)}return e}this.options=A||{},this.elements=[],d(this.options),this.isTouchDevice=function(){return Boolean(\"ontouchstart\"in window||window.TouchEvent||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var e,t,o,n,i,s,a,r,c,l,h,u,p=[];if(d(this.options),\"touch\"===(h=this.options.visible)&&(h=this.isTouchDevice()?\"always\":\"hover\"),0===(e=f(A=A||\"h2, h3, h4, h5, h6\")).length)return this;for(!function(){if(null!==document.head.querySelector(\"style.anchorjs\"))return;var A,e=document.createElement(\"style\");e.className=\"anchorjs\",e.appendChild(document.createTextNode(\"\")),void 0===(A=document.head.querySelector('[rel=\"stylesheet\"],style'))?document.head.appendChild(e):document.head.insertBefore(e,A);e.sheet.insertRule(\".anchorjs-link{opacity:0;text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}\",e.sheet.cssRules.length),e.sheet.insertRule(\":hover>.anchorjs-link,.anchorjs-link:focus{opacity:1}\",e.sheet.cssRules.length),e.sheet.insertRule(\"[data-anchorjs-icon]::after{content:attr(data-anchorjs-icon)}\",e.sheet.cssRules.length),e.sheet.insertRule('@font-face{font-family:anchorjs-icons;src:url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format(\"truetype\")}',e.sheet.cssRules.length)}(),t=document.querySelectorAll(\"[id]\"),o=[].map.call(t,function(A){return A.id}),i=0;i<e.length;i++)if(this.hasAnchorJSLink(e[i]))p.push(i);else{if(e[i].hasAttribute(\"id\"))n=e[i].getAttribute(\"id\");else if(e[i].hasAttribute(\"data-anchor-id\"))n=e[i].getAttribute(\"data-anchor-id\");else{for(c=r=this.urlify(e[i].textContent),a=0;void 0!==s&&(c=r+\"-\"+a),a+=1,-1!==(s=o.indexOf(c)););s=void 0,o.push(c),e[i].setAttribute(\"id\",c),n=c}(l=document.createElement(\"a\")).className=\"anchorjs-link \"+this.options.class,l.setAttribute(\"aria-label\",this.options.ariaLabel),l.setAttribute(\"data-anchorjs-icon\",this.options.icon),this.options.titleText&&(l.title=this.options.titleText),u=document.querySelector(\"base\")?window.location.pathname+window.location.search:\"\",u=this.options.base||u,l.href=u+\"#\"+n,\"always\"===h&&(l.style.opacity=\"1\"),\"\"===this.options.icon&&(l.style.font=\"1em/1 anchorjs-icons\",\"left\"===this.options.placement&&(l.style.lineHeight=\"inherit\")),\"left\"===this.options.placement?(l.style.position=\"absolute\",l.style.marginLeft=\"-1em\",l.style.paddingRight=\".5em\",e[i].insertBefore(l,e[i].firstChild)):(l.style.paddingLeft=\".375em\",e[i].appendChild(l))}for(i=0;i<p.length;i++)e.splice(p[i]-i,1);return this.elements=this.elements.concat(e),this},this.remove=function(A){for(var e,t,o=f(A),n=0;n<o.length;n++)(t=o[n].querySelector(\".anchorjs-link\"))&&(-1!==(e=this.elements.indexOf(o[n]))&&this.elements.splice(e,1),o[n].removeChild(t));return this},this.removeAll=function(){this.remove(this.elements)},this.urlify=function(A){var e=document.createElement(\"textarea\");e.innerHTML=A,A=e.value;return this.options.truncate||d(this.options),A.trim().replace(/'/gi,\"\").replace(/[& +$,:;=?@\"#{}|^~[`%!'<>\\]./()*\\\\\\n\\t\\b\\v\\u00A0]/g,\"-\").replace(/-{2,}/g,\"-\").substring(0,this.options.truncate).replace(/^-+|-+$/gm,\"\").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(\" \"+A.firstChild.className+\" \").indexOf(\" anchorjs-link \"),t=A.lastChild&&-1<(\" \"+A.lastChild.className+\" \").indexOf(\" anchorjs-link \");return e||t||!1}}});\n// @license-end"
  },
  {
    "path": "docs/docfx/styles/docfx.vendor.minify.css",
    "content": "@font-face {\n    font-family: 'Glyphicons Halflings';\n    font-display: fallback;\n    src: url(../fonts/glyphicons-halflings-regular.eot);\n    src: url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'), url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'), url(../fonts/glyphicons-halflings-regular.woff) format('woff'), url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'), url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')\n}\n\nbody {\n    margin: 0;\n}\n\nhtml {\n    font-family: sans-serif;\n    -webkit-text-size-adjust: 100%;\n    -ms-text-size-adjust: 100%;\n}\n\narticle,\nfooter,\nheader,\nnav {\n    display: block;\n}\n\na {\n    background-color: transparent;\n}\n\na:active,\na:hover {\n    outline: 0;\n}\n\nstrong {\n    font-weight: 700;\n}\n\nh1 {\n    margin: .67em 0;\n}\n\nsvg:not(:root) {\n    overflow: hidden;\n}\n\npre {\n    overflow: auto;\n}\n\ncode,\npre {\n    font-size: 1em;\n}\n\nbutton,\ninput,\nselect {\n    margin: 0;\n    font: inherit;\n    color: inherit;\n}\n\n.glyphicon {\n    font-style: normal;\n}\n\nbutton {\n    overflow: visible;\n}\n\nbutton,\nselect {\n    text-transform: none;\n}\n\nbutton {\n    -webkit-appearance: button;\n    cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n    padding: 0;\n    border: 0;\n}\n\ntable {\n    border-spacing: 0;\n    border-collapse: collapse;\n}\n\ntd,\nth {\n    padding: 0;\n}\n\n@media print {\n\n    pre,\n    tr {\n        page-break-inside: avoid;\n    }\n\n    *,\n    :after,\n    :before {\n        color: #000 !important;\n        text-shadow: none !important;\n        background: 0 0 !important;\n        -webkit-box-shadow: none !important;\n        box-shadow: none !important;\n    }\n\n    a,\n    a:visited {\n        text-decoration: underline;\n    }\n\n    a[href]:after {\n        content: \" (\"attr(href) \")\";\n    }\n\n    a[href^=\"#\"]:after {\n        content: \"\";\n    }\n\n    pre {\n        border: 1px solid #999;\n    }\n\n    thead {\n        display: table-header-group;\n    }\n\n    h3,\n    p {\n        orphans: 3;\n        widows: 3;\n    }\n\n    h3 {\n        page-break-after: avoid;\n    }\n\n    .navbar {\n        display: none;\n    }\n\n    .table {\n        border-collapse: collapse !important;\n    }\n\n    .table td,\n    .table th {\n        background-color: #fff !important;\n    }\n\n    .table-bordered td,\n    .table-bordered th {\n        border: 1px solid #ddd !important;\n    }\n}\n\n.collapsing,\n.dropdown,\n.dropup {\n    position: relative\n}\n\n.collapsing {\n    height: 0;\n    overflow: hidden;\n    -webkit-transition-timing-function: ease;\n    -o-transition-timing-function: ease;\n    transition-timing-function: ease;\n    -webkit-transition-duration: .35s;\n    -o-transition-duration: .35s;\n    transition-duration: .35s;\n    -webkit-transition-property: height, visibility;\n    -o-transition-property: height, visibility;\n    transition-property: height, visibility\n}\n\n.btn,\n.btn:active,\n.form-control,\n.navbar-toggle {\n    background-image: none;\n}\n\nbody {\n    background-color: #fff;\n}\n\n.glyphicon {\n    position: relative;\n    top: 1px;\n    display: inline-block;\n    font-family: 'Glyphicons Halflings';\n    font-weight: 400;\n    line-height: 1;\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n}\n\n.glyphicon-refresh:before {\n    content: \"\\e031\";\n}\n\n.glyphicon-filter:before {\n    content: \"\\e138\";\n}\n\n*,\n:after,\n:before {\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n}\n\nhtml {\n    font-size: 10px;\n    -webkit-tap-highlight-color: transparent;\n}\n\nbody {\n    font-size: 14px;\n    line-height: 1.42857143;\n    color: #333;\n}\n\nbutton,\ninput,\nselect {\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n}\n\na {\n    color: #337ab7;\n    text-decoration: none;\n}\n\na:focus,\na:hover {\n    color: #23527c;\n    text-decoration: underline;\n}\n\na:focus {\n    outline: -webkit-focus-ring-color auto 5px;\n    outline-offset: -2px;\n}\n\n.sr-only {\n    position: absolute;\n    width: 1px;\n    height: 1px;\n    padding: 0;\n    margin: -1px;\n    overflow: hidden;\n    clip: rect(0, 0, 0, 0);\n    border: 0;\n}\n\nh1,\nh3,\nh4,\nh5,\nh6 {\n    font-family: inherit;\n    font-weight: 500;\n    line-height: 1.1;\n    color: inherit;\n}\n\nh1,\nh3 {\n    margin-top: 20px;\n    margin-bottom: 10px;\n}\n\nh4,\nh5,\nh6 {\n    margin-top: 10px;\n    margin-bottom: 10px;\n}\n\nh1 {\n    font-size: 36px;\n}\n\nh3 {\n    font-size: 24px;\n}\n\nh4 {\n    font-size: 18px;\n}\n\nh5 {\n    font-size: 14px;\n}\n\nh6 {\n    font-size: 12px;\n}\n\np {\n    margin: 0 0 10px;\n}\n\npre {\n    line-height: 1.42857143;\n}\n\n.small {\n    font-size: 85%;\n}\n\npre code,\ntable {\n    background-color: transparent;\n}\n\nul {\n    margin-top: 0;\n}\n\nul ul {\n    margin-bottom: 0;\n}\n\nul {\n    margin-bottom: 10px;\n}\n\n@media (min-width:768px) {\n    .container {\n        width: 750px;\n    }\n}\n\ncode {\n    padding: 2px 4px;\n    font-size: 90%;\n}\n\nth {\n    text-align: left;\n}\n\npre {\n    display: block;\n    padding: 9.5px;\n    margin: 0 0 10px;\n    font-size: 13px;\n    word-break: break-all;\n    word-wrap: break-word;\n    color: #333;\n    border-radius: 4px;\n}\n\n.container {\n    margin-right: auto;\n    margin-left: auto;\n}\n\npre code {\n    padding: 0;\n    font-size: inherit;\n    color: inherit;\n    white-space: pre-wrap;\n    border-radius: 0;\n}\n\n.container {\n    padding-right: 15px;\n    padding-left: 15px;\n}\n\n@media (min-width:992px) {\n    .container {\n        width: 970px;\n    }\n}\n\n@media (min-width:1200px) {\n    .container {\n        width: 1170px;\n    }\n}\n\n.row {\n    margin-right: -15px;\n    margin-left: -15px;\n}\n\n.col-md-10,\n.col-md-2 {\n    position: relative;\n    min-height: 1px;\n    padding-right: 15px;\n    padding-left: 15px;\n}\n\n@media (min-width:992px) {\n\n    .col-md-10,\n    .col-md-2 {\n        float: left;\n    }\n\n    .col-md-10 {\n        width: 83.33333333%;\n    }\n\n    .col-md-2 {\n        width: 16.66666667%;\n    }\n}\n\n.table {\n    width: 100%;\n    max-width: 100%;\n    margin-bottom: 20px;\n}\n\n.table>tbody>tr>td,\n.table>thead>tr>th {\n    padding: 8px;\n    line-height: 1.42857143;\n    vertical-align: top;\n    border-top: 1px solid #ddd;\n}\n\n.table>thead>tr>th {\n    vertical-align: bottom;\n    border-bottom: 2px solid #ddd;\n}\n\n.table>thead:first-child>tr:first-child>th {\n    border-top: 0;\n}\n\n.table-condensed>tbody>tr>td,\n.table-condensed>thead>tr>th {\n    padding: 5px;\n}\n\n.table-bordered,\n.table-bordered>tbody>tr>td,\n.table-bordered>thead>tr>th {\n    border: 1px solid #ddd;\n}\n\n.table-bordered>thead>tr>th {\n    border-bottom-width: 2px;\n}\n\n.table-striped>tbody>tr:nth-of-type(odd) {\n    background-color: #f9f9f9;\n}\n\n.table-responsive {\n    min-height: .01%;\n    overflow-x: auto;\n}\n\n@media screen and (max-width:767px) {\n    .table-responsive {\n        width: 100%;\n        margin-bottom: 15px;\n        overflow-y: hidden;\n        -ms-overflow-style: -ms-autohiding-scrollbar;\n        border: 1px solid #ddd;\n    }\n\n    .table-responsive>.table {\n        margin-bottom: 0;\n    }\n\n    .table-responsive>.table>tbody>tr>td,\n    .table-responsive>.table>thead>tr>th {\n        white-space: nowrap;\n    }\n\n    .table-responsive>.table-bordered {\n        border: 0;\n    }\n\n    .table-responsive>.table-bordered>tbody>tr>td:first-child,\n    .table-responsive>.table-bordered>thead>tr>th:first-child {\n        border-left: 0;\n    }\n\n    .table-responsive>.table-bordered>tbody>tr>td:last-child,\n    .table-responsive>.table-bordered>thead>tr>th:last-child {\n        border-right: 0;\n    }\n\n    .table-responsive>.table-bordered>tbody>tr:last-child>td {\n        border-bottom: 0;\n    }\n}\n\n.form-control {\n    font-size: 14px;\n    line-height: 1.42857143;\n    color: #555;\n    display: block;\n}\n\n.form-control {\n    width: 100%;\n    height: 34px;\n    padding: 6px 12px;\n    background-color: #fff;\n    border: 1px solid #ccc;\n    border-radius: 4px;\n    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n\n.form-control:focus {\n    border-color: #66afe9;\n    outline: 0;\n    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);\n    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);\n}\n\n.form-control::-moz-placeholder {\n    color: #999;\n    opacity: 1;\n}\n\n.form-control:-ms-input-placeholder {\n    color: #999;\n}\n\n.form-control::-webkit-input-placeholder {\n    color: #999;\n}\n\n.form-control::-ms-expand {\n    background-color: transparent;\n    border: 0;\n}\n\n.form-group {\n    margin-bottom: 15px;\n}\n\n.btn {\n    display: inline-block;\n    padding: 6px 12px;\n    margin-bottom: 0;\n    font-size: 14px;\n    font-weight: 400;\n    line-height: 1.42857143;\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: middle;\n    -ms-touch-action: manipulation;\n    touch-action: manipulation;\n    cursor: pointer;\n    -webkit-user-select: none;\n    -moz-user-select: none;\n    -ms-user-select: none;\n    user-select: none;\n    border: 1px solid transparent;\n    border-radius: 4px;\n}\n\n.btn:active:focus,\n.btn:focus {\n    outline: -webkit-focus-ring-color auto 5px;\n    outline-offset: -2px;\n}\n\n.btn:focus,\n.btn:hover {\n    color: #333;\n    text-decoration: none;\n}\n\n.btn:active {\n    outline: 0;\n    -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n    box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n}\n\n.collapse {\n    display: none\n}\n\n.collapse.in {\n    display: block\n}\n\n.nav>li,\n.nav>li>a {\n    display: block;\n    position: relative;\n}\n\n.nav {\n    padding-left: 0;\n    margin-bottom: 0;\n    list-style: none;\n}\n\n.nav>li>a {\n    padding: 10px 15px;\n}\n\n.nav>li>a:focus,\n.nav>li>a:hover {\n    text-decoration: none;\n    background-color: #eee;\n}\n\n.navbar {\n    position: relative;\n    min-height: 50px;\n    margin-bottom: 20px;\n    border: 1px solid transparent;\n}\n\n.navbar-collapse {\n    padding-right: 15px;\n    padding-left: 15px;\n    overflow-x: visible;\n    -webkit-overflow-scrolling: touch;\n    border-top: 1px solid transparent;\n    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n}\n\n@media (min-width:768px) {\n    .navbar {\n        border-radius: 4px;\n    }\n\n    .navbar-header {\n        float: left;\n    }\n\n    .navbar-collapse {\n        width: auto;\n        border-top: 0;\n        -webkit-box-shadow: none;\n        box-shadow: none;\n    }\n\n    .navbar-collapse.collapse {\n        display: block !important;\n        height: auto !important;\n        padding-bottom: 0;\n        overflow: visible !important;\n    }\n}\n\n.container>.navbar-collapse,\n.container>.navbar-header {\n    margin-right: -15px;\n    margin-left: -15px;\n}\n\n.navbar-brand {\n    float: left;\n    height: 50px;\n    padding: 15px;\n    font-size: 18px;\n    line-height: 20px;\n}\n\n.navbar-brand:focus,\n.navbar-brand:hover {\n    text-decoration: none;\n}\n\n@media (min-width:768px) {\n\n    .container>.navbar-collapse,\n    .container>.navbar-header {\n        margin-right: 0;\n        margin-left: 0;\n    }\n\n    .navbar>.container .navbar-brand {\n        margin-left: -15px;\n    }\n}\n\n.navbar-toggle {\n    position: relative;\n    float: right;\n    padding: 9px 10px;\n    margin-top: 8px;\n    margin-right: 15px;\n    margin-bottom: 8px;\n    background-color: transparent;\n    border: 1px solid transparent;\n    border-radius: 4px;\n}\n\n.navbar-toggle:focus {\n    outline: 0;\n}\n\n.navbar-toggle .icon-bar {\n    display: block;\n    width: 22px;\n    height: 2px;\n    border-radius: 1px;\n}\n\n.navbar-toggle .icon-bar+.icon-bar {\n    margin-top: 4px;\n}\n\n.navbar-nav {\n    margin: 7.5px -15px;\n}\n\n.navbar-nav>li>a {\n    padding-top: 10px;\n    padding-bottom: 10px;\n    line-height: 20px;\n}\n\n@media (min-width:768px) {\n    .navbar-toggle {\n        display: none;\n    }\n\n    .navbar-nav {\n        float: left;\n        margin: 0;\n    }\n\n    .navbar-nav>li {\n        float: left;\n    }\n\n    .navbar-nav>li>a {\n        padding-top: 15px;\n        padding-bottom: 15px;\n    }\n}\n\n.navbar-form {\n    padding: 10px 15px;\n    border-top: 1px solid transparent;\n    border-bottom: 1px solid transparent;\n    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n    margin: 8px -15px;\n}\n\n@media (min-width:768px) {\n    .navbar-form .form-group {\n        display: inline-block;\n    }\n\n    .navbar-form .form-group {\n        margin-bottom: 0;\n        vertical-align: middle;\n    }\n\n    .navbar-form .form-control {\n        display: inline-block;\n        width: auto;\n        vertical-align: middle;\n    }\n\n    .navbar-form {\n        width: auto;\n        padding-top: 0;\n        padding-bottom: 0;\n        margin-right: 0;\n        margin-left: 0;\n        border: 0;\n        -webkit-box-shadow: none;\n        box-shadow: none;\n    }\n}\n\n.breadcrumb>li {\n    display: inline-block;\n}\n\n@media (max-width:767px) {\n    .navbar-form .form-group {\n        margin-bottom: 5px;\n    }\n\n    .navbar-form .form-group:last-child {\n        margin-bottom: 0;\n    }\n}\n\n@media (min-width:768px) {\n    .navbar-right {\n        float: right !important;\n        margin-right: -15px;\n    }\n}\n\n.navbar-default {\n    background-color: #f8f8f8;\n    border-color: #e7e7e7;\n}\n\n.navbar-inverse {\n    background-color: #222;\n    border-color: #080808;\n}\n\n.navbar-inverse .navbar-brand {\n    color: #9d9d9d;\n}\n\n.navbar-inverse .navbar-brand:focus,\n.navbar-inverse .navbar-brand:hover {\n    color: #fff;\n    background-color: transparent;\n}\n\n.navbar-inverse .navbar-nav>li>a {\n    color: #9d9d9d;\n}\n\n.navbar-inverse .navbar-nav>li>a:focus,\n.navbar-inverse .navbar-nav>li>a:hover {\n    color: #fff;\n    background-color: transparent;\n}\n\n.navbar-inverse .navbar-nav>.active>a,\n.navbar-inverse .navbar-nav>.active>a:focus,\n.navbar-inverse .navbar-nav>.active>a:hover {\n    color: #fff;\n    background-color: #080808;\n}\n\n.navbar-inverse .navbar-toggle {\n    border-color: #333;\n}\n\n.navbar-inverse .navbar-toggle:focus,\n.navbar-inverse .navbar-toggle:hover {\n    background-color: #333;\n}\n\n.navbar-inverse .navbar-toggle .icon-bar {\n    background-color: #fff;\n}\n\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n    border-color: #101010;\n}\n\n.breadcrumb {\n    padding: 8px 15px;\n    margin-bottom: 20px;\n    list-style: none;\n    background-color: #f5f5f5;\n    border-radius: 4px;\n}\n\n.breadcrumb>li+li:before {\n    padding: 0 5px;\n    color: #ccc;\n    content: \"/\\00a0\";\n}\n\n.alert {\n    margin-bottom: 20px;\n}\n\n.alert {\n    padding: 15px;\n    border: 1px solid transparent;\n    border-radius: 4px;\n}\n\n.alert>p {\n    margin-bottom: 0;\n}\n\n.container:after,\n.container:before,\n.nav:after,\n.nav:before,\n.navbar-collapse:after,\n.navbar-collapse:before,\n.navbar-header:after,\n.navbar-header:before,\n.navbar:after,\n.navbar:before,\n.row:after,\n.row:before {\n    display: table;\n    content: \" \";\n}\n\n.container:after,\n.nav:after,\n.navbar-collapse:after,\n.navbar-header:after,\n.navbar:after,\n.row:after {\n    clear: both;\n}\n\n.pull-right {\n    float: right !important;\n}\n\n.affix {\n    position: fixed;\n}\n\n@media (max-width:767px) {\n    .hidden-xs {\n        display: none !important;\n    }\n}\n\n@media (min-width:768px) and (max-width:991px) {\n    .hidden-sm {\n        display: none !important;\n    }\n}\n\n@media print {\n    .hidden-print {\n        display: none !important;\n    }\n}\n\n.hide {\n    display: none !important;\n}\n\n.show {\n    display: block !important;\n}\n\n.pagination {\n    display: inline-block;\n}\n\n.pagination {\n    padding-left: 0;\n    margin: 20px 0;\n    border-radius: 4px;\n}\n\n.pagination>li {\n    display: inline;\n}\n\n.pagination>li>a {\n    position: relative;\n    float: left;\n    padding: 6px 12px;\n    margin-left: -1px;\n    line-height: 1.42857143;\n    color: #337ab7;\n    text-decoration: none;\n    background-color: #fff;\n    border: 1px solid #ddd;\n}\n\n.pagination>li:first-child>a {\n    margin-left: 0;\n    border-top-left-radius: 4px;\n    border-bottom-left-radius: 4px;\n}\n\n.pagination>li:last-child>a {\n    border-top-right-radius: 4px;\n    border-bottom-right-radius: 4px;\n}\n\n.pagination>li>a:focus,\n.pagination>li>a:hover {\n    z-index: 2;\n    color: #23527c;\n    background-color: #eee;\n    border-color: #ddd;\n}\n\n.pagination>.active>a,\n.pagination>.active>a:focus,\n.pagination>.active>a:hover {\n    z-index: 3;\n    color: #fff;\n    cursor: default;\n    background-color: #337ab7;\n    border-color: #337ab7;\n}\n\n.pagination>.disabled>a,\n.pagination>.disabled>a:focus,\n.pagination>.disabled>a:hover {\n    color: #777;\n    cursor: not-allowed;\n    background-color: #fff;\n    border-color: #ddd;\n}\n"
  },
  {
    "path": "docs/docfx/styles/gray.css",
    "content": "/* Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information. */\n\n@import url('vs2015.css');\nhtml,\nbody {\n    background: #23272A;\n    color: #dddddd;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n    color: #EEEEEE;\n}\n\nbutton,\na {\n    color: #64B5F6;\n}\n\n.sidenav{\n  background-color: rgb(30, 30, 30);\n}\n\nbutton:hover,\nbutton:focus,\na:hover,\na:focus,\n.btn:focus,\n.btn:hover{\n    color: #2196F3;\n}\n\na.disable,\na.disable:hover {\n    color: #EEEEEE;\n}\n\n.divider {\n    color: #37474F;\n}\n\nhr {\n    border-color: #37474F;\n}\n\n/* top navbar */\n/*.navbar-inverse[role=\"navigation\"] {\n    background-color: #2C2F33;\n}*/\n\n/* sub navbar (below top) */\n.subnav {\n    background: rgb(69, 75, 82)\n}\n\n\n.inheritance h5,\n.inheritedMembers h5 {\n    border-bottom: 1px solid #37474F;\n}\n\narticle h4 {\n    border-bottom: 1px solid #37474F;\n}\n\n.docs-search {\n    background: #424242;\n}\n\n.search-results-group-heading {\n    color: #424242;\n}\n\n.search-close {\n    color: #424242;\n}\n\n.sidetoc {\n    background-color: #1b1b1b;\n    border-left: 0px solid #37474F;\n    border-right: 0px solid #37474F;\n}\n\n.sideaffix {\n    overflow: visible;\n}\n\n.sideaffix>div.contribution>ul>li>a.contribution-link:hover {\n    background-color: #333333;\n}\n\n/* toc */\n\n.toc .nav>li>a {\n    color: rgb(218, 218, 218);\n}\n\n.toc .nav>li>a:hover,\n.toc .nav>li>a:focus {\n    color: #E0E0E0;\n}\n\n.toc .nav>li.active>a {\n    color: #90CAF9;\n}\n\n.toc .nav>li.active>a:hover,\n.toc .nav>li.active>a:focus {\n    background-color: #37474F;\n    color: #4FC3F7;\n}\n\n.sidefilter {\n    background-color: #1b1b1b;\n    border-left: 0px solid #37474F;\n    border-right: 0px solid #37474F;\n}\n\n.affix ul>li>a:hover {\n    background: none;\n    color: #EEEEEE;\n}\n\n.affix ul>li.active>a,\n.affix ul>li.active>a:before {\n    color: #B3E5FC;\n}\n\n.affix ul>li>a {\n    color: #EEEEEE;\n}\n\n.affix>ul>li.active>a,\n.affix>ul>li.active>a:before {\n    color: #B3E5FC;\n}\n\n.tryspan {\n    border-color: #37474F;\n}\n\n.footer {\n    border-top: 1px solid #5F5F5F;\n    background: #2C2F33;\n}\n\n/* alert */\n.alert-info {\n    color: #f3fdff;\n    background: #40788A;\n    border-color: #2F7A95;\n}\n\n.alert-warning {\n    color: #fffaf2;\n    background: #936C36;\n    border-color: #AE8443;\n}\n\n.alert-danger {\n    color: #fff4f4;\n    background: #834040;\n    border-color: #8C2F2F\n}\n\n/* For tabbed content */\n\n.tabGroup {\n    margin-top: 1rem;\n}\n\n.tabGroup ul[role=\"tablist\"] {\n    margin: 0;\n    padding: 0;\n    list-style: none;\n}\n\n.tabGroup ul[role=\"tablist\"]>li {\n    list-style: none;\n    display: inline-block;\n}\n\n.tabGroup a[role=\"tab\"] {\n    color: white;\n    box-sizing: border-box;\n    display: inline-block;\n    padding: 5px 7.5px;\n    text-decoration: none;\n    border-bottom: 2px solid #fff;\n}\n\n.tabGroup a[role=\"tab\"]:hover,\n.tabGroup a[role=\"tab\"]:focus,\n.tabGroup a[role=\"tab\"][aria-selected=\"true\"] {\n    border-bottom: 2px solid #607D8B;\n}\n\n.tabGroup a[role=\"tab\"][aria-selected=\"true\"] {\n    color: #81D4FA;\n}\n\n.tabGroup a[role=\"tab\"]:hover,\n.tabGroup a[role=\"tab\"]:focus {\n    color: #29B6F6;\n}\n\n.tabGroup a[role=\"tab\"]:focus {\n    outline: 1px solid #607D8B;\n    outline-offset: -1px;\n}\n\n@media (min-width: 768px) {\n    .tabGroup a[role=\"tab\"] {\n        padding: 5px 15px;\n    }\n}\n\n.tabGroup section[role=\"tabpanel\"] {\n    border: 1px solid #607D8B;\n    padding: 15px;\n    margin: 0;\n    overflow: hidden;\n}\n\n.tabGroup section[role=\"tabpanel\"]>.codeHeader,\n.tabGroup section[role=\"tabpanel\"]>pre {\n    margin-left: -16px;\n    margin-right: -16px;\n}\n\n.tabGroup section[role=\"tabpanel\"]> :first-child {\n    margin-top: 0;\n}\n\n.tabGroup section[role=\"tabpanel\"]>pre:last-child {\n    display: block;\n    margin-bottom: -16px;\n}\n\n.mainContainer[dir='rtl'] main ul[role=\"tablist\"] {\n    margin: 0;\n}\n\n/* code */\n\ncode {\n    color: white;\n    background-color: #5B646B;\n    border-radius: 4px;\n    padding: 3px 7px;\n}\n\npre {\n    background-color: #282a36;\n}\n\n/* table */\n\n.table-striped>tbody>tr:nth-of-type(odd) {\n    background-color: #333333;\n    color: #d3d3d3\n}\n\ntbody>tr {\n    background-color: #424242;\n    color: #c0c0c0\n}\n\n.table>tbody+tbody {\n    border-top: 2px solid rgb(173, 173, 173)\n}\n\n/* select */\n\nselect {\n    background-color: #3b3b3b;\n    border-color: #2e2e2e;\n}\n\n/* \n    Following code regarding collapse container are fetched \n    or modified from the Materialize project.\n\n    The MIT License (MIT)\n    Copyright (c) 2014-2018 Materialize\n    https://github.com/Dogfalo/materialize\n*/\n\n/* all collapse container */\n.collapse-container.last-modified {\n    -webkit-box-shadow: 0 2px 2px 0 rgba(50, 50, 50, 0.64), 0 3px 1px -2px rgba(50, 50, 50, 0.62), 0 1px 5px 0 rgba(50, 50, 50, 0.7);\n    box-shadow: 0 2px 2px 0 rgba(50, 50, 50, 0.64), 0 3px 1px -2px rgba(50, 50, 50, 0.62), 0 1px 5px 0 rgba(50, 50, 50, 0.7);\n    border-top: 1px solid rgba(96, 96, 96, 0.7);\n    border-right: 1px solid rgba(96, 96, 96, 0.7);\n    border-left: 1px solid rgba(96, 96, 96, 0.7);\n}\n\n/* header */\n.collapse-container.last-modified>:nth-child(odd) {\n    background-color: #3f3f3f;\n    border-bottom: 1px solid rgba(96, 96, 96, 0.7);\n}\n\n/* body */\n.collapse-container.last-modified>:nth-child(even) {\n    border-bottom: 1px solid rgba(96, 96, 96, 0.7);\n    background-color: inherit;\n}\n\nspan.arrow-d{\n    border-top: 5px solid white\n}\n\nspan.arrow-r{\n    border-left: 5px solid white\n}\n\n.logo-switcher {\n    background: url(\"../marketing/logo/SVG/Combinationmark White.svg\") no-repeat;\n}\n"
  },
  {
    "path": "docs/docfx/styles/light.css",
    "content": "/* Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information. */\n\n@import url('tomorrow.css');\nhtml,\nbody {\n    background: #fff;\n    color: #000;\n}\n\n.sideaffix {\n    overflow: visible;\n}\n\n/* links */\n\na:active, a:hover, a:visited {\n    color: #0078d7;\n}\n\na {\n    color: #0050c5;\n    cursor: pointer;\n    text-decoration: none;\n    word-wrap: break-word;\n}\n\n/* alert */\n.alert-info {\n    color: #165e82;\n    background-color: #c1e0ef;\n    border-color: #8cbfd8;\n}\n\n.alert-warning {\n    color: #825e16;\n    background-color: #efe0c1;\n    border-color: #d8bf8c;\n}\n\n.alert-danger {\n    color: #821616;\n    background-color: #efc1c1;\n    border-color: #d88c8c;\n}\n\n/* code */\n\ncode {\n    color: #9c3a3f;\n    background-color: #ececec;\n    border-radius: 4px;\n    padding: 3px 7px;\n}\n\n/* table */\n\n.table-striped>tbody>tr:nth-of-type(odd) {\n    color: #333333;\n    background-color: #d3d3d3\n}\n\ntbody>tr {\n    color: #424242;\n    background-color: #c0c0c0\n}\n\n.table>tbody+tbody {\n    border-top: 2px solid rgb(173, 173, 173)\n}\n\n/* select */\n\nselect {\n    background-color: #fcfcfc;\n    border-color: #aeb1b5;\n}\n\n/* \n    Following code regarding collapse container are fetched \n    or modified from the Materialize project.\n\n    The MIT License (MIT)\n    Copyright (c) 2014-2018 Materialize\n    https://github.com/Dogfalo/materialize\n*/\n\n/* all collapse container */\n.collapse-container.last-modified {\n    -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);\n    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);\n    border-top: 1px solid #ddd;\n    border-right: 1px solid #ddd;\n    border-left: 1px solid #ddd;\n}\n\n/* header */\n.collapse-container.last-modified>:nth-child(odd) {\n    background-color: #fff;\n    border-bottom: 1px solid #ddd;\n}\n\n/* body */\n.collapse-container.last-modified>:nth-child(even) {\n    border-bottom: 1px solid #ddd;\n}\n\nspan.arrow-d{\n    border-top: 5px solid black\n}\n\nspan.arrow-r{\n    border-left: 5px solid black\n}\n\n.logo-switcher {\n    background: url(\"../marketing/logo/SVG/Combinationmark.svg\") no-repeat;\n}\n"
  },
  {
    "path": "docs/docfx/styles/lunr.js",
    "content": "/**\n * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.1.2\n * Copyright (C) 2017 Oliver Nightingale\n * @license MIT\n */\n\n;(function(){\n\n/**\n * A convenience function for configuring and constructing\n * a new lunr Index.\n *\n * A lunr.Builder instance is created and the pipeline setup\n * with a trimmer, stop word filter and stemmer.\n *\n * This builder object is yielded to the configuration function\n * that is passed as a parameter, allowing the list of fields\n * and other builder parameters to be customised.\n *\n * All documents _must_ be added within the passed config function.\n *\n * @example\n * var idx = lunr(function () {\n *   this.field('title')\n *   this.field('body')\n *   this.ref('id')\n *\n *   documents.forEach(function (doc) {\n *     this.add(doc)\n *   }, this)\n * })\n *\n * @see {@link lunr.Builder}\n * @see {@link lunr.Pipeline}\n * @see {@link lunr.trimmer}\n * @see {@link lunr.stopWordFilter}\n * @see {@link lunr.stemmer}\n * @namespace {function} lunr\n */\nvar lunr = function (config) {\n  var builder = new lunr.Builder\n\n  builder.pipeline.add(\n    lunr.trimmer,\n    lunr.stopWordFilter,\n    lunr.stemmer\n  )\n\n  builder.searchPipeline.add(\n    lunr.stemmer\n  )\n\n  config.call(builder, builder)\n  return builder.build()\n}\n\nlunr.version = \"2.1.2\"\n/*!\n * lunr.utils\n * Copyright (C) 2017 Oliver Nightingale\n */\n\n/**\n * A namespace containing utils for the rest of the lunr library\n */\nlunr.utils = {}\n\n/**\n * Print a warning message to the console.\n *\n * @param {String} message The message to be printed.\n * @memberOf Utils\n */\nlunr.utils.warn = (function (global) {\n  /* eslint-disable no-console */\n  return function (message) {\n    if (global.console && console.warn) {\n      console.warn(message)\n    }\n  }\n  /* eslint-enable no-console */\n})(this)\n\n/**\n * Convert an object to a string.\n *\n * In the case of `null` and `undefined` the function returns\n * the empty string, in all other cases the result of calling\n * `toString` on the passed object is returned.\n *\n * @param {Any} obj The object to convert to a string.\n * @return {String} string representation of the passed object.\n * @memberOf Utils\n */\nlunr.utils.asString = function (obj) {\n  if (obj === void 0 || obj === null) {\n    return \"\"\n  } else {\n    return obj.toString()\n  }\n}\nlunr.FieldRef = function (docRef, fieldName) {\n  this.docRef = docRef\n  this.fieldName = fieldName\n  this._stringValue = fieldName + lunr.FieldRef.joiner + docRef\n}\n\nlunr.FieldRef.joiner = \"/\"\n\nlunr.FieldRef.fromString = function (s) {\n  var n = s.indexOf(lunr.FieldRef.joiner)\n\n  if (n === -1) {\n    throw \"malformed field ref string\"\n  }\n\n  var fieldRef = s.slice(0, n),\n      docRef = s.slice(n + 1)\n\n  return new lunr.FieldRef (docRef, fieldRef)\n}\n\nlunr.FieldRef.prototype.toString = function () {\n  return this._stringValue\n}\n/**\n * A function to calculate the inverse document frequency for\n * a posting. This is shared between the builder and the index\n *\n * @private\n * @param {object} posting - The posting for a given term\n * @param {number} documentCount - The total number of documents.\n */\nlunr.idf = function (posting, documentCount) {\n  var documentsWithTerm = 0\n\n  for (var fieldName in posting) {\n    if (fieldName == '_index') continue // Ignore the term index, its not a field\n    documentsWithTerm += Object.keys(posting[fieldName]).length\n  }\n\n  var x = (documentCount - documentsWithTerm + 0.5) / (documentsWithTerm + 0.5)\n\n  return Math.log(1 + Math.abs(x))\n}\n\n/**\n * A token wraps a string representation of a token\n * as it is passed through the text processing pipeline.\n *\n * @constructor\n * @param {string} [str=''] - The string token being wrapped.\n * @param {object} [metadata={}] - Metadata associated with this token.\n */\nlunr.Token = function (str, metadata) {\n  this.str = str || \"\"\n  this.metadata = metadata || {}\n}\n\n/**\n * Returns the token string that is being wrapped by this object.\n *\n * @returns {string}\n */\nlunr.Token.prototype.toString = function () {\n  return this.str\n}\n\n/**\n * A token update function is used when updating or optionally\n * when cloning a token.\n *\n * @callback lunr.Token~updateFunction\n * @param {string} str - The string representation of the token.\n * @param {Object} metadata - All metadata associated with this token.\n */\n\n/**\n * Applies the given function to the wrapped string token.\n *\n * @example\n * token.update(function (str, metadata) {\n *   return str.toUpperCase()\n * })\n *\n * @param {lunr.Token~updateFunction} fn - A function to apply to the token string.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.update = function (fn) {\n  this.str = fn(this.str, this.metadata)\n  return this\n}\n\n/**\n * Creates a clone of this token. Optionally a function can be\n * applied to the cloned token.\n *\n * @param {lunr.Token~updateFunction} [fn] - An optional function to apply to the cloned token.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.clone = function (fn) {\n  fn = fn || function (s) { return s }\n  return new lunr.Token (fn(this.str, this.metadata), this.metadata)\n}\n/*!\n * lunr.tokenizer\n * Copyright (C) 2017 Oliver Nightingale\n */\n\n/**\n * A function for splitting a string into tokens ready to be inserted into\n * the search index. Uses `lunr.tokenizer.separator` to split strings, change\n * the value of this property to change how strings are split into tokens.\n *\n * This tokenizer will convert its parameter to a string by calling `toString` and\n * then will split this string on the character in `lunr.tokenizer.separator`.\n * Arrays will have their elements converted to strings and wrapped in a lunr.Token.\n *\n * @static\n * @param {?(string|object|object[])} obj - The object to convert into tokens\n * @returns {lunr.Token[]}\n */\nlunr.tokenizer = function (obj) {\n  if (obj == null || obj == undefined) {\n    return []\n  }\n\n  if (Array.isArray(obj)) {\n    return obj.map(function (t) {\n      return new lunr.Token(lunr.utils.asString(t).toLowerCase())\n    })\n  }\n\n  var str = obj.toString().trim().toLowerCase(),\n      len = str.length,\n      tokens = []\n\n  for (var sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) {\n    var char = str.charAt(sliceEnd),\n        sliceLength = sliceEnd - sliceStart\n\n    if ((char.match(lunr.tokenizer.separator) || sliceEnd == len)) {\n\n      if (sliceLength > 0) {\n        tokens.push(\n          new lunr.Token (str.slice(sliceStart, sliceEnd), {\n            position: [sliceStart, sliceLength],\n            index: tokens.length\n          })\n        )\n      }\n\n      sliceStart = sliceEnd + 1\n    }\n\n  }\n\n  return tokens\n}\n\n/**\n * The separator used to split a string into tokens. Override this property to change the behaviour of\n * `lunr.tokenizer` behaviour when tokenizing strings. By default this splits on whitespace and hyphens.\n *\n * @static\n * @see lunr.tokenizer\n */\nlunr.tokenizer.separator = /[\\s\\-]+/\n/*!\n * lunr.Pipeline\n * Copyright (C) 2017 Oliver Nightingale\n */\n\n/**\n * lunr.Pipelines maintain an ordered list of functions to be applied to all\n * tokens in documents entering the search index and queries being ran against\n * the index.\n *\n * An instance of lunr.Index created with the lunr shortcut will contain a\n * pipeline with a stop word filter and an English language stemmer. Extra\n * functions can be added before or after either of these functions or these\n * default functions can be removed.\n *\n * When run the pipeline will call each function in turn, passing a token, the\n * index of that token in the original list of all tokens and finally a list of\n * all the original tokens.\n *\n * The output of functions in the pipeline will be passed to the next function\n * in the pipeline. To exclude a token from entering the index the function\n * should return undefined, the rest of the pipeline will not be called with\n * this token.\n *\n * For serialisation of pipelines to work, all functions used in an instance of\n * a pipeline should be registered with lunr.Pipeline. Registered functions can\n * then be loaded. If trying to load a serialised pipeline that uses functions\n * that are not registered an error will be thrown.\n *\n * If not planning on serialising the pipeline then registering pipeline functions\n * is not necessary.\n *\n * @constructor\n */\nlunr.Pipeline = function () {\n  this._stack = []\n}\n\nlunr.Pipeline.registeredFunctions = Object.create(null)\n\n/**\n * A pipeline function maps lunr.Token to lunr.Token. A lunr.Token contains the token\n * string as well as all known metadata. A pipeline function can mutate the token string\n * or mutate (or add) metadata for a given token.\n *\n * A pipeline function can indicate that the passed token should be discarded by returning\n * null. This token will not be passed to any downstream pipeline functions and will not be\n * added to the index.\n *\n * Multiple tokens can be returned by returning an array of tokens. Each token will be passed\n * to any downstream pipeline functions and all will returned tokens will be added to the index.\n *\n * Any number of pipeline functions may be chained together using a lunr.Pipeline.\n *\n * @interface lunr.PipelineFunction\n * @param {lunr.Token} token - A token from the document being processed.\n * @param {number} i - The index of this token in the complete list of tokens for this document/field.\n * @param {lunr.Token[]} tokens - All tokens for this document/field.\n * @returns {(?lunr.Token|lunr.Token[])}\n */\n\n/**\n * Register a function with the pipeline.\n *\n * Functions that are used in the pipeline should be registered if the pipeline\n * needs to be serialised, or a serialised pipeline needs to be loaded.\n *\n * Registering a function does not add it to a pipeline, functions must still be\n * added to instances of the pipeline for them to be used when running a pipeline.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @param {String} label - The label to register this function with\n */\nlunr.Pipeline.registerFunction = function (fn, label) {\n  if (label in this.registeredFunctions) {\n    lunr.utils.warn('Overwriting existing registered function: ' + label)\n  }\n\n  fn.label = label\n  lunr.Pipeline.registeredFunctions[fn.label] = fn\n}\n\n/**\n * Warns if the function is not registered as a Pipeline function.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @private\n */\nlunr.Pipeline.warnIfFunctionNotRegistered = function (fn) {\n  var isRegistered = fn.label && (fn.label in this.registeredFunctions)\n\n  if (!isRegistered) {\n    lunr.utils.warn('Function is not registered with pipeline. This may cause problems when serialising the index.\\n', fn)\n  }\n}\n\n/**\n * Loads a previously serialised pipeline.\n *\n * All functions to be loaded must already be registered with lunr.Pipeline.\n * If any function from the serialised data has not been registered then an\n * error will be thrown.\n *\n * @param {Object} serialised - The serialised pipeline to load.\n * @returns {lunr.Pipeline}\n */\nlunr.Pipeline.load = function (serialised) {\n  var pipeline = new lunr.Pipeline\n\n  serialised.forEach(function (fnName) {\n    var fn = lunr.Pipeline.registeredFunctions[fnName]\n\n    if (fn) {\n      pipeline.add(fn)\n    } else {\n      throw new Error('Cannot load unregistered function: ' + fnName)\n    }\n  })\n\n  return pipeline\n}\n\n/**\n * Adds new functions to the end of the pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction[]} functions - Any number of functions to add to the pipeline.\n */\nlunr.Pipeline.prototype.add = function () {\n  var fns = Array.prototype.slice.call(arguments)\n\n  fns.forEach(function (fn) {\n    lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n    this._stack.push(fn)\n  }, this)\n}\n\n/**\n * Adds a single function after a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.after = function (existingFn, newFn) {\n  lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n  var pos = this._stack.indexOf(existingFn)\n  if (pos == -1) {\n    throw new Error('Cannot find existingFn')\n  }\n\n  pos = pos + 1\n  this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Adds a single function before a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.before = function (existingFn, newFn) {\n  lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n  var pos = this._stack.indexOf(existingFn)\n  if (pos == -1) {\n    throw new Error('Cannot find existingFn')\n  }\n\n  this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Removes a function from the pipeline.\n *\n * @param {lunr.PipelineFunction} fn The function to remove from the pipeline.\n */\nlunr.Pipeline.prototype.remove = function (fn) {\n  var pos = this._stack.indexOf(fn)\n  if (pos == -1) {\n    return\n  }\n\n  this._stack.splice(pos, 1)\n}\n\n/**\n * Runs the current list of functions that make up the pipeline against the\n * passed tokens.\n *\n * @param {Array} tokens The tokens to run through the pipeline.\n * @returns {Array}\n */\nlunr.Pipeline.prototype.run = function (tokens) {\n  var stackLength = this._stack.length\n\n  for (var i = 0; i < stackLength; i++) {\n    var fn = this._stack[i]\n\n    tokens = tokens.reduce(function (memo, token, j) {\n      var result = fn(token, j, tokens)\n\n      if (result === void 0 || result === '') return memo\n\n      return memo.concat(result)\n    }, [])\n  }\n\n  return tokens\n}\n\n/**\n * Convenience method for passing a string through a pipeline and getting\n * strings out. This method takes care of wrapping the passed string in a\n * token and mapping the resulting tokens back to strings.\n *\n * @param {string} str - The string to pass through the pipeline.\n * @returns {string[]}\n */\nlunr.Pipeline.prototype.runString = function (str) {\n  var token = new lunr.Token (str)\n\n  return this.run([token]).map(function (t) {\n    return t.toString()\n  })\n}\n\n/**\n * Resets the pipeline by removing any existing processors.\n *\n */\nlunr.Pipeline.prototype.reset = function () {\n  this._stack = []\n}\n\n/**\n * Returns a representation of the pipeline ready for serialisation.\n *\n * Logs a warning if the function has not been registered.\n *\n * @returns {Array}\n */\nlunr.Pipeline.prototype.toJSON = function () {\n  return this._stack.map(function (fn) {\n    lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n\n    return fn.label\n  })\n}\n/*!\n * lunr.Vector\n * Copyright (C) 2017 Oliver Nightingale\n */\n\n/**\n * A vector is used to construct the vector space of documents and queries. These\n * vectors support operations to determine the similarity between two documents or\n * a document and a query.\n *\n * Normally no parameters are required for initializing a vector, but in the case of\n * loading a previously dumped vector the raw elements can be provided to the constructor.\n *\n * For performance reasons vectors are implemented with a flat array, where an elements\n * index is immediately followed by its value. E.g. [index, value, index, value]. This\n * allows the underlying array to be as sparse as possible and still offer decent\n * performance when being used for vector calculations.\n *\n * @constructor\n * @param {Number[]} [elements] - The flat list of element index and element value pairs.\n */\nlunr.Vector = function (elements) {\n  this._magnitude = 0\n  this.elements = elements || []\n}\n\n\n/**\n * Calculates the position within the vector to insert a given index.\n *\n * This is used internally by insert and upsert. If there are duplicate indexes then\n * the position is returned as if the value for that index were to be updated, but it\n * is the callers responsibility to check whether there is a duplicate at that index\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @returns {Number}\n */\nlunr.Vector.prototype.positionForIndex = function (index) {\n  // For an empty vector the tuple can be inserted at the beginning\n  if (this.elements.length == 0) {\n    return 0\n  }\n\n  var start = 0,\n      end = this.elements.length / 2,\n      sliceLength = end - start,\n      pivotPoint = Math.floor(sliceLength / 2),\n      pivotIndex = this.elements[pivotPoint * 2]\n\n  while (sliceLength > 1) {\n    if (pivotIndex < index) {\n      start = pivotPoint\n    }\n\n    if (pivotIndex > index) {\n      end = pivotPoint\n    }\n\n    if (pivotIndex == index) {\n      break\n    }\n\n    sliceLength = end - start\n    pivotPoint = start + Math.floor(sliceLength / 2)\n    pivotIndex = this.elements[pivotPoint * 2]\n  }\n\n  if (pivotIndex == index) {\n    return pivotPoint * 2\n  }\n\n  if (pivotIndex > index) {\n    return pivotPoint * 2\n  }\n\n  if (pivotIndex < index) {\n    return (pivotPoint + 1) * 2\n  }\n}\n\n/**\n * Inserts an element at an index within the vector.\n *\n * Does not allow duplicates, will throw an error if there is already an entry\n * for this index.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n */\nlunr.Vector.prototype.insert = function (insertIdx, val) {\n  this.upsert(insertIdx, val, function () {\n    throw \"duplicate index\"\n  })\n}\n\n/**\n * Inserts or updates an existing index within the vector.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n * @param {function} fn - A function that is called for updates, the existing value and the\n * requested value are passed as arguments\n */\nlunr.Vector.prototype.upsert = function (insertIdx, val, fn) {\n  this._magnitude = 0\n  var position = this.positionForIndex(insertIdx)\n\n  if (this.elements[position] == insertIdx) {\n    this.elements[position + 1] = fn(this.elements[position + 1], val)\n  } else {\n    this.elements.splice(position, 0, insertIdx, val)\n  }\n}\n\n/**\n * Calculates the magnitude of this vector.\n *\n * @returns {Number}\n */\nlunr.Vector.prototype.magnitude = function () {\n  if (this._magnitude) return this._magnitude\n\n  var sumOfSquares = 0,\n      elementsLength = this.elements.length\n\n  for (var i = 1; i < elementsLength; i += 2) {\n    var val = this.elements[i]\n    sumOfSquares += val * val\n  }\n\n  return this._magnitude = Math.sqrt(sumOfSquares)\n}\n\n/**\n * Calculates the dot product of this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The vector to compute the dot product with.\n * @returns {Number}\n */\nlunr.Vector.prototype.dot = function (otherVector) {\n  var dotProduct = 0,\n      a = this.elements, b = otherVector.elements,\n      aLen = a.length, bLen = b.length,\n      aVal = 0, bVal = 0,\n      i = 0, j = 0\n\n  while (i < aLen && j < bLen) {\n    aVal = a[i], bVal = b[j]\n    if (aVal < bVal) {\n      i += 2\n    } else if (aVal > bVal) {\n      j += 2\n    } else if (aVal == bVal) {\n      dotProduct += a[i + 1] * b[j + 1]\n      i += 2\n      j += 2\n    }\n  }\n\n  return dotProduct\n}\n\n/**\n * Calculates the cosine similarity between this vector and another\n * vector.\n *\n * @param {lunr.Vector} otherVector - The other vector to calculate the\n * similarity with.\n * @returns {Number}\n */\nlunr.Vector.prototype.similarity = function (otherVector) {\n  return this.dot(otherVector) / (this.magnitude() * otherVector.magnitude())\n}\n\n/**\n * Converts the vector to an array of the elements within the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toArray = function () {\n  var output = new Array (this.elements.length / 2)\n\n  for (var i = 1, j = 0; i < this.elements.length; i += 2, j++) {\n    output[j] = this.elements[i]\n  }\n\n  return output\n}\n\n/**\n * A JSON serializable representation of the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toJSON = function () {\n  return this.elements\n}\n/* eslint-disable */\n/*!\n * lunr.stemmer\n * Copyright (C) 2017 Oliver Nightingale\n * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt\n */\n\n/**\n * lunr.stemmer is an english language stemmer, this is a JavaScript\n * implementation of the PorterStemmer taken from http://tartarus.org/~martin\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token - The string to stem\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n */\nlunr.stemmer = (function(){\n  var step2list = {\n      \"ational\" : \"ate\",\n      \"tional\" : \"tion\",\n      \"enci\" : \"ence\",\n      \"anci\" : \"ance\",\n      \"izer\" : \"ize\",\n      \"bli\" : \"ble\",\n      \"alli\" : \"al\",\n      \"entli\" : \"ent\",\n      \"eli\" : \"e\",\n      \"ousli\" : \"ous\",\n      \"ization\" : \"ize\",\n      \"ation\" : \"ate\",\n      \"ator\" : \"ate\",\n      \"alism\" : \"al\",\n      \"iveness\" : \"ive\",\n      \"fulness\" : \"ful\",\n      \"ousness\" : \"ous\",\n      \"aliti\" : \"al\",\n      \"iviti\" : \"ive\",\n      \"biliti\" : \"ble\",\n      \"logi\" : \"log\"\n    },\n\n    step3list = {\n      \"icate\" : \"ic\",\n      \"ative\" : \"\",\n      \"alize\" : \"al\",\n      \"iciti\" : \"ic\",\n      \"ical\" : \"ic\",\n      \"ful\" : \"\",\n      \"ness\" : \"\"\n    },\n\n    c = \"[^aeiou]\",          // consonant\n    v = \"[aeiouy]\",          // vowel\n    C = c + \"[^aeiouy]*\",    // consonant sequence\n    V = v + \"[aeiou]*\",      // vowel sequence\n\n    mgr0 = \"^(\" + C + \")?\" + V + C,               // [C]VC... is m>0\n    meq1 = \"^(\" + C + \")?\" + V + C + \"(\" + V + \")?$\",  // [C]VC[V] is m=1\n    mgr1 = \"^(\" + C + \")?\" + V + C + V + C,       // [C]VCVC... is m>1\n    s_v = \"^(\" + C + \")?\" + v;                   // vowel in stem\n\n  var re_mgr0 = new RegExp(mgr0);\n  var re_mgr1 = new RegExp(mgr1);\n  var re_meq1 = new RegExp(meq1);\n  var re_s_v = new RegExp(s_v);\n\n  var re_1a = /^(.+?)(ss|i)es$/;\n  var re2_1a = /^(.+?)([^s])s$/;\n  var re_1b = /^(.+?)eed$/;\n  var re2_1b = /^(.+?)(ed|ing)$/;\n  var re_1b_2 = /.$/;\n  var re2_1b_2 = /(at|bl|iz)$/;\n  var re3_1b_2 = new RegExp(\"([^aeiouylsz])\\\\1$\");\n  var re4_1b_2 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n  var re_1c = /^(.+?[^aeiou])y$/;\n  var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;\n\n  var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;\n\n  var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;\n  var re2_4 = /^(.+?)(s|t)(ion)$/;\n\n  var re_5 = /^(.+?)e$/;\n  var re_5_1 = /ll$/;\n  var re3_5 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n  var porterStemmer = function porterStemmer(w) {\n    var stem,\n      suffix,\n      firstch,\n      re,\n      re2,\n      re3,\n      re4;\n\n    if (w.length < 3) { return w; }\n\n    firstch = w.substr(0,1);\n    if (firstch == \"y\") {\n      w = firstch.toUpperCase() + w.substr(1);\n    }\n\n    // Step 1a\n    re = re_1a\n    re2 = re2_1a;\n\n    if (re.test(w)) { w = w.replace(re,\"$1$2\"); }\n    else if (re2.test(w)) { w = w.replace(re2,\"$1$2\"); }\n\n    // Step 1b\n    re = re_1b;\n    re2 = re2_1b;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      re = re_mgr0;\n      if (re.test(fp[1])) {\n        re = re_1b_2;\n        w = w.replace(re,\"\");\n      }\n    } else if (re2.test(w)) {\n      var fp = re2.exec(w);\n      stem = fp[1];\n      re2 = re_s_v;\n      if (re2.test(stem)) {\n        w = stem;\n        re2 = re2_1b_2;\n        re3 = re3_1b_2;\n        re4 = re4_1b_2;\n        if (re2.test(w)) { w = w + \"e\"; }\n        else if (re3.test(w)) { re = re_1b_2; w = w.replace(re,\"\"); }\n        else if (re4.test(w)) { w = w + \"e\"; }\n      }\n    }\n\n    // Step 1c - replace suffix y or Y by i if preceded by a non-vowel which is not the first letter of the word (so cry -> cri, by -> by, say -> say)\n    re = re_1c;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      stem = fp[1];\n      w = stem + \"i\";\n    }\n\n    // Step 2\n    re = re_2;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      stem = fp[1];\n      suffix = fp[2];\n      re = re_mgr0;\n      if (re.test(stem)) {\n        w = stem + step2list[suffix];\n      }\n    }\n\n    // Step 3\n    re = re_3;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      stem = fp[1];\n      suffix = fp[2];\n      re = re_mgr0;\n      if (re.test(stem)) {\n        w = stem + step3list[suffix];\n      }\n    }\n\n    // Step 4\n    re = re_4;\n    re2 = re2_4;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      stem = fp[1];\n      re = re_mgr1;\n      if (re.test(stem)) {\n        w = stem;\n      }\n    } else if (re2.test(w)) {\n      var fp = re2.exec(w);\n      stem = fp[1] + fp[2];\n      re2 = re_mgr1;\n      if (re2.test(stem)) {\n        w = stem;\n      }\n    }\n\n    // Step 5\n    re = re_5;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      stem = fp[1];\n      re = re_mgr1;\n      re2 = re_meq1;\n      re3 = re3_5;\n      if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) {\n        w = stem;\n      }\n    }\n\n    re = re_5_1;\n    re2 = re_mgr1;\n    if (re.test(w) && re2.test(w)) {\n      re = re_1b_2;\n      w = w.replace(re,\"\");\n    }\n\n    // and turn initial Y back to y\n\n    if (firstch == \"y\") {\n      w = firstch.toLowerCase() + w.substr(1);\n    }\n\n    return w;\n  };\n\n  return function (token) {\n    return token.update(porterStemmer);\n  }\n})();\n\nlunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer')\n/*!\n * lunr.stopWordFilter\n * Copyright (C) 2017 Oliver Nightingale\n */\n\n/**\n * lunr.generateStopWordFilter builds a stopWordFilter function from the provided\n * list of stop words.\n *\n * The built in lunr.stopWordFilter is built using this generator and can be used\n * to generate custom stopWordFilters for applications or non English languages.\n *\n * @param {Array} token The token to pass through the filter\n * @returns {lunr.PipelineFunction}\n * @see lunr.Pipeline\n * @see lunr.stopWordFilter\n */\nlunr.generateStopWordFilter = function (stopWords) {\n  var words = stopWords.reduce(function (memo, stopWord) {\n    memo[stopWord] = stopWord\n    return memo\n  }, {})\n\n  return function (token) {\n    if (token && words[token.toString()] !== token.toString()) return token\n  }\n}\n\n/**\n * lunr.stopWordFilter is an English language stop word list filter, any words\n * contained in the list will not be passed through the filter.\n *\n * This is intended to be used in the Pipeline. If the token does not pass the\n * filter then undefined will be returned.\n *\n * @implements {lunr.PipelineFunction}\n * @params {lunr.Token} token - A token to check for being a stop word.\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n */\nlunr.stopWordFilter = lunr.generateStopWordFilter([\n  'a',\n  'able',\n  'about',\n  'across',\n  'after',\n  'all',\n  'almost',\n  'also',\n  'am',\n  'among',\n  'an',\n  'and',\n  'any',\n  'are',\n  'as',\n  'at',\n  'be',\n  'because',\n  'been',\n  'but',\n  'by',\n  'can',\n  'cannot',\n  'could',\n  'dear',\n  'did',\n  'do',\n  'does',\n  'either',\n  'else',\n  'ever',\n  'every',\n  'for',\n  'from',\n  'get',\n  'got',\n  'had',\n  'has',\n  'have',\n  'he',\n  'her',\n  'hers',\n  'him',\n  'his',\n  'how',\n  'however',\n  'i',\n  'if',\n  'in',\n  'into',\n  'is',\n  'it',\n  'its',\n  'just',\n  'least',\n  'let',\n  'like',\n  'likely',\n  'may',\n  'me',\n  'might',\n  'most',\n  'must',\n  'my',\n  'neither',\n  'no',\n  'nor',\n  'not',\n  'of',\n  'off',\n  'often',\n  'on',\n  'only',\n  'or',\n  'other',\n  'our',\n  'own',\n  'rather',\n  'said',\n  'say',\n  'says',\n  'she',\n  'should',\n  'since',\n  'so',\n  'some',\n  'than',\n  'that',\n  'the',\n  'their',\n  'them',\n  'then',\n  'there',\n  'these',\n  'they',\n  'this',\n  'tis',\n  'to',\n  'too',\n  'twas',\n  'us',\n  'wants',\n  'was',\n  'we',\n  'were',\n  'what',\n  'when',\n  'where',\n  'which',\n  'while',\n  'who',\n  'whom',\n  'why',\n  'will',\n  'with',\n  'would',\n  'yet',\n  'you',\n  'your'\n])\n\nlunr.Pipeline.registerFunction(lunr.stopWordFilter, 'stopWordFilter')\n/*!\n * lunr.trimmer\n * Copyright (C) 2017 Oliver Nightingale\n */\n\n/**\n * lunr.trimmer is a pipeline function for trimming non word\n * characters from the beginning and end of tokens before they\n * enter the index.\n *\n * This implementation may not work correctly for non latin\n * characters and should either be removed or adapted for use\n * with languages with non-latin characters.\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token The token to pass through the filter\n * @returns {lunr.Token}\n * @see lunr.Pipeline\n */\nlunr.trimmer = function (token) {\n  return token.update(function (s) {\n    return s.replace(/^\\W+/, '').replace(/\\W+$/, '')\n  })\n}\n\nlunr.Pipeline.registerFunction(lunr.trimmer, 'trimmer')\n/*!\n * lunr.TokenSet\n * Copyright (C) 2017 Oliver Nightingale\n */\n\n/**\n * A token set is used to store the unique list of all tokens\n * within an index. Token sets are also used to represent an\n * incoming query to the index, this query token set and index\n * token set are then intersected to find which tokens to look\n * up in the inverted index.\n *\n * A token set can hold multiple tokens, as in the case of the\n * index token set, or it can hold a single token as in the\n * case of a simple query token set.\n *\n * Additionally token sets are used to perform wildcard matching.\n * Leading, contained and trailing wildcards are supported, and\n * from this edit distance matching can also be provided.\n *\n * Token sets are implemented as a minimal finite state automata,\n * where both common prefixes and suffixes are shared between tokens.\n * This helps to reduce the space used for storing the token set.\n *\n * @constructor\n */\nlunr.TokenSet = function () {\n  this.final = false\n  this.edges = {}\n  this.id = lunr.TokenSet._nextId\n  lunr.TokenSet._nextId += 1\n}\n\n/**\n * Keeps track of the next, auto increment, identifier to assign\n * to a new tokenSet.\n *\n * TokenSets require a unique identifier to be correctly minimised.\n *\n * @private\n */\nlunr.TokenSet._nextId = 1\n\n/**\n * Creates a TokenSet instance from the given sorted array of words.\n *\n * @param {String[]} arr - A sorted array of strings to create the set from.\n * @returns {lunr.TokenSet}\n * @throws Will throw an error if the input array is not sorted.\n */\nlunr.TokenSet.fromArray = function (arr) {\n  var builder = new lunr.TokenSet.Builder\n\n  for (var i = 0, len = arr.length; i < len; i++) {\n    builder.insert(arr[i])\n  }\n\n  builder.finish()\n  return builder.root\n}\n\n/**\n * Creates a token set from a query clause.\n *\n * @private\n * @param {Object} clause - A single clause from lunr.Query.\n * @param {string} clause.term - The query clause term.\n * @param {number} [clause.editDistance] - The optional edit distance for the term.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromClause = function (clause) {\n  if ('editDistance' in clause) {\n    return lunr.TokenSet.fromFuzzyString(clause.term, clause.editDistance)\n  } else {\n    return lunr.TokenSet.fromString(clause.term)\n  }\n}\n\n/**\n * Creates a token set representing a single string with a specified\n * edit distance.\n *\n * Insertions, deletions, substitutions and transpositions are each\n * treated as an edit distance of 1.\n *\n * Increasing the allowed edit distance will have a dramatic impact\n * on the performance of both creating and intersecting these TokenSets.\n * It is advised to keep the edit distance less than 3.\n *\n * @param {string} str - The string to create the token set from.\n * @param {number} editDistance - The allowed edit distance to match.\n * @returns {lunr.Vector}\n */\nlunr.TokenSet.fromFuzzyString = function (str, editDistance) {\n  var root = new lunr.TokenSet\n\n  var stack = [{\n    node: root,\n    editsRemaining: editDistance,\n    str: str\n  }]\n\n  while (stack.length) {\n    var frame = stack.pop()\n\n    // no edit\n    if (frame.str.length > 0) {\n      var char = frame.str.charAt(0),\n          noEditNode\n\n      if (char in frame.node.edges) {\n        noEditNode = frame.node.edges[char]\n      } else {\n        noEditNode = new lunr.TokenSet\n        frame.node.edges[char] = noEditNode\n      }\n\n      if (frame.str.length == 1) {\n        noEditNode.final = true\n      } else {\n        stack.push({\n          node: noEditNode,\n          editsRemaining: frame.editsRemaining,\n          str: frame.str.slice(1)\n        })\n      }\n    }\n\n    // deletion\n    // can only do a deletion if we have enough edits remaining\n    // and if there are characters left to delete in the string\n    if (frame.editsRemaining > 0 && frame.str.length > 1) {\n      var char = frame.str.charAt(1),\n          deletionNode\n\n      if (char in frame.node.edges) {\n        deletionNode = frame.node.edges[char]\n      } else {\n        deletionNode = new lunr.TokenSet\n        frame.node.edges[char] = deletionNode\n      }\n\n      if (frame.str.length <= 2) {\n        deletionNode.final = true\n      } else {\n        stack.push({\n          node: deletionNode,\n          editsRemaining: frame.editsRemaining - 1,\n          str: frame.str.slice(2)\n        })\n      }\n    }\n\n    // deletion\n    // just removing the last character from the str\n    if (frame.editsRemaining > 0 && frame.str.length == 1) {\n      frame.node.final = true\n    }\n\n    // substitution\n    // can only do a substitution if we have enough edits remaining\n    // and if there are characters left to substitute\n    if (frame.editsRemaining > 0 && frame.str.length >= 1) {\n      if (\"*\" in frame.node.edges) {\n        var substitutionNode = frame.node.edges[\"*\"]\n      } else {\n        var substitutionNode = new lunr.TokenSet\n        frame.node.edges[\"*\"] = substitutionNode\n      }\n\n      if (frame.str.length == 1) {\n        substitutionNode.final = true\n      } else {\n        stack.push({\n          node: substitutionNode,\n          editsRemaining: frame.editsRemaining - 1,\n          str: frame.str.slice(1)\n        })\n      }\n    }\n\n    // insertion\n    // can only do insertion if there are edits remaining\n    if (frame.editsRemaining > 0) {\n      if (\"*\" in frame.node.edges) {\n        var insertionNode = frame.node.edges[\"*\"]\n      } else {\n        var insertionNode = new lunr.TokenSet\n        frame.node.edges[\"*\"] = insertionNode\n      }\n\n      if (frame.str.length == 0) {\n        insertionNode.final = true\n      } else {\n        stack.push({\n          node: insertionNode,\n          editsRemaining: frame.editsRemaining - 1,\n          str: frame.str\n        })\n      }\n    }\n\n    // transposition\n    // can only do a transposition if there are edits remaining\n    // and there are enough characters to transpose\n    if (frame.editsRemaining > 0 && frame.str.length > 1) {\n      var charA = frame.str.charAt(0),\n          charB = frame.str.charAt(1),\n          transposeNode\n\n      if (charB in frame.node.edges) {\n        transposeNode = frame.node.edges[charB]\n      } else {\n        transposeNode = new lunr.TokenSet\n        frame.node.edges[charB] = transposeNode\n      }\n\n      if (frame.str.length == 1) {\n        transposeNode.final = true\n      } else {\n        stack.push({\n          node: transposeNode,\n          editsRemaining: frame.editsRemaining - 1,\n          str: charA + frame.str.slice(2)\n        })\n      }\n    }\n  }\n\n  return root\n}\n\n/**\n * Creates a TokenSet from a string.\n *\n * The string may contain one or more wildcard characters (*)\n * that will allow wildcard matching when intersecting with\n * another TokenSet.\n *\n * @param {string} str - The string to create a TokenSet from.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromString = function (str) {\n  var node = new lunr.TokenSet,\n      root = node,\n      wildcardFound = false\n\n  /*\n   * Iterates through all characters within the passed string\n   * appending a node for each character.\n   *\n   * As soon as a wildcard character is found then a self\n   * referencing edge is introduced to continually match\n   * any number of any characters.\n   */\n  for (var i = 0, len = str.length; i < len; i++) {\n    var char = str[i],\n        final = (i == len - 1)\n\n    if (char == \"*\") {\n      wildcardFound = true\n      node.edges[char] = node\n      node.final = final\n\n    } else {\n      var next = new lunr.TokenSet\n      next.final = final\n\n      node.edges[char] = next\n      node = next\n\n      // TODO: is this needed anymore?\n      if (wildcardFound) {\n        node.edges[\"*\"] = root\n      }\n    }\n  }\n\n  return root\n}\n\n/**\n * Converts this TokenSet into an array of strings\n * contained within the TokenSet.\n *\n * @returns {string[]}\n */\nlunr.TokenSet.prototype.toArray = function () {\n  var words = []\n\n  var stack = [{\n    prefix: \"\",\n    node: this\n  }]\n\n  while (stack.length) {\n    var frame = stack.pop(),\n        edges = Object.keys(frame.node.edges),\n        len = edges.length\n\n    if (frame.node.final) {\n      words.push(frame.prefix)\n    }\n\n    for (var i = 0; i < len; i++) {\n      var edge = edges[i]\n\n      stack.push({\n        prefix: frame.prefix.concat(edge),\n        node: frame.node.edges[edge]\n      })\n    }\n  }\n\n  return words\n}\n\n/**\n * Generates a string representation of a TokenSet.\n *\n * This is intended to allow TokenSets to be used as keys\n * in objects, largely to aid the construction and minimisation\n * of a TokenSet. As such it is not designed to be a human\n * friendly representation of the TokenSet.\n *\n * @returns {string}\n */\nlunr.TokenSet.prototype.toString = function () {\n  // NOTE: Using Object.keys here as this.edges is very likely\n  // to enter 'hash-mode' with many keys being added\n  //\n  // avoiding a for-in loop here as it leads to the function\n  // being de-optimised (at least in V8). From some simple\n  // benchmarks the performance is comparable, but allowing\n  // V8 to optimize may mean easy performance wins in the future.\n\n  if (this._str) {\n    return this._str\n  }\n\n  var str = this.final ? '1' : '0',\n      labels = Object.keys(this.edges).sort(),\n      len = labels.length\n\n  for (var i = 0; i < len; i++) {\n    var label = labels[i],\n        node = this.edges[label]\n\n    str = str + label + node.id\n  }\n\n  return str\n}\n\n/**\n * Returns a new TokenSet that is the intersection of\n * this TokenSet and the passed TokenSet.\n *\n * This intersection will take into account any wildcards\n * contained within the TokenSet.\n *\n * @param {lunr.TokenSet} b - An other TokenSet to intersect with.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.prototype.intersect = function (b) {\n  var output = new lunr.TokenSet,\n      frame = undefined\n\n  var stack = [{\n    qNode: b,\n    output: output,\n    node: this\n  }]\n\n  while (stack.length) {\n    frame = stack.pop()\n\n    // NOTE: As with the #toString method, we are using\n    // Object.keys and a for loop instead of a for-in loop\n    // as both of these objects enter 'hash' mode, causing\n    // the function to be de-optimised in V8\n    var qEdges = Object.keys(frame.qNode.edges),\n        qLen = qEdges.length,\n        nEdges = Object.keys(frame.node.edges),\n        nLen = nEdges.length\n\n    for (var q = 0; q < qLen; q++) {\n      var qEdge = qEdges[q]\n\n      for (var n = 0; n < nLen; n++) {\n        var nEdge = nEdges[n]\n\n        if (nEdge == qEdge || qEdge == '*') {\n          var node = frame.node.edges[nEdge],\n              qNode = frame.qNode.edges[qEdge],\n              final = node.final && qNode.final,\n              next = undefined\n\n          if (nEdge in frame.output.edges) {\n            // an edge already exists for this character\n            // no need to create a new node, just set the finality\n            // bit unless this node is already final\n            next = frame.output.edges[nEdge]\n            next.final = next.final || final\n\n          } else {\n            // no edge exists yet, must create one\n            // set the finality bit and insert it\n            // into the output\n            next = new lunr.TokenSet\n            next.final = final\n            frame.output.edges[nEdge] = next\n          }\n\n          stack.push({\n            qNode: qNode,\n            output: next,\n            node: node\n          })\n        }\n      }\n    }\n  }\n\n  return output\n}\nlunr.TokenSet.Builder = function () {\n  this.previousWord = \"\"\n  this.root = new lunr.TokenSet\n  this.uncheckedNodes = []\n  this.minimizedNodes = {}\n}\n\nlunr.TokenSet.Builder.prototype.insert = function (word) {\n  var node,\n      commonPrefix = 0\n\n  if (word < this.previousWord) {\n    throw new Error (\"Out of order word insertion\")\n  }\n\n  for (var i = 0; i < word.length && i < this.previousWord.length; i++) {\n    if (word[i] != this.previousWord[i]) break\n    commonPrefix++\n  }\n\n  this.minimize(commonPrefix)\n\n  if (this.uncheckedNodes.length == 0) {\n    node = this.root\n  } else {\n    node = this.uncheckedNodes[this.uncheckedNodes.length - 1].child\n  }\n\n  for (var i = commonPrefix; i < word.length; i++) {\n    var nextNode = new lunr.TokenSet,\n        char = word[i]\n\n    node.edges[char] = nextNode\n\n    this.uncheckedNodes.push({\n      parent: node,\n      char: char,\n      child: nextNode\n    })\n\n    node = nextNode\n  }\n\n  node.final = true\n  this.previousWord = word\n}\n\nlunr.TokenSet.Builder.prototype.finish = function () {\n  this.minimize(0)\n}\n\nlunr.TokenSet.Builder.prototype.minimize = function (downTo) {\n  for (var i = this.uncheckedNodes.length - 1; i >= downTo; i--) {\n    var node = this.uncheckedNodes[i],\n        childKey = node.child.toString()\n\n    if (childKey in this.minimizedNodes) {\n      node.parent.edges[node.char] = this.minimizedNodes[childKey]\n    } else {\n      // Cache the key for this node since\n      // we know it can't change anymore\n      node.child._str = childKey\n\n      this.minimizedNodes[childKey] = node.child\n    }\n\n    this.uncheckedNodes.pop()\n  }\n}\n/*!\n * lunr.Index\n * Copyright (C) 2017 Oliver Nightingale\n */\n\n/**\n * An index contains the built index of all documents and provides a query interface\n * to the index.\n *\n * Usually instances of lunr.Index will not be created using this constructor, instead\n * lunr.Builder should be used to construct new indexes, or lunr.Index.load should be\n * used to load previously built and serialized indexes.\n *\n * @constructor\n * @param {Object} attrs - The attributes of the built search index.\n * @param {Object} attrs.invertedIndex - An index of term/field to document reference.\n * @param {Object<string, lunr.Vector>} attrs.documentVectors - Document vectors keyed by document reference.\n * @param {lunr.TokenSet} attrs.tokenSet - An set of all corpus tokens.\n * @param {string[]} attrs.fields - The names of indexed document fields.\n * @param {lunr.Pipeline} attrs.pipeline - The pipeline to use for search terms.\n */\nlunr.Index = function (attrs) {\n  this.invertedIndex = attrs.invertedIndex\n  this.fieldVectors = attrs.fieldVectors\n  this.tokenSet = attrs.tokenSet\n  this.fields = attrs.fields\n  this.pipeline = attrs.pipeline\n}\n\n/**\n * A result contains details of a document matching a search query.\n * @typedef {Object} lunr.Index~Result\n * @property {string} ref - The reference of the document this result represents.\n * @property {number} score - A number between 0 and 1 representing how similar this document is to the query.\n * @property {lunr.MatchData} matchData - Contains metadata about this match including which term(s) caused the match.\n */\n\n/**\n * Although lunr provides the ability to create queries using lunr.Query, it also provides a simple\n * query language which itself is parsed into an instance of lunr.Query.\n *\n * For programmatically building queries it is advised to directly use lunr.Query, the query language\n * is best used for human entered text rather than program generated text.\n *\n * At its simplest queries can just be a single term, e.g. `hello`, multiple terms are also supported\n * and will be combined with OR, e.g `hello world` will match documents that contain either 'hello'\n * or 'world', though those that contain both will rank higher in the results.\n *\n * Wildcards can be included in terms to match one or more unspecified characters, these wildcards can\n * be inserted anywhere within the term, and more than one wildcard can exist in a single term. Adding\n * wildcards will increase the number of documents that will be found but can also have a negative\n * impact on query performance, especially with wildcards at the beginning of a term.\n *\n * Terms can be restricted to specific fields, e.g. `title:hello`, only documents with the term\n * hello in the title field will match this query. Using a field not present in the index will lead\n * to an error being thrown.\n *\n * Modifiers can also be added to terms, lunr supports edit distance and boost modifiers on terms. A term\n * boost will make documents matching that term score higher, e.g. `foo^5`. Edit distance is also supported\n * to provide fuzzy matching, e.g. 'hello~2' will match documents with hello with an edit distance of 2.\n * Avoid large values for edit distance to improve query performance.\n *\n * To escape special characters the backslash character '\\' can be used, this allows searches to include\n * characters that would normally be considered modifiers, e.g. `foo\\~2` will search for a term \"foo~2\" instead\n * of attempting to apply a boost of 2 to the search term \"foo\".\n *\n * @typedef {string} lunr.Index~QueryString\n * @example <caption>Simple single term query</caption>\n * hello\n * @example <caption>Multiple term query</caption>\n * hello world\n * @example <caption>term scoped to a field</caption>\n * title:hello\n * @example <caption>term with a boost of 10</caption>\n * hello^10\n * @example <caption>term with an edit distance of 2</caption>\n * hello~2\n */\n\n/**\n * Performs a search against the index using lunr query syntax.\n *\n * Results will be returned sorted by their score, the most relevant results\n * will be returned first.\n *\n * For more programmatic querying use lunr.Index#query.\n *\n * @param {lunr.Index~QueryString} queryString - A string containing a lunr query.\n * @throws {lunr.QueryParseError} If the passed query string cannot be parsed.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.search = function (queryString) {\n  return this.query(function (query) {\n    var parser = new lunr.QueryParser(queryString, query)\n    parser.parse()\n  })\n}\n\n/**\n * A query builder callback provides a query object to be used to express\n * the query to perform on the index.\n *\n * @callback lunr.Index~queryBuilder\n * @param {lunr.Query} query - The query object to build up.\n * @this lunr.Query\n */\n\n/**\n * Performs a query against the index using the yielded lunr.Query object.\n *\n * If performing programmatic queries against the index, this method is preferred\n * over lunr.Index#search so as to avoid the additional query parsing overhead.\n *\n * A query object is yielded to the supplied function which should be used to\n * express the query to be run against the index.\n *\n * Note that although this function takes a callback parameter it is _not_ an\n * asynchronous operation, the callback is just yielded a query object to be\n * customized.\n *\n * @param {lunr.Index~queryBuilder} fn - A function that is used to build the query.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.query = function (fn) {\n  // for each query clause\n  // * process terms\n  // * expand terms from token set\n  // * find matching documents and metadata\n  // * get document vectors\n  // * score documents\n\n  var query = new lunr.Query(this.fields),\n      matchingFields = Object.create(null),\n      queryVectors = Object.create(null)\n\n  fn.call(query, query)\n\n  for (var i = 0; i < query.clauses.length; i++) {\n    /*\n     * Unless the pipeline has been disabled for this term, which is\n     * the case for terms with wildcards, we need to pass the clause\n     * term through the search pipeline. A pipeline returns an array\n     * of processed terms. Pipeline functions may expand the passed\n     * term, which means we may end up performing multiple index lookups\n     * for a single query term.\n     */\n    var clause = query.clauses[i],\n        terms = null\n\n    if (clause.usePipeline) {\n      terms = this.pipeline.runString(clause.term)\n    } else {\n      terms = [clause.term]\n    }\n\n    for (var m = 0; m < terms.length; m++) {\n      var term = terms[m]\n\n      /*\n       * Each term returned from the pipeline needs to use the same query\n       * clause object, e.g. the same boost and or edit distance. The\n       * simplest way to do this is to re-use the clause object but mutate\n       * its term property.\n       */\n      clause.term = term\n\n      /*\n       * From the term in the clause we create a token set which will then\n       * be used to intersect the indexes token set to get a list of terms\n       * to lookup in the inverted index\n       */\n      var termTokenSet = lunr.TokenSet.fromClause(clause),\n          expandedTerms = this.tokenSet.intersect(termTokenSet).toArray()\n\n      for (var j = 0; j < expandedTerms.length; j++) {\n        /*\n         * For each term get the posting and termIndex, this is required for\n         * building the query vector.\n         */\n        var expandedTerm = expandedTerms[j],\n            posting = this.invertedIndex[expandedTerm],\n            termIndex = posting._index\n\n        for (var k = 0; k < clause.fields.length; k++) {\n          /*\n           * For each field that this query term is scoped by (by default\n           * all fields are in scope) we need to get all the document refs\n           * that have this term in that field.\n           *\n           * The posting is the entry in the invertedIndex for the matching\n           * term from above.\n           */\n          var field = clause.fields[k],\n              fieldPosting = posting[field],\n              matchingDocumentRefs = Object.keys(fieldPosting)\n\n          /*\n           * To support field level boosts a query vector is created per\n           * field. This vector is populated using the termIndex found for\n           * the term and a unit value with the appropriate boost applied.\n           *\n           * If the query vector for this field does not exist yet it needs\n           * to be created.\n           */\n          if (!(field in queryVectors)) {\n            queryVectors[field] = new lunr.Vector\n          }\n\n          /*\n           * Using upsert because there could already be an entry in the vector\n           * for the term we are working with. In that case we just add the scores\n           * together.\n           */\n          queryVectors[field].upsert(termIndex, 1 * clause.boost, function (a, b) { return a + b })\n\n          for (var l = 0; l < matchingDocumentRefs.length; l++) {\n            /*\n             * All metadata for this term/field/document triple\n             * are then extracted and collected into an instance\n             * of lunr.MatchData ready to be returned in the query\n             * results\n             */\n            var matchingDocumentRef = matchingDocumentRefs[l],\n                matchingFieldRef = new lunr.FieldRef (matchingDocumentRef, field),\n                documentMetadata, matchData\n\n            documentMetadata = fieldPosting[matchingDocumentRef]\n            matchData = new lunr.MatchData (expandedTerm, field, documentMetadata)\n\n            if (matchingFieldRef in matchingFields) {\n              matchingFields[matchingFieldRef].combine(matchData)\n            } else {\n              matchingFields[matchingFieldRef] = matchData\n            }\n\n          }\n        }\n      }\n    }\n  }\n\n  var matchingFieldRefs = Object.keys(matchingFields),\n      results = {}\n\n  for (var i = 0; i < matchingFieldRefs.length; i++) {\n    /*\n     * Currently we have document fields that match the query, but we\n     * need to return documents. The matchData and scores are combined\n     * from multiple fields belonging to the same document.\n     *\n     * Scores are calculated by field, using the query vectors created\n     * above, and combined into a final document score using addition.\n     */\n    var fieldRef = lunr.FieldRef.fromString(matchingFieldRefs[i]),\n        docRef = fieldRef.docRef,\n        fieldVector = this.fieldVectors[fieldRef],\n        score = queryVectors[fieldRef.fieldName].similarity(fieldVector)\n\n    if (docRef in results) {\n      results[docRef].score += score\n      results[docRef].matchData.combine(matchingFields[fieldRef])\n    } else {\n      results[docRef] = {\n        ref: docRef,\n        score: score,\n        matchData: matchingFields[fieldRef]\n      }\n    }\n  }\n\n  /*\n   * The results object needs to be converted into a list\n   * of results, sorted by score before being returned.\n   */\n  return Object.keys(results)\n    .map(function (key) {\n      return results[key]\n    })\n    .sort(function (a, b) {\n      return b.score - a.score\n    })\n}\n\n/**\n * Prepares the index for JSON serialization.\n *\n * The schema for this JSON blob will be described in a\n * separate JSON schema file.\n *\n * @returns {Object}\n */\nlunr.Index.prototype.toJSON = function () {\n  var invertedIndex = Object.keys(this.invertedIndex)\n    .sort()\n    .map(function (term) {\n      return [term, this.invertedIndex[term]]\n    }, this)\n\n  var fieldVectors = Object.keys(this.fieldVectors)\n    .map(function (ref) {\n      return [ref, this.fieldVectors[ref].toJSON()]\n    }, this)\n\n  return {\n    version: lunr.version,\n    fields: this.fields,\n    fieldVectors: fieldVectors,\n    invertedIndex: invertedIndex,\n    pipeline: this.pipeline.toJSON()\n  }\n}\n\n/**\n * Loads a previously serialized lunr.Index\n *\n * @param {Object} serializedIndex - A previously serialized lunr.Index\n * @returns {lunr.Index}\n */\nlunr.Index.load = function (serializedIndex) {\n  var attrs = {},\n      fieldVectors = {},\n      serializedVectors = serializedIndex.fieldVectors,\n      invertedIndex = {},\n      serializedInvertedIndex = serializedIndex.invertedIndex,\n      tokenSetBuilder = new lunr.TokenSet.Builder,\n      pipeline = lunr.Pipeline.load(serializedIndex.pipeline)\n\n  if (serializedIndex.version != lunr.version) {\n    lunr.utils.warn(\"Version mismatch when loading serialised index. Current version of lunr '\" + lunr.version + \"' does not match serialized index '\" + serializedIndex.version + \"'\")\n  }\n\n  for (var i = 0; i < serializedVectors.length; i++) {\n    var tuple = serializedVectors[i],\n        ref = tuple[0],\n        elements = tuple[1]\n\n    fieldVectors[ref] = new lunr.Vector(elements)\n  }\n\n  for (var i = 0; i < serializedInvertedIndex.length; i++) {\n    var tuple = serializedInvertedIndex[i],\n        term = tuple[0],\n        posting = tuple[1]\n\n    tokenSetBuilder.insert(term)\n    invertedIndex[term] = posting\n  }\n\n  tokenSetBuilder.finish()\n\n  attrs.fields = serializedIndex.fields\n\n  attrs.fieldVectors = fieldVectors\n  attrs.invertedIndex = invertedIndex\n  attrs.tokenSet = tokenSetBuilder.root\n  attrs.pipeline = pipeline\n\n  return new lunr.Index(attrs)\n}\n/*!\n * lunr.Builder\n * Copyright (C) 2017 Oliver Nightingale\n */\n\n/**\n * lunr.Builder performs indexing on a set of documents and\n * returns instances of lunr.Index ready for querying.\n *\n * All configuration of the index is done via the builder, the\n * fields to index, the document reference, the text processing\n * pipeline and document scoring parameters are all set on the\n * builder before indexing.\n *\n * @constructor\n * @property {string} _ref - Internal reference to the document reference field.\n * @property {string[]} _fields - Internal reference to the document fields to index.\n * @property {object} invertedIndex - The inverted index maps terms to document fields.\n * @property {object} documentTermFrequencies - Keeps track of document term frequencies.\n * @property {object} documentLengths - Keeps track of the length of documents added to the index.\n * @property {lunr.tokenizer} tokenizer - Function for splitting strings into tokens for indexing.\n * @property {lunr.Pipeline} pipeline - The pipeline performs text processing on tokens before indexing.\n * @property {lunr.Pipeline} searchPipeline - A pipeline for processing search terms before querying the index.\n * @property {number} documentCount - Keeps track of the total number of documents indexed.\n * @property {number} _b - A parameter to control field length normalization, setting this to 0 disabled normalization, 1 fully normalizes field lengths, the default value is 0.75.\n * @property {number} _k1 - A parameter to control how quickly an increase in term frequency results in term frequency saturation, the default value is 1.2.\n * @property {number} termIndex - A counter incremented for each unique term, used to identify a terms position in the vector space.\n * @property {array} metadataWhitelist - A list of metadata keys that have been whitelisted for entry in the index.\n */\nlunr.Builder = function () {\n  this._ref = \"id\"\n  this._fields = []\n  this.invertedIndex = Object.create(null)\n  this.fieldTermFrequencies = {}\n  this.fieldLengths = {}\n  this.tokenizer = lunr.tokenizer\n  this.pipeline = new lunr.Pipeline\n  this.searchPipeline = new lunr.Pipeline\n  this.documentCount = 0\n  this._b = 0.75\n  this._k1 = 1.2\n  this.termIndex = 0\n  this.metadataWhitelist = []\n}\n\n/**\n * Sets the document field used as the document reference. Every document must have this field.\n * The type of this field in the document should be a string, if it is not a string it will be\n * coerced into a string by calling toString.\n *\n * The default ref is 'id'.\n *\n * The ref should _not_ be changed during indexing, it should be set before any documents are\n * added to the index. Changing it during indexing can lead to inconsistent results.\n *\n * @param {string} ref - The name of the reference field in the document.\n */\nlunr.Builder.prototype.ref = function (ref) {\n  this._ref = ref\n}\n\n/**\n * Adds a field to the list of document fields that will be indexed. Every document being\n * indexed should have this field. Null values for this field in indexed documents will\n * not cause errors but will limit the chance of that document being retrieved by searches.\n *\n * All fields should be added before adding documents to the index. Adding fields after\n * a document has been indexed will have no effect on already indexed documents.\n *\n * @param {string} field - The name of a field to index in all documents.\n */\nlunr.Builder.prototype.field = function (field) {\n  this._fields.push(field)\n}\n\n/**\n * A parameter to tune the amount of field length normalisation that is applied when\n * calculating relevance scores. A value of 0 will completely disable any normalisation\n * and a value of 1 will fully normalise field lengths. The default is 0.75. Values of b\n * will be clamped to the range 0 - 1.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.b = function (number) {\n  if (number < 0) {\n    this._b = 0\n  } else if (number > 1) {\n    this._b = 1\n  } else {\n    this._b = number\n  }\n}\n\n/**\n * A parameter that controls the speed at which a rise in term frequency results in term\n * frequency saturation. The default value is 1.2. Setting this to a higher value will give\n * slower saturation levels, a lower value will result in quicker saturation.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.k1 = function (number) {\n  this._k1 = number\n}\n\n/**\n * Adds a document to the index.\n *\n * Before adding fields to the index the index should have been fully setup, with the document\n * ref and all fields to index already having been specified.\n *\n * The document must have a field name as specified by the ref (by default this is 'id') and\n * it should have all fields defined for indexing, though null or undefined values will not\n * cause errors.\n *\n * @param {object} doc - The document to add to the index.\n */\nlunr.Builder.prototype.add = function (doc) {\n  var docRef = doc[this._ref]\n\n  this.documentCount += 1\n\n  for (var i = 0; i < this._fields.length; i++) {\n    var fieldName = this._fields[i],\n        field = doc[fieldName],\n        tokens = this.tokenizer(field),\n        terms = this.pipeline.run(tokens),\n        fieldRef = new lunr.FieldRef (docRef, fieldName),\n        fieldTerms = Object.create(null)\n\n    this.fieldTermFrequencies[fieldRef] = fieldTerms\n    this.fieldLengths[fieldRef] = 0\n\n    // store the length of this field for this document\n    this.fieldLengths[fieldRef] += terms.length\n\n    // calculate term frequencies for this field\n    for (var j = 0; j < terms.length; j++) {\n      var term = terms[j]\n\n      if (fieldTerms[term] == undefined) {\n        fieldTerms[term] = 0\n      }\n\n      fieldTerms[term] += 1\n\n      // add to inverted index\n      // create an initial posting if one doesn't exist\n      if (this.invertedIndex[term] == undefined) {\n        var posting = Object.create(null)\n        posting[\"_index\"] = this.termIndex\n        this.termIndex += 1\n\n        for (var k = 0; k < this._fields.length; k++) {\n          posting[this._fields[k]] = Object.create(null)\n        }\n\n        this.invertedIndex[term] = posting\n      }\n\n      // add an entry for this term/fieldName/docRef to the invertedIndex\n      if (this.invertedIndex[term][fieldName][docRef] == undefined) {\n        this.invertedIndex[term][fieldName][docRef] = Object.create(null)\n      }\n\n      // store all whitelisted metadata about this token in the\n      // inverted index\n      for (var l = 0; l < this.metadataWhitelist.length; l++) {\n        var metadataKey = this.metadataWhitelist[l],\n            metadata = term.metadata[metadataKey]\n\n        if (this.invertedIndex[term][fieldName][docRef][metadataKey] == undefined) {\n          this.invertedIndex[term][fieldName][docRef][metadataKey] = []\n        }\n\n        this.invertedIndex[term][fieldName][docRef][metadataKey].push(metadata)\n      }\n    }\n\n  }\n}\n\n/**\n * Calculates the average document length for this index\n *\n * @private\n */\nlunr.Builder.prototype.calculateAverageFieldLengths = function () {\n\n  var fieldRefs = Object.keys(this.fieldLengths),\n      numberOfFields = fieldRefs.length,\n      accumulator = {},\n      documentsWithField = {}\n\n  for (var i = 0; i < numberOfFields; i++) {\n    var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n        field = fieldRef.fieldName\n\n    documentsWithField[field] || (documentsWithField[field] = 0)\n    documentsWithField[field] += 1\n\n    accumulator[field] || (accumulator[field] = 0)\n    accumulator[field] += this.fieldLengths[fieldRef]\n  }\n\n  for (var i = 0; i < this._fields.length; i++) {\n    var field = this._fields[i]\n    accumulator[field] = accumulator[field] / documentsWithField[field]\n  }\n\n  this.averageFieldLength = accumulator\n}\n\n/**\n * Builds a vector space model of every document using lunr.Vector\n *\n * @private\n */\nlunr.Builder.prototype.createFieldVectors = function () {\n  var fieldVectors = {},\n      fieldRefs = Object.keys(this.fieldTermFrequencies),\n      fieldRefsLength = fieldRefs.length\n\n  for (var i = 0; i < fieldRefsLength; i++) {\n    var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n        field = fieldRef.fieldName,\n        fieldLength = this.fieldLengths[fieldRef],\n        fieldVector = new lunr.Vector,\n        termFrequencies = this.fieldTermFrequencies[fieldRef],\n        terms = Object.keys(termFrequencies),\n        termsLength = terms.length\n\n    for (var j = 0; j < termsLength; j++) {\n      var term = terms[j],\n          tf = termFrequencies[term],\n          termIndex = this.invertedIndex[term]._index,\n          idf = lunr.idf(this.invertedIndex[term], this.documentCount),\n          score = idf * ((this._k1 + 1) * tf) / (this._k1 * (1 - this._b + this._b * (fieldLength / this.averageFieldLength[field])) + tf),\n          scoreWithPrecision = Math.round(score * 1000) / 1000\n          // Converts 1.23456789 to 1.234.\n          // Reducing the precision so that the vectors take up less\n          // space when serialised. Doing it now so that they behave\n          // the same before and after serialisation. Also, this is\n          // the fastest approach to reducing a number's precision in\n          // JavaScript.\n\n      fieldVector.insert(termIndex, scoreWithPrecision)\n    }\n\n    fieldVectors[fieldRef] = fieldVector\n  }\n\n  this.fieldVectors = fieldVectors\n}\n\n/**\n * Creates a token set of all tokens in the index using lunr.TokenSet\n *\n * @private\n */\nlunr.Builder.prototype.createTokenSet = function () {\n  this.tokenSet = lunr.TokenSet.fromArray(\n    Object.keys(this.invertedIndex).sort()\n  )\n}\n\n/**\n * Builds the index, creating an instance of lunr.Index.\n *\n * This completes the indexing process and should only be called\n * once all documents have been added to the index.\n *\n * @private\n * @returns {lunr.Index}\n */\nlunr.Builder.prototype.build = function () {\n  this.calculateAverageFieldLengths()\n  this.createFieldVectors()\n  this.createTokenSet()\n\n  return new lunr.Index({\n    invertedIndex: this.invertedIndex,\n    fieldVectors: this.fieldVectors,\n    tokenSet: this.tokenSet,\n    fields: this._fields,\n    pipeline: this.searchPipeline\n  })\n}\n\n/**\n * Applies a plugin to the index builder.\n *\n * A plugin is a function that is called with the index builder as its context.\n * Plugins can be used to customise or extend the behaviour of the index\n * in some way. A plugin is just a function, that encapsulated the custom\n * behaviour that should be applied when building the index.\n *\n * The plugin function will be called with the index builder as its argument, additional\n * arguments can also be passed when calling use. The function will be called\n * with the index builder as its context.\n *\n * @param {Function} plugin The plugin to apply.\n */\nlunr.Builder.prototype.use = function (fn) {\n  var args = Array.prototype.slice.call(arguments, 1)\n  args.unshift(this)\n  fn.apply(this, args)\n}\n/**\n * Contains and collects metadata about a matching document.\n * A single instance of lunr.MatchData is returned as part of every\n * lunr.Index~Result.\n *\n * @constructor\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n * @property {object} metadata - A cloned collection of metadata associated with this document.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData = function (term, field, metadata) {\n  var clonedMetadata = Object.create(null),\n      metadataKeys = Object.keys(metadata)\n\n  // Cloning the metadata to prevent the original\n  // being mutated during match data combination.\n  // Metadata is kept in an array within the inverted\n  // index so cloning the data can be done with\n  // Array#slice\n  for (var i = 0; i < metadataKeys.length; i++) {\n    var key = metadataKeys[i]\n    clonedMetadata[key] = metadata[key].slice()\n  }\n\n  this.metadata = Object.create(null)\n  this.metadata[term] = Object.create(null)\n  this.metadata[term][field] = clonedMetadata\n}\n\n/**\n * An instance of lunr.MatchData will be created for every term that matches a\n * document. However only one instance is required in a lunr.Index~Result. This\n * method combines metadata from another instance of lunr.MatchData with this\n * objects metadata.\n *\n * @param {lunr.MatchData} otherMatchData - Another instance of match data to merge with this one.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData.prototype.combine = function (otherMatchData) {\n  var terms = Object.keys(otherMatchData.metadata)\n\n  for (var i = 0; i < terms.length; i++) {\n    var term = terms[i],\n        fields = Object.keys(otherMatchData.metadata[term])\n\n    if (this.metadata[term] == undefined) {\n      this.metadata[term] = Object.create(null)\n    }\n\n    for (var j = 0; j < fields.length; j++) {\n      var field = fields[j],\n          keys = Object.keys(otherMatchData.metadata[term][field])\n\n      if (this.metadata[term][field] == undefined) {\n        this.metadata[term][field] = Object.create(null)\n      }\n\n      for (var k = 0; k < keys.length; k++) {\n        var key = keys[k]\n\n        if (this.metadata[term][field][key] == undefined) {\n          this.metadata[term][field][key] = otherMatchData.metadata[term][field][key]\n        } else {\n          this.metadata[term][field][key] = this.metadata[term][field][key].concat(otherMatchData.metadata[term][field][key])\n        }\n\n      }\n    }\n  }\n}\n/**\n * A lunr.Query provides a programmatic way of defining queries to be performed\n * against a {@link lunr.Index}.\n *\n * Prefer constructing a lunr.Query using the {@link lunr.Index#query} method\n * so the query object is pre-initialized with the right index fields.\n *\n * @constructor\n * @property {lunr.Query~Clause[]} clauses - An array of query clauses.\n * @property {string[]} allFields - An array of all available fields in a lunr.Index.\n */\nlunr.Query = function (allFields) {\n  this.clauses = []\n  this.allFields = allFields\n}\n\n/**\n * Constants for indicating what kind of automatic wildcard insertion will be used when constructing a query clause.\n *\n * This allows wildcards to be added to the beginning and end of a term without having to manually do any string\n * concatenation.\n *\n * The wildcard constants can be bitwise combined to select both leading and trailing wildcards.\n *\n * @constant\n * @default\n * @property {number} wildcard.NONE - The term will have no wildcards inserted, this is the default behaviour\n * @property {number} wildcard.LEADING - Prepend the term with a wildcard, unless a leading wildcard already exists\n * @property {number} wildcard.TRAILING - Append a wildcard to the term, unless a trailing wildcard already exists\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example <caption>query term with trailing wildcard</caption>\n * query.term('foo', { wildcard: lunr.Query.wildcard.TRAILING })\n * @example <caption>query term with leading and trailing wildcard</caption>\n * query.term('foo', {\n *   wildcard: lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING\n * })\n */\nlunr.Query.wildcard = new String (\"*\")\nlunr.Query.wildcard.NONE = 0\nlunr.Query.wildcard.LEADING = 1\nlunr.Query.wildcard.TRAILING = 2\n\n/**\n * A single clause in a {@link lunr.Query} contains a term and details on how to\n * match that term against a {@link lunr.Index}.\n *\n * @typedef {Object} lunr.Query~Clause\n * @property {string[]} fields - The fields in an index this clause should be matched against.\n * @property {number} [boost=1] - Any boost that should be applied when matching this clause.\n * @property {number} [editDistance] - Whether the term should have fuzzy matching applied, and how fuzzy the match should be.\n * @property {boolean} [usePipeline] - Whether the term should be passed through the search pipeline.\n * @property {number} [wildcard=0] - Whether the term should have wildcards appended or prepended.\n */\n\n/**\n * Adds a {@link lunr.Query~Clause} to this query.\n *\n * Unless the clause contains the fields to be matched all fields will be matched. In addition\n * a default boost of 1 is applied to the clause.\n *\n * @param {lunr.Query~Clause} clause - The clause to add to this query.\n * @see lunr.Query~Clause\n * @returns {lunr.Query}\n */\nlunr.Query.prototype.clause = function (clause) {\n  if (!('fields' in clause)) {\n    clause.fields = this.allFields\n  }\n\n  if (!('boost' in clause)) {\n    clause.boost = 1\n  }\n\n  if (!('usePipeline' in clause)) {\n    clause.usePipeline = true\n  }\n\n  if (!('wildcard' in clause)) {\n    clause.wildcard = lunr.Query.wildcard.NONE\n  }\n\n  if ((clause.wildcard & lunr.Query.wildcard.LEADING) && (clause.term.charAt(0) != lunr.Query.wildcard)) {\n    clause.term = \"*\" + clause.term\n  }\n\n  if ((clause.wildcard & lunr.Query.wildcard.TRAILING) && (clause.term.slice(-1) != lunr.Query.wildcard)) {\n    clause.term = \"\" + clause.term + \"*\"\n  }\n\n  this.clauses.push(clause)\n\n  return this\n}\n\n/**\n * Adds a term to the current query, under the covers this will create a {@link lunr.Query~Clause}\n * to the list of clauses that make up this query.\n *\n * @param {string} term - The term to add to the query.\n * @param {Object} [options] - Any additional properties to add to the query clause.\n * @returns {lunr.Query}\n * @see lunr.Query#clause\n * @see lunr.Query~Clause\n * @example <caption>adding a single term to a query</caption>\n * query.term(\"foo\")\n * @example <caption>adding a single term to a query and specifying search fields, term boost and automatic trailing wildcard</caption>\n * query.term(\"foo\", {\n *   fields: [\"title\"],\n *   boost: 10,\n *   wildcard: lunr.Query.wildcard.TRAILING\n * })\n */\nlunr.Query.prototype.term = function (term, options) {\n  var clause = options || {}\n  clause.term = term\n\n  this.clause(clause)\n\n  return this\n}\nlunr.QueryParseError = function (message, start, end) {\n  this.name = \"QueryParseError\"\n  this.message = message\n  this.start = start\n  this.end = end\n}\n\nlunr.QueryParseError.prototype = new Error\nlunr.QueryLexer = function (str) {\n  this.lexemes = []\n  this.str = str\n  this.length = str.length\n  this.pos = 0\n  this.start = 0\n  this.escapeCharPositions = []\n}\n\nlunr.QueryLexer.prototype.run = function () {\n  var state = lunr.QueryLexer.lexText\n\n  while (state) {\n    state = state(this)\n  }\n}\n\nlunr.QueryLexer.prototype.sliceString = function () {\n  var subSlices = [],\n      sliceStart = this.start,\n      sliceEnd = this.pos\n\n  for (var i = 0; i < this.escapeCharPositions.length; i++) {\n    sliceEnd = this.escapeCharPositions[i]\n    subSlices.push(this.str.slice(sliceStart, sliceEnd))\n    sliceStart = sliceEnd + 1\n  }\n\n  subSlices.push(this.str.slice(sliceStart, this.pos))\n  this.escapeCharPositions.length = 0\n\n  return subSlices.join('')\n}\n\nlunr.QueryLexer.prototype.emit = function (type) {\n  this.lexemes.push({\n    type: type,\n    str: this.sliceString(),\n    start: this.start,\n    end: this.pos\n  })\n\n  this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.escapeCharacter = function () {\n  this.escapeCharPositions.push(this.pos - 1)\n  this.pos += 1\n}\n\nlunr.QueryLexer.prototype.next = function () {\n  if (this.pos >= this.length) {\n    return lunr.QueryLexer.EOS\n  }\n\n  var char = this.str.charAt(this.pos)\n  this.pos += 1\n  return char\n}\n\nlunr.QueryLexer.prototype.width = function () {\n  return this.pos - this.start\n}\n\nlunr.QueryLexer.prototype.ignore = function () {\n  if (this.start == this.pos) {\n    this.pos += 1\n  }\n\n  this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.backup = function () {\n  this.pos -= 1\n}\n\nlunr.QueryLexer.prototype.acceptDigitRun = function () {\n  var char, charCode\n\n  do {\n    char = this.next()\n    charCode = char.charCodeAt(0)\n  } while (charCode > 47 && charCode < 58)\n\n  if (char != lunr.QueryLexer.EOS) {\n    this.backup()\n  }\n}\n\nlunr.QueryLexer.prototype.more = function () {\n  return this.pos < this.length\n}\n\nlunr.QueryLexer.EOS = 'EOS'\nlunr.QueryLexer.FIELD = 'FIELD'\nlunr.QueryLexer.TERM = 'TERM'\nlunr.QueryLexer.EDIT_DISTANCE = 'EDIT_DISTANCE'\nlunr.QueryLexer.BOOST = 'BOOST'\n\nlunr.QueryLexer.lexField = function (lexer) {\n  lexer.backup()\n  lexer.emit(lunr.QueryLexer.FIELD)\n  lexer.ignore()\n  return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexTerm = function (lexer) {\n  if (lexer.width() > 1) {\n    lexer.backup()\n    lexer.emit(lunr.QueryLexer.TERM)\n  }\n\n  lexer.ignore()\n\n  if (lexer.more()) {\n    return lunr.QueryLexer.lexText\n  }\n}\n\nlunr.QueryLexer.lexEditDistance = function (lexer) {\n  lexer.ignore()\n  lexer.acceptDigitRun()\n  lexer.emit(lunr.QueryLexer.EDIT_DISTANCE)\n  return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexBoost = function (lexer) {\n  lexer.ignore()\n  lexer.acceptDigitRun()\n  lexer.emit(lunr.QueryLexer.BOOST)\n  return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexEOS = function (lexer) {\n  if (lexer.width() > 0) {\n    lexer.emit(lunr.QueryLexer.TERM)\n  }\n}\n\n// This matches the separator used when tokenising fields\n// within a document. These should match otherwise it is\n// not possible to search for some tokens within a document.\n//\n// It is possible for the user to change the separator on the\n// tokenizer so it _might_ clash with any other of the special\n// characters already used within the search string, e.g. :.\n//\n// This means that it is possible to change the separator in\n// such a way that makes some words unsearchable using a search\n// string.\nlunr.QueryLexer.termSeparator = lunr.tokenizer.separator\n\nlunr.QueryLexer.lexText = function (lexer) {\n  while (true) {\n    var char = lexer.next()\n\n    if (char == lunr.QueryLexer.EOS) {\n      return lunr.QueryLexer.lexEOS\n    }\n\n    // Escape character is '\\'\n    if (char.charCodeAt(0) == 92) {\n      lexer.escapeCharacter()\n      continue\n    }\n\n    if (char == \":\") {\n      return lunr.QueryLexer.lexField\n    }\n\n    if (char == \"~\") {\n      lexer.backup()\n      if (lexer.width() > 0) {\n        lexer.emit(lunr.QueryLexer.TERM)\n      }\n      return lunr.QueryLexer.lexEditDistance\n    }\n\n    if (char == \"^\") {\n      lexer.backup()\n      if (lexer.width() > 0) {\n        lexer.emit(lunr.QueryLexer.TERM)\n      }\n      return lunr.QueryLexer.lexBoost\n    }\n\n    if (char.match(lunr.QueryLexer.termSeparator)) {\n      return lunr.QueryLexer.lexTerm\n    }\n  }\n}\n\nlunr.QueryParser = function (str, query) {\n  this.lexer = new lunr.QueryLexer (str)\n  this.query = query\n  this.currentClause = {}\n  this.lexemeIdx = 0\n}\n\nlunr.QueryParser.prototype.parse = function () {\n  this.lexer.run()\n  this.lexemes = this.lexer.lexemes\n\n  var state = lunr.QueryParser.parseFieldOrTerm\n\n  while (state) {\n    state = state(this)\n  }\n\n  return this.query\n}\n\nlunr.QueryParser.prototype.peekLexeme = function () {\n  return this.lexemes[this.lexemeIdx]\n}\n\nlunr.QueryParser.prototype.consumeLexeme = function () {\n  var lexeme = this.peekLexeme()\n  this.lexemeIdx += 1\n  return lexeme\n}\n\nlunr.QueryParser.prototype.nextClause = function () {\n  var completedClause = this.currentClause\n  this.query.clause(completedClause)\n  this.currentClause = {}\n}\n\nlunr.QueryParser.parseFieldOrTerm = function (parser) {\n  var lexeme = parser.peekLexeme()\n\n  if (lexeme == undefined) {\n    return\n  }\n\n  switch (lexeme.type) {\n    case lunr.QueryLexer.FIELD:\n      return lunr.QueryParser.parseField\n    case lunr.QueryLexer.TERM:\n      return lunr.QueryParser.parseTerm\n    default:\n      var errorMessage = \"expected either a field or a term, found \" + lexeme.type\n\n      if (lexeme.str.length >= 1) {\n        errorMessage += \" with value '\" + lexeme.str + \"'\"\n      }\n\n      throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n  }\n}\n\nlunr.QueryParser.parseField = function (parser) {\n  var lexeme = parser.consumeLexeme()\n\n  if (lexeme == undefined) {\n    return\n  }\n\n  if (parser.query.allFields.indexOf(lexeme.str) == -1) {\n    var possibleFields = parser.query.allFields.map(function (f) { return \"'\" + f + \"'\" }).join(', '),\n        errorMessage = \"unrecognised field '\" + lexeme.str + \"', possible fields: \" + possibleFields\n\n    throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n  }\n\n  parser.currentClause.fields = [lexeme.str]\n\n  var nextLexeme = parser.peekLexeme()\n\n  if (nextLexeme == undefined) {\n    var errorMessage = \"expecting term, found nothing\"\n    throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n  }\n\n  switch (nextLexeme.type) {\n    case lunr.QueryLexer.TERM:\n      return lunr.QueryParser.parseTerm\n    default:\n      var errorMessage = \"expecting term, found '\" + nextLexeme.type + \"'\"\n      throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n  }\n}\n\nlunr.QueryParser.parseTerm = function (parser) {\n  var lexeme = parser.consumeLexeme()\n\n  if (lexeme == undefined) {\n    return\n  }\n\n  parser.currentClause.term = lexeme.str.toLowerCase()\n\n  if (lexeme.str.indexOf(\"*\") != -1) {\n    parser.currentClause.usePipeline = false\n  }\n\n  var nextLexeme = parser.peekLexeme()\n\n  if (nextLexeme == undefined) {\n    parser.nextClause()\n    return\n  }\n\n  switch (nextLexeme.type) {\n    case lunr.QueryLexer.TERM:\n      parser.nextClause()\n      return lunr.QueryParser.parseTerm\n    case lunr.QueryLexer.FIELD:\n      parser.nextClause()\n      return lunr.QueryParser.parseField\n    case lunr.QueryLexer.EDIT_DISTANCE:\n      return lunr.QueryParser.parseEditDistance\n    case lunr.QueryLexer.BOOST:\n      return lunr.QueryParser.parseBoost\n    default:\n      var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n      throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n  }\n}\n\nlunr.QueryParser.parseEditDistance = function (parser) {\n  var lexeme = parser.consumeLexeme()\n\n  if (lexeme == undefined) {\n    return\n  }\n\n  var editDistance = parseInt(lexeme.str, 10)\n\n  if (isNaN(editDistance)) {\n    var errorMessage = \"edit distance must be numeric\"\n    throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n  }\n\n  parser.currentClause.editDistance = editDistance\n\n  var nextLexeme = parser.peekLexeme()\n\n  if (nextLexeme == undefined) {\n    parser.nextClause()\n    return\n  }\n\n  switch (nextLexeme.type) {\n    case lunr.QueryLexer.TERM:\n      parser.nextClause()\n      return lunr.QueryParser.parseTerm\n    case lunr.QueryLexer.FIELD:\n      parser.nextClause()\n      return lunr.QueryParser.parseField\n    case lunr.QueryLexer.EDIT_DISTANCE:\n      return lunr.QueryParser.parseEditDistance\n    case lunr.QueryLexer.BOOST:\n      return lunr.QueryParser.parseBoost\n    default:\n      var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n      throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n  }\n}\n\nlunr.QueryParser.parseBoost = function (parser) {\n  var lexeme = parser.consumeLexeme()\n\n  if (lexeme == undefined) {\n    return\n  }\n\n  var boost = parseInt(lexeme.str, 10)\n\n  if (isNaN(boost)) {\n    var errorMessage = \"boost must be numeric\"\n    throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n  }\n\n  parser.currentClause.boost = boost\n\n  var nextLexeme = parser.peekLexeme()\n\n  if (nextLexeme == undefined) {\n    parser.nextClause()\n    return\n  }\n\n  switch (nextLexeme.type) {\n    case lunr.QueryLexer.TERM:\n      parser.nextClause()\n      return lunr.QueryParser.parseTerm\n    case lunr.QueryLexer.FIELD:\n      parser.nextClause()\n      return lunr.QueryParser.parseField\n    case lunr.QueryLexer.EDIT_DISTANCE:\n      return lunr.QueryParser.parseEditDistance\n    case lunr.QueryLexer.BOOST:\n      return lunr.QueryParser.parseBoost\n    default:\n      var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n      throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n  }\n}\n\n  /**\n   * export the module via AMD, CommonJS or as a browser global\n   * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n   */\n  ;(function (root, factory) {\n    if (typeof define === 'function' && define.amd) {\n      // AMD. Register as an anonymous module.\n      define(factory)\n    } else if (typeof exports === 'object') {\n      /**\n       * Node. Does not work with strict CommonJS, but\n       * only CommonJS-like enviroments that support module.exports,\n       * like Node.\n       */\n      module.exports = factory()\n    } else {\n      // Browser globals (root is window)\n      root.lunr = factory()\n    }\n  }(this, function () {\n    /**\n     * Just return a value to define the module export.\n     * This example returns an object, but the module\n     * can return a function as the exported value.\n     */\n    return lunr\n  }))\n})();\n"
  },
  {
    "path": "docs/docfx/styles/main.css",
    "content": ""
  },
  {
    "path": "docs/docfx/styles/main.js",
    "content": "// Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.\n"
  },
  {
    "path": "docs/docfx/styles/master.css",
    "content": "@import url('https://fonts.googleapis.com/css?family=Roboto|Muli|Fira+Mono');\n\nhtml,\nbody {\n    font-family: 'Roboto', 'Segoe UI', Tahoma, Helvetica, sans-serif;\n    font-display: optional;\n    height: 100%;\n    font-size: 15px;\n}\n\ncode{\n    font-family: 'Fira Mono', 'Courier New', Courier, monospace\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n    font-family: 'Muli', Verdana, Geneva, Tahoma, sans-serif;\n    line-height: 130%;\n}\n\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n  font-weight: 600;\n}\n\n#logo\n{\n    max-width: 100px;\n    max-height: 100px;\n    width: 38pt;\n    height: 38pt;\n    padding: 8pt;\n}\n\np,\nli,\n.toc {\n    text-rendering: optimizeLegibility;\n    line-height: 160%;\n}\n\n.toc-filter{\n    background: inherit !important;\n}\n\n.affix ul>li.active>ul, .affix ul>li.active>a:before, .affix ul>li>a:hover:before{\n    white-space: normal;\n}\n\nimg {\n    box-shadow: 0px 0px 3px 0px rgb(66, 66, 66);\n    max-width: 95% !important;\n    margin-top: 15px;\n    margin-bottom: 15px;\n}\n\n.big-logo {\n    display: block;\n    box-shadow: none !important;\n    /* Width value was taken from the original size of the combomark svg */\n    width: 951pt;\n    /* Height was arbitrarily determined */\n    min-height: 100pt;\n    max-width: 90%;\n}\n\narticle.content p{\n    -webkit-transition: all .75s ease-in-out;\n    transition: all .75s ease-in-out;\n}\n\narticle.content h1,\narticle.content h2,\narticle.content h3,\narticle.content h4,\narticle.content h5,\narticle.content h6{\n    -webkit-transition: all .25s ease-in-out;\n    transition: all .25s ease-in-out;\n}\n\n.sideaffix {\n    line-height: 140%;\n}\n\n.sideaffix > div.contribution {\n    margin-bottom: 0;\n}\n\nheader .navbar {\n    border-width: 0 0 0px;\n    border-radius: 0;\n}\n\nbody .toc {\n    background-color: inherit;\n    overflow: visible;\n}\n\nselect {\n    display: inline-block;\n    overflow: auto;\n    -webkit-box-sizing: border-box;\n    box-sizing: border-box;\n    margin: 0;\n    padding: 0 30px 0 6px;\n    vertical-align: middle;\n    height: 28px;\n    border: 1px solid #e3e3e3;\n    line-height: 16px;\n    outline: 0;\n    text-overflow: ellipsis;\n    -webkit-appearance: none;\n    -moz-appearance: none;\n    cursor: pointer;\n    background-image: linear-gradient(45deg, transparent 50%, #707070 0), linear-gradient(135deg, #707070 50%, transparent 0);\n    background-position: calc(100% - 13px) 11px, calc(100% - 8px) 11px;\n    background-size: 5px 5px, 5px 6px;\n    background-repeat: no-repeat;\n}\n\n/* \n    Following code are fetched or modified from \n    the Materialize project.\n\n    The MIT License (MIT)\n    Copyright (c) 2014-2018 Materialize\n    https://github.com/Dogfalo/materialize\n*/\n\n/* all collapse container */\n\n.collapse-container.last-modified {\n    margin: 0.5rem 0 1rem 0;\n}\n\n/* header */\n\n.collapse-container.last-modified>:nth-child(odd):focus {\n    outline: 0;\n}\n\n.collapse-container.last-modified>:nth-child(odd) {\n    display: -webkit-box;\n    display: -webkit-flex;\n    display: -ms-flexbox;\n    display: flex;\n    cursor: pointer;\n    -webkit-tap-highlight-color: transparent;\n    line-height: 1.5;\n    padding: 0.75rem;\n    background-image: none;\n    border: 0px;\n}\n\n/* body */\n\n.collapse-container.last-modified>:nth-child(even) {\n    display: none;\n    -webkit-box-sizing: border-box;\n    box-sizing: border-box;\n    padding: 1rem;\n    border: 0px;\n}\n\n/* nav bar */\n\n.nav {\n    margin: 0;\n}\n\n.nav li {\n    -webkit-transition: background-color .3s, color .3s;\n    transition: background-color .3s, color .3s;\n}\n\n.nav a {\n    -webkit-transition: background-color .3s, color .3s;\n    transition: background-color .3s, color .3s;\n    cursor: pointer;\n}\n\n/* arrow */\n\nspan.arrow-d{\n    top: 6px; position: relative;\n}\n\nspan.arrow-r{\n    top: 6px; position: relative;\n}\n\n/* widen viewport */\n\n@media (min-width: 1085px) {\n    .container {\n        width: calc(100% - 15vw);\n        max-width: calc(100% - 15vw);\n    }\n}\n\n/* fix level indentation */\n\n.level2 {\n    padding: 0 5px;\n}\n\n.level3 {\n    padding: 0 5px;\n    font-size: 90%;\n}\n\n.level4 {\n    padding: 0 5px;\n    font-size: 85%;\n}\n\n.level5 {\n    padding: 0 5px;\n    font-size: 80%;\n}\n\n.level6 {\n    padding: 0 5px;\n    font-size: 75%;\n}"
  },
  {
    "path": "docs/docfx/styles/material.css",
    "content": "body {\n    color: #34393e;\n    line-height: 1.5;\n    /*font-size: 16px;*/\n    -ms-text-size-adjust: 100%;\n    -webkit-text-size-adjust: 100%;\n    word-wrap: break-word\n}\n\n/* HEADINGS */\n\nh1 {\n    font-weight: 600;\n    font-size: 32px;\n}\n\nh2 {\n    font-weight: 600;\n    font-size: 24px;\n    line-height: 1.8;\n}\n\nh3 {\n    font-weight: 600;\n    font-size: 20px;\n    line-height: 1.8;\n}\n\nh5 {\n    font-size: 14px;\n    padding: 10px 0px;\n}\n\narticle h1,\narticle h2,\narticle h3,\narticle h4 {\n    margin-top: 35px;\n    margin-bottom: 15px;\n}\n\narticle h4 {\n    padding-bottom: 8px;\n    border-bottom: 2px solid #ddd;\n}\n\n/* NAVBAR */\n\n.navbar-brand>img {\n    color: #fff;\n}\n\n.navbar {\n    border: none;\n    /* Both navbars use box-shadow */\n    -webkit-box-shadow: 0px 1px 3px 0px rgba(100, 100, 100, 0.5);\n    -moz-box-shadow: 0px 1px 3px 0px rgba(100, 100, 100, 0.5);\n    box-shadow: 0px 1px 3px 0px rgba(100, 100, 100, 0.5);\n}\n\n.subnav {\n    border-top: 1px solid #ddd;\n    background-color: #fff;\n}\n\n.navbar-inverse {\n    background-color: #0d47a1;\n    z-index: 100;\n}\n\n.navbar-inverse .navbar-nav>li>a,\n.navbar-inverse .navbar-text {\n    color: #fff;\n    /*background-color: #0d47a1;*/\n    border-bottom: 3px solid transparent;\n    padding-bottom: 12px;\n}\n\n.navbar-inverse .navbar-nav>li>a:focus,\n.navbar-inverse .navbar-nav>li>a:hover {\n    color: #fff;\n    background-color: #1157c0;\n    border-bottom: 3px solid white;\n}\n\n.navbar-inverse .navbar-nav>.active>a,\n.navbar-inverse .navbar-nav>.active>a:focus,\n.navbar-inverse .navbar-nav>.active>a:hover {\n    color: #fff;\n    background-color: #1157c0;\n    border-bottom: 3px solid white;\n}\n\n.navbar-form .form-control {\n    border: none;\n    border-radius: 20px;\n}\n\n/* SIDEBAR */\n\n/*.toc .level1>li {\n    font-weight: 400;\n}*/\n\n.toc .nav>li>a {\n    color: #34393e;\n}\n\n.sidefilter {\n    background-color: #fff;\n    border-left: none;\n    border-right: none;\n}\n\n.sidefilter {\n    background-color: #fff;\n    border-left: none;\n    border-right: none;\n}\n\n.toc-filter {\n    padding: 10px;\n    margin: 0;\n}\n\n.toc-filter>input {\n    border: 2px solid #ddd;\n    border-radius: 20px;\n}\n\n.toc-filter>.filter-icon {\n    display: none;\n}\n\n.sidetoc>.toc {\n    overflow-x: hidden;\n}\n\n.sidetoc {\n    border: none;\n}\n\n/* ALERTS */\n\n.alert {\n    padding: 0px 0px 5px 0px;\n    color: inherit;\n    background-color: inherit;\n    border: none;\n    box-shadow: 0px 2px 2px 0px rgba(100, 100, 100, 0.4);\n}\n\n.alert>p {\n    margin-bottom: 0;\n    padding: 5px 10px;\n}\n\n.alert>ul {\n    margin-bottom: 0;\n    padding: 5px 40px;\n}\n\n.alert>h5 {\n    padding: 10px 15px;\n    margin-top: 0;\n    text-transform: uppercase;\n    font-weight: bold;\n    border-radius: 4px 4px 0 0;\n}\n\n.alert-info>h5 {\n    color: #1976d2;\n    border-bottom: 4px solid #1976d2;\n    background-color: #e3f2fd;\n}\n\n.alert-warning>h5 {\n    color: #f57f17;\n    border-bottom: 4px solid #f57f17;\n    background-color: #fff3e0;\n}\n\n.alert-danger>h5 {\n    color: #d32f2f;\n    border-bottom: 4px solid #d32f2f;\n    background-color: #ffebee;\n}\n\n/* CODE HIGHLIGHT */\npre {\n\tpadding: 9.5px;\n\tmargin: 10px 10px 10px;\n\tfont-size: 13px;\n\tword-break: break-all;\n\tword-wrap: break-word;\n\t/*background-color: #fffaef;*/\n\tborder-radius: 4px;\n\tbox-shadow: 0px 1px 4px 1px rgba(100, 100, 100, 0.4);\n}\n"
  },
  {
    "path": "docs/docfx/styles/search-worker.js",
    "content": "(function () {\n  importScripts('lunr.min.js');\n\n  var lunrIndex;\n\n  var stopWords = null;\n  var searchData = {};\n\n  lunr.tokenizer.separator = /[\\s\\-\\.\\(\\)]+/;\n\n  var stopWordsRequest = new XMLHttpRequest();\n  stopWordsRequest.open('GET', '../search-stopwords.json');\n  stopWordsRequest.onload = function () {\n    if (this.status != 200) {\n      return;\n    }\n    stopWords = JSON.parse(this.responseText);\n    buildIndex();\n  }\n  stopWordsRequest.send();\n\n  var searchDataRequest = new XMLHttpRequest();\n\n  searchDataRequest.open('GET', '../index.json');\n  searchDataRequest.onload = function () {\n    if (this.status != 200) {\n      return;\n    }\n    searchData = JSON.parse(this.responseText);\n\n    buildIndex();\n\n    postMessage({ e: 'index-ready' });\n  }\n  searchDataRequest.send();\n\n  onmessage = function (oEvent) {\n    var q = oEvent.data.q;\n    var hits = lunrIndex.search(q);\n    var results = [];\n    hits.forEach(function (hit) {\n      var item = searchData[hit.ref];\n      results.push({ 'href': item.href, 'title': item.title, 'keywords': item.keywords });\n    });\n    postMessage({ e: 'query-ready', q: q, d: results });\n  }\n\n  function buildIndex() {\n    if (stopWords !== null && !isEmpty(searchData)) {\n      lunrIndex = lunr(function () {\n        this.pipeline.remove(lunr.stopWordFilter);\n        this.ref('href');\n        this.field('title', { boost: 50 });\n        this.field('keywords', { boost: 20 });\n\n        for (var prop in searchData) {\n          if (searchData.hasOwnProperty(prop)) {\n            this.add(searchData[prop]);\n          }\n        }\n\n        var docfxStopWordFilter = lunr.generateStopWordFilter(stopWords);\n        lunr.Pipeline.registerFunction(docfxStopWordFilter, 'docfxStopWordFilter');\n        this.pipeline.add(docfxStopWordFilter);\n        this.searchPipeline.add(docfxStopWordFilter);\n      });\n    }\n  }\n\n  function isEmpty(obj) {\n    if(!obj) return true;\n\n    for (var prop in obj) {\n      if (obj.hasOwnProperty(prop))\n        return false;\n    }\n\n    return true;\n  }\n})();\n"
  },
  {
    "path": "docs/docfx/styles/styleswitcher.js",
    "content": "const baseUrl = document.getElementById(\"docfx-style:rel\").content;\n\nfunction onThemeSelect(event) {\n    const theme = event.target.value;\n    window.localStorage.setItem(\"theme\", theme);\n    window.themeElement.href = getUrl(theme);\n}\n\nfunction getUrl(slug) {\n    return baseUrl + \"styles/\" + slug + \".css\";\n}\n\nconst themeElement = document.createElement(\"link\");\nthemeElement.rel = \"stylesheet\";\n\nconst theme = window.localStorage.getItem(\"theme\") || \"light\";\nthemeElement.href = getUrl(theme);\n\ndocument.head.appendChild(themeElement);\nwindow.themeElement = themeElement;\n\ndocument.addEventListener(\"DOMContentLoaded\", function() {\n    const themeSwitcher = document.getElementById(\"theme-switcher\");\n    themeSwitcher.onchange = onThemeSelect;\n    themeSwitcher.value = theme;\n}, false);\n"
  },
  {
    "path": "docs/docfx/styles/theme-switcher.css",
    "content": "div.theme-switch-field {\n    padding-left: 10px;\n    padding-bottom: 15px\n}\n\ndiv.theme-switch-field > p{\n    font-weight: bold;\n    font-size: 1.2em;\n}"
  },
  {
    "path": "docs/docfx/styles/tomorrow.css",
    "content": "/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */\n\n/* Tomorrow Comment */\n.hljs-comment,\n.hljs-quote {\n  color: #8e908c;\n}\n\n/* Tomorrow Red */\n.hljs-variable,\n.hljs-template-variable,\n.hljs-tag,\n.hljs-name,\n.hljs-selector-id,\n.hljs-selector-class,\n.hljs-regexp,\n.hljs-deletion {\n  color: #c82829;\n}\n\n/* Tomorrow Orange */\n.hljs-number,\n.hljs-built_in,\n.hljs-builtin-name,\n.hljs-literal,\n.hljs-type,\n.hljs-params,\n.hljs-meta,\n.hljs-link {\n  color: #f5871f;\n}\n\n/* Tomorrow Yellow */\n.hljs-attribute {\n  color: #eab700;\n}\n\n/* Tomorrow Green */\n.hljs-string,\n.hljs-symbol,\n.hljs-bullet,\n.hljs-addition {\n  color: #718c00;\n}\n\n/* Tomorrow Blue */\n.hljs-title,\n.hljs-section {\n  color: #4271ae;\n}\n\n/* Tomorrow Purple */\n.hljs-keyword,\n.hljs-selector-tag {\n  color: #8959a8;\n}\n\n.hljs {\n  display: block;\n  overflow-x: auto;\n  background: white;\n  color: #4d4d4c;\n  padding: 0.5em;\n}\n\n.hljs-emphasis {\n  font-style: italic;\n}\n\n.hljs-strong {\n  font-weight: bold;\n}\n"
  },
  {
    "path": "docs/docfx/styles/vs2015.css",
    "content": "/*\n * Visual Studio 2015 dark style\n * Author: Nicolas LLOBERA <nllobera@gmail.com>\n */\n\n.hljs {\n  display: block;\n  overflow-x: auto;\n  padding: 0.5em;\n  background: #282a36;\n  color: #DCDCDC;\n}\n\n.hljs-keyword,\n.hljs-literal,\n.hljs-symbol,\n.hljs-name {\n  color: #569CD6;\n}\n.hljs-link {\n  color: #569CD6;\n  text-decoration: underline;\n}\n\n.hljs-built_in,\n.hljs-type {\n  color: #4EC9B0;\n}\n\n.hljs-number,\n.hljs-class {\n  color: #B8D7A3;\n}\n\n.hljs-string,\n.hljs-meta-string {\n  color: #D69D85;\n}\n\n.hljs-regexp,\n.hljs-template-tag {\n  color: #9A5334;\n}\n\n.hljs-subst,\n.hljs-function,\n.hljs-title,\n.hljs-params,\n.hljs-formula {\n  color: #DCDCDC;\n}\n\n.hljs-comment,\n.hljs-quote {\n  color: #57A64A;\n  font-style: italic;\n}\n\n.hljs-doctag {\n  color: #608B4E;\n}\n\n.hljs-meta,\n.hljs-meta-keyword,\n.hljs-tag {\n  color: #9B9B9B;\n}\n\n.hljs-variable,\n.hljs-template-variable {\n  color: #BD63C5;\n}\n\n.hljs-attr,\n.hljs-attribute,\n.hljs-builtin-name {\n  color: #9CDCFE;\n}\n\n.hljs-section {\n  color: gold;\n}\n\n.hljs-emphasis {\n  font-style: italic;\n}\n\n.hljs-strong {\n  font-weight: bold;\n}\n\n/*.hljs-code {\n  font-family:'Monospace';\n}*/\n\n.hljs-bullet,\n.hljs-selector-tag,\n.hljs-selector-id,\n.hljs-selector-class,\n.hljs-selector-attr,\n.hljs-selector-pseudo {\n  color: #D7BA7D;\n}\n\n.hljs-addition {\n  background-color: #144212;\n  display: inline-block;\n  width: 100%;\n}\n\n.hljs-deletion {\n  background-color: #600;\n  display: inline-block;\n  width: 100%;\n}\n"
  },
  {
    "path": "docs/docfx/templates/light-dark-theme/README.md",
    "content": "# Credits\n\nThis theme was copied from [Discord.Net](https://github.com/discord-net/Discord.Net/tree/dev/docs/_template). For any license information, view their respective license."
  },
  {
    "path": "docs/docfx/templates/light-dark-theme/discord.net-license.md",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2015-2019 Discord.Net Contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "docs/docfx/templates/light-dark-theme/docfx-material-license.md",
    "content": "MIT License\n\nCopyright (c) 2019 Oscar Vásquez\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "docs/docfx/templates/light-dark-theme/partials/affix.tmpl.partial",
    "content": "{{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}}\n\n<div class=\"hidden-sm col-md-2\" role=\"complementary\">\n  <div class=\"sideaffix\">\n    <div class=\"theme-switch-field\">\n      <p>Theme</p>\n      <select id=\"theme-switcher\">\n        <option value=\"dark\">Dark</option>\n        <option value=\"gray\">Gray</option>\n        <option value=\"light\">Light</option>\n      </select>\n    </div>\n    {{^_disableContribution}}\n    <div class=\"contribution\">\n      <ul class=\"nav\">\n        {{#docurl}}\n        <li>\n          <a href=\"{{docurl}}\" class=\"contribution-link\">{{__global.improveThisDoc}}</a>\n        </li>\n        {{/docurl}}\n        {{#sourceurl}}\n        <li>\n          <a href=\"{{sourceurl}}\" class=\"contribution-link\">{{__global.viewSource}}</a>\n        </li>\n        {{/sourceurl}}\n      </ul>\n    </div>\n    {{/_disableContribution}}\n    <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n    <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n    </nav>\n  </div>\n</div>\n"
  },
  {
    "path": "docs/docfx/templates/light-dark-theme/partials/head.tmpl.partial",
    "content": "{{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}}\n\n<head>\n  <meta charset=\"utf-8\">\n  <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n  <title>{{#title}}{{title}}{{/title}}{{^title}}{{>partials/title}}{{/title}} {{#_appTitle}}| {{_appTitle}} {{/_appTitle}}</title>\n  <meta name=\"viewport\" content=\"width=device-width\">\n  <meta property=\"og:title\" content=\"{{#title}}{{title}}{{/title}}{{^title}}{{>partials/title}}{{/title}} {{#_appTitle}}| {{_appTitle}} {{/_appTitle}}\">\n  {{#_description}}<meta property=\"og:description\" content=\"{{_description}}\">{{/_description}}\n  <meta property=\"og:locale\" content=\"en-us\">\n  <meta property=\"og:type\" content=\"website\">\n  <meta property=\"og:site_name\" content=\"Venflow Docs\">\n  <meta property=\"og:image\" content=\"\">\n  <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n  <meta name=\"theme-color\" content=\"#995EA7\"/>\n  <meta name=\"generator\" content=\"docfx {{_docfxVersion}}\">\n  <meta property=\"docfx:navrel\" content=\"{{_navRel}}\">\n  <meta property=\"docfx:tocrel\" content=\"{{_tocRel}}\">\n  <meta id=\"docfx-style:rel\" content=\"{{_rel}}\">\n  <link rel=\"preload\" href=\"{{_rel}}styles/search-worker.js\" as=\"script\">\n  <link rel=\"preload\" href=\"{{_rel}}fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n  <link rel=\"shortcut icon\" href=\"{{_rel}}{{{_appFaviconPath}}}{{^_appFaviconPath}}favicon.ico{{/_appFaviconPath}}\">\n  <link rel=\"stylesheet\" href=\"{{_rel}}styles/docfx.vendor.minify.css\">\n  <link rel=\"stylesheet\" href=\"{{_rel}}styles/docfx.css\">\n  <link rel=\"stylesheet\" href=\"{{_rel}}styles/master.css\">\n  <link rel=\"stylesheet\" href=\"{{_rel}}styles/main.css\">\n  <link rel=\"stylesheet\" href=\"{{_rel}}styles/material.css\">\n  <link rel=\"stylesheet\" href=\"{{_rel}}styles/theme-switcher.css\">\n  <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\" />\n  {{#_noindex}}<meta name=\"searchOption\" content=\"noindex\">{{/_noindex}}\n  {{#_enableSearch}}<meta property=\"docfx:rel\" content=\"{{_rel}}\">{{/_enableSearch}}\n  {{#_enableNewTab}}<meta property=\"docfx:newtab\" content=\"true\">{{/_enableNewTab}}\n</head>\n"
  },
  {
    "path": "docs/docfx/templates/light-dark-theme/partials/scripts.tmpl.partial",
    "content": "{{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.}}\n\n<script type=\"text/javascript\" src=\"{{_rel}}styles/docfx.vendor.js\"></script>\n<script type=\"text/javascript\" src=\"{{_rel}}styles/docfx.js\"></script>\n<script type=\"text/javascript\" src=\"{{_rel}}styles/main.js\"></script>\n<script type=\"text/javascript\" src=\"{{_rel}}styles/styleswitcher.js\"></script>"
  },
  {
    "path": "docs/docfx/templates/light-dark-theme/styles/dark.css",
    "content": "/* Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information. */\n\n@import url('vs2015.css');\nhtml,\nbody {\n    background: #212121;\n    color: #C0C0C0;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n    color: #E0E0E0;\n}\n\nbutton,\na {\n    color: #64B5F6;\n}\n\n.sidenav{\n  background-color: rgb(30, 30, 30);\n}\n\nbutton:hover,\nbutton:focus,\na:hover,\na:focus,\n.btn:focus,\n.btn:hover{\n    color: #2196F3;\n}\n\na.disable,\na.disable:hover {\n    color: #EEEEEE;\n}\n\n.divider {\n    color: #37474F;\n}\n\nhr {\n    border-color: #37474F;\n}\n\n.subnav {\n    background: #383838\n}\n\n.inheritance h5,\n.inheritedMembers h5 {\n    border-bottom: 1px solid #37474F;\n}\n\narticle h4 {\n    border-bottom: 1px solid #37474F;\n}\n\n.docs-search {\n    background: #424242;\n}\n\n.search-results-group-heading {\n    color: #424242;\n}\n\n.search-close {\n    color: #424242;\n}\n\n.sidetoc {\n    background-color: #1b1b1b;\n    border-left: 0px solid #37474F;\n    border-right: 0px solid #37474F;\n}\n\n.sideaffix {\n    overflow: visible;\n}\n\n.sideaffix>div.contribution>ul>li>a.contribution-link:hover {\n    background-color: #333333;\n}\n\n/* toc */\n\n.toc .nav>li>a {\n    color: rgb(218, 218, 218);\n}\n\n.toc .nav>li>a:hover,\n.toc .nav>li>a:focus {\n    color: #E0E0E0;\n}\n\n.toc .nav>li.active>a {\n    color: #90CAF9;\n}\n\n.toc .nav>li.active>a:hover,\n.toc .nav>li.active>a:focus {\n    background-color: #37474F;\n    color: #4FC3F7;\n}\n\n.sidefilter {\n    background-color: #1b1b1b;\n    border-left: 0px solid #37474F;\n    border-right: 0px solid #37474F;\n}\n\n.affix ul>li>a:hover {\n    background: none;\n    color: #EEEEEE;\n}\n\n.affix ul>li.active>a,\n.affix ul>li.active>a:before {\n    color: #B3E5FC;\n}\n\n.affix ul>li>a {\n    color: #EEEEEE;\n}\n\n.affix>ul>li.active>a,\n.affix>ul>li.active>a:before {\n    color: #B3E5FC;\n}\n\n.tryspan {\n    border-color: #37474F;\n}\n\n.footer {\n    border-top: 1px solid #5F5F5F;\n    background: #616161;\n}\n\n/* alert */\n.alert-info {\n    color: #d9edf7;\n    background: #004458;\n    border-color: #005873;\n}\n\n.alert-warning {\n    color: #fffaf2;\n    background: #80551a;\n    border-color: #99661f;\n}\n\n.alert-danger {\n    color: #fff2f2;\n    background: #4d0000;\n    border-color: #660000;\n}\n\n/* For tabbed content */\n\n.tabGroup {\n    margin-top: 1rem;\n}\n\n.tabGroup ul[role=\"tablist\"] {\n    margin: 0;\n    padding: 0;\n    list-style: none;\n}\n\n.tabGroup ul[role=\"tablist\"]>li {\n    list-style: none;\n    display: inline-block;\n}\n\n.tabGroup a[role=\"tab\"] {\n    color: white;\n    box-sizing: border-box;\n    display: inline-block;\n    padding: 5px 7.5px;\n    text-decoration: none;\n    border-bottom: 2px solid #fff;\n}\n\n.tabGroup a[role=\"tab\"]:hover,\n.tabGroup a[role=\"tab\"]:focus,\n.tabGroup a[role=\"tab\"][aria-selected=\"true\"] {\n    border-bottom: 2px solid #607D8B;\n}\n\n.tabGroup a[role=\"tab\"][aria-selected=\"true\"] {\n    color: #81D4FA;\n}\n\n.tabGroup a[role=\"tab\"]:hover,\n.tabGroup a[role=\"tab\"]:focus {\n    color: #29B6F6;\n}\n\n.tabGroup a[role=\"tab\"]:focus {\n    outline: 1px solid #607D8B;\n    outline-offset: -1px;\n}\n\n@media (min-width: 768px) {\n    .tabGroup a[role=\"tab\"] {\n        padding: 5px 15px;\n    }\n}\n\n.tabGroup section[role=\"tabpanel\"] {\n    border: 1px solid #607D8B;\n    padding: 15px;\n    margin: 0;\n    overflow: hidden;\n}\n\n.tabGroup section[role=\"tabpanel\"]>.codeHeader,\n.tabGroup section[role=\"tabpanel\"]>pre {\n    margin-left: -16px;\n    margin-right: -16px;\n}\n\n.tabGroup section[role=\"tabpanel\"]> :first-child {\n    margin-top: 0;\n}\n\n.tabGroup section[role=\"tabpanel\"]>pre:last-child {\n    display: block;\n    margin-bottom: -16px;\n}\n\n.mainContainer[dir='rtl'] main ul[role=\"tablist\"] {\n    margin: 0;\n}\n\n/* code */\n\ncode {\n    color: white;\n    background-color: #4a4c52;\n    border-radius: 4px;\n    padding: 3px 7px;\n}\n\npre {\n    background-color: #282a36;\n}\n\n/* table */\n\n.table-striped>tbody>tr:nth-of-type(odd) {\n    background-color: #333333;\n    color: #d3d3d3\n}\n\ntbody>tr {\n    background-color: #424242;\n    color: #c0c0c0\n}\n\n.table>tbody+tbody {\n    border-top: 2px solid rgb(173, 173, 173)\n}\n\n/* top navbar */\n.navbar-inverse[role=\"navigation\"] {\n    background-color: #2C2F33;\n}\n\n/* select */\n\nselect {\n    background-color: #3b3b3b;\n    border-color: #2e2e2e;\n}\n\n/* \n    Following code regarding collapse container are fetched \n    or modified from the Materialize project.\n\n    The MIT License (MIT)\n    Copyright (c) 2014-2018 Materialize\n    https://github.com/Dogfalo/materialize\n*/\n\n/* all collapse container */\n.collapse-container.last-modified {\n    -webkit-box-shadow: 0 2px 2px 0 rgba(50, 50, 50, 0.64), 0 3px 1px -2px rgba(50, 50, 50, 0.62), 0 1px 5px 0 rgba(50, 50, 50, 0.7);\n    box-shadow: 0 2px 2px 0 rgba(50, 50, 50, 0.64), 0 3px 1px -2px rgba(50, 50, 50, 0.62), 0 1px 5px 0 rgba(50, 50, 50, 0.7);\n    border-top: 1px solid rgba(96, 96, 96, 0.7);\n    border-right: 1px solid rgba(96, 96, 96, 0.7);\n    border-left: 1px solid rgba(96, 96, 96, 0.7);\n}\n\n/* header */\n.collapse-container.last-modified>:nth-child(odd) {\n    background-color: #3f3f3f;\n    border-bottom: 1px solid rgba(96, 96, 96, 0.7);\n}\n\n/* body */\n.collapse-container.last-modified>:nth-child(even) {\n    border-bottom: 1px solid rgba(96, 96, 96, 0.7);\n    background-color: inherit;\n}\n\nspan.arrow-d{\n    border-top: 5px solid white\n}\n\nspan.arrow-r{\n    border-left: 5px solid white\n}\n\n.logo-switcher {\n    background: url(\"../marketing/logo/SVG/Combinationmark White.svg\") no-repeat;\n}\n"
  },
  {
    "path": "docs/docfx/templates/light-dark-theme/styles/docfx.vendor.minify.css",
    "content": "@font-face {\n    font-family: 'Glyphicons Halflings';\n    font-display: fallback;\n    src: url(../fonts/glyphicons-halflings-regular.eot);\n    src: url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'), url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'), url(../fonts/glyphicons-halflings-regular.woff) format('woff'), url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'), url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')\n}\n\nbody {\n    margin: 0;\n}\n\nhtml {\n    font-family: sans-serif;\n    -webkit-text-size-adjust: 100%;\n    -ms-text-size-adjust: 100%;\n}\n\narticle,\nfooter,\nheader,\nnav {\n    display: block;\n}\n\na {\n    background-color: transparent;\n}\n\na:active,\na:hover {\n    outline: 0;\n}\n\nstrong {\n    font-weight: 700;\n}\n\nh1 {\n    margin: .67em 0;\n}\n\nsvg:not(:root) {\n    overflow: hidden;\n}\n\npre {\n    overflow: auto;\n}\n\ncode,\npre {\n    font-size: 1em;\n}\n\nbutton,\ninput,\nselect {\n    margin: 0;\n    font: inherit;\n    color: inherit;\n}\n\n.glyphicon {\n    font-style: normal;\n}\n\nbutton {\n    overflow: visible;\n}\n\nbutton,\nselect {\n    text-transform: none;\n}\n\nbutton {\n    -webkit-appearance: button;\n    cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n    padding: 0;\n    border: 0;\n}\n\ntable {\n    border-spacing: 0;\n    border-collapse: collapse;\n}\n\ntd,\nth {\n    padding: 0;\n}\n\n@media print {\n\n    pre,\n    tr {\n        page-break-inside: avoid;\n    }\n\n    *,\n    :after,\n    :before {\n        color: #000 !important;\n        text-shadow: none !important;\n        background: 0 0 !important;\n        -webkit-box-shadow: none !important;\n        box-shadow: none !important;\n    }\n\n    a,\n    a:visited {\n        text-decoration: underline;\n    }\n\n    a[href]:after {\n        content: \" (\"attr(href) \")\";\n    }\n\n    a[href^=\"#\"]:after {\n        content: \"\";\n    }\n\n    pre {\n        border: 1px solid #999;\n    }\n\n    thead {\n        display: table-header-group;\n    }\n\n    h3,\n    p {\n        orphans: 3;\n        widows: 3;\n    }\n\n    h3 {\n        page-break-after: avoid;\n    }\n\n    .navbar {\n        display: none;\n    }\n\n    .table {\n        border-collapse: collapse !important;\n    }\n\n    .table td,\n    .table th {\n        background-color: #fff !important;\n    }\n\n    .table-bordered td,\n    .table-bordered th {\n        border: 1px solid #ddd !important;\n    }\n}\n\n.collapsing,\n.dropdown,\n.dropup {\n    position: relative\n}\n\n.collapsing {\n    height: 0;\n    overflow: hidden;\n    -webkit-transition-timing-function: ease;\n    -o-transition-timing-function: ease;\n    transition-timing-function: ease;\n    -webkit-transition-duration: .35s;\n    -o-transition-duration: .35s;\n    transition-duration: .35s;\n    -webkit-transition-property: height, visibility;\n    -o-transition-property: height, visibility;\n    transition-property: height, visibility\n}\n\n.btn,\n.btn:active,\n.form-control,\n.navbar-toggle {\n    background-image: none;\n}\n\nbody {\n    background-color: #fff;\n}\n\n.glyphicon {\n    position: relative;\n    top: 1px;\n    display: inline-block;\n    font-family: 'Glyphicons Halflings';\n    font-weight: 400;\n    line-height: 1;\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n}\n\n.glyphicon-refresh:before {\n    content: \"\\e031\";\n}\n\n.glyphicon-filter:before {\n    content: \"\\e138\";\n}\n\n*,\n:after,\n:before {\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n}\n\nhtml {\n    font-size: 10px;\n    -webkit-tap-highlight-color: transparent;\n}\n\nbody {\n    font-size: 14px;\n    line-height: 1.42857143;\n    color: #333;\n}\n\nbutton,\ninput,\nselect {\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n}\n\na {\n    color: #337ab7;\n    text-decoration: none;\n}\n\na:focus,\na:hover {\n    color: #23527c;\n    text-decoration: underline;\n}\n\na:focus {\n    outline: -webkit-focus-ring-color auto 5px;\n    outline-offset: -2px;\n}\n\n.sr-only {\n    position: absolute;\n    width: 1px;\n    height: 1px;\n    padding: 0;\n    margin: -1px;\n    overflow: hidden;\n    clip: rect(0, 0, 0, 0);\n    border: 0;\n}\n\nh1,\nh3,\nh4,\nh5,\nh6 {\n    font-family: inherit;\n    font-weight: 500;\n    line-height: 1.1;\n    color: inherit;\n}\n\nh1,\nh3 {\n    margin-top: 20px;\n    margin-bottom: 10px;\n}\n\nh4,\nh5,\nh6 {\n    margin-top: 10px;\n    margin-bottom: 10px;\n}\n\nh1 {\n    font-size: 36px;\n}\n\nh3 {\n    font-size: 24px;\n}\n\nh4 {\n    font-size: 18px;\n}\n\nh5 {\n    font-size: 14px;\n}\n\nh6 {\n    font-size: 12px;\n}\n\np {\n    margin: 0 0 10px;\n}\n\npre {\n    line-height: 1.42857143;\n}\n\n.small {\n    font-size: 85%;\n}\n\npre code,\ntable {\n    background-color: transparent;\n}\n\nul {\n    margin-top: 0;\n}\n\nul ul {\n    margin-bottom: 0;\n}\n\nul {\n    margin-bottom: 10px;\n}\n\n@media (min-width:768px) {\n    .container {\n        width: 750px;\n    }\n}\n\ncode {\n    padding: 2px 4px;\n    font-size: 90%;\n}\n\nth {\n    text-align: left;\n}\n\npre {\n    display: block;\n    padding: 9.5px;\n    margin: 0 0 10px;\n    font-size: 13px;\n    word-break: break-all;\n    word-wrap: break-word;\n    color: #333;\n    border-radius: 4px;\n}\n\n.container {\n    margin-right: auto;\n    margin-left: auto;\n}\n\npre code {\n    padding: 0;\n    font-size: inherit;\n    color: inherit;\n    white-space: pre-wrap;\n    border-radius: 0;\n}\n\n.container {\n    padding-right: 15px;\n    padding-left: 15px;\n}\n\n@media (min-width:992px) {\n    .container {\n        width: 970px;\n    }\n}\n\n@media (min-width:1200px) {\n    .container {\n        width: 1170px;\n    }\n}\n\n.row {\n    margin-right: -15px;\n    margin-left: -15px;\n}\n\n.col-md-10,\n.col-md-2 {\n    position: relative;\n    min-height: 1px;\n    padding-right: 15px;\n    padding-left: 15px;\n}\n\n@media (min-width:992px) {\n\n    .col-md-10,\n    .col-md-2 {\n        float: left;\n    }\n\n    .col-md-10 {\n        width: 83.33333333%;\n    }\n\n    .col-md-2 {\n        width: 16.66666667%;\n    }\n}\n\n.table {\n    width: 100%;\n    max-width: 100%;\n    margin-bottom: 20px;\n}\n\n.table>tbody>tr>td,\n.table>thead>tr>th {\n    padding: 8px;\n    line-height: 1.42857143;\n    vertical-align: top;\n    border-top: 1px solid #ddd;\n}\n\n.table>thead>tr>th {\n    vertical-align: bottom;\n    border-bottom: 2px solid #ddd;\n}\n\n.table>thead:first-child>tr:first-child>th {\n    border-top: 0;\n}\n\n.table-condensed>tbody>tr>td,\n.table-condensed>thead>tr>th {\n    padding: 5px;\n}\n\n.table-bordered,\n.table-bordered>tbody>tr>td,\n.table-bordered>thead>tr>th {\n    border: 1px solid #ddd;\n}\n\n.table-bordered>thead>tr>th {\n    border-bottom-width: 2px;\n}\n\n.table-striped>tbody>tr:nth-of-type(odd) {\n    background-color: #f9f9f9;\n}\n\n.table-responsive {\n    min-height: .01%;\n    overflow-x: auto;\n}\n\n@media screen and (max-width:767px) {\n    .table-responsive {\n        width: 100%;\n        margin-bottom: 15px;\n        overflow-y: hidden;\n        -ms-overflow-style: -ms-autohiding-scrollbar;\n        border: 1px solid #ddd;\n    }\n\n    .table-responsive>.table {\n        margin-bottom: 0;\n    }\n\n    .table-responsive>.table>tbody>tr>td,\n    .table-responsive>.table>thead>tr>th {\n        white-space: nowrap;\n    }\n\n    .table-responsive>.table-bordered {\n        border: 0;\n    }\n\n    .table-responsive>.table-bordered>tbody>tr>td:first-child,\n    .table-responsive>.table-bordered>thead>tr>th:first-child {\n        border-left: 0;\n    }\n\n    .table-responsive>.table-bordered>tbody>tr>td:last-child,\n    .table-responsive>.table-bordered>thead>tr>th:last-child {\n        border-right: 0;\n    }\n\n    .table-responsive>.table-bordered>tbody>tr:last-child>td {\n        border-bottom: 0;\n    }\n}\n\n.form-control {\n    font-size: 14px;\n    line-height: 1.42857143;\n    color: #555;\n    display: block;\n}\n\n.form-control {\n    width: 100%;\n    height: 34px;\n    padding: 6px 12px;\n    background-color: #fff;\n    border: 1px solid #ccc;\n    border-radius: 4px;\n    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n\n.form-control:focus {\n    border-color: #66afe9;\n    outline: 0;\n    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);\n    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);\n}\n\n.form-control::-moz-placeholder {\n    color: #999;\n    opacity: 1;\n}\n\n.form-control:-ms-input-placeholder {\n    color: #999;\n}\n\n.form-control::-webkit-input-placeholder {\n    color: #999;\n}\n\n.form-control::-ms-expand {\n    background-color: transparent;\n    border: 0;\n}\n\n.form-group {\n    margin-bottom: 15px;\n}\n\n.btn {\n    display: inline-block;\n    padding: 6px 12px;\n    margin-bottom: 0;\n    font-size: 14px;\n    font-weight: 400;\n    line-height: 1.42857143;\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: middle;\n    -ms-touch-action: manipulation;\n    touch-action: manipulation;\n    cursor: pointer;\n    -webkit-user-select: none;\n    -moz-user-select: none;\n    -ms-user-select: none;\n    user-select: none;\n    border: 1px solid transparent;\n    border-radius: 4px;\n}\n\n.btn:active:focus,\n.btn:focus {\n    outline: -webkit-focus-ring-color auto 5px;\n    outline-offset: -2px;\n}\n\n.btn:focus,\n.btn:hover {\n    color: #333;\n    text-decoration: none;\n}\n\n.btn:active {\n    outline: 0;\n    -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n    box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n}\n\n.collapse {\n    display: none\n}\n\n.collapse.in {\n    display: block\n}\n\n.nav>li,\n.nav>li>a {\n    display: block;\n    position: relative;\n}\n\n.nav {\n    padding-left: 0;\n    margin-bottom: 0;\n    list-style: none;\n}\n\n.nav>li>a {\n    padding: 10px 15px;\n}\n\n.nav>li>a:focus,\n.nav>li>a:hover {\n    text-decoration: none;\n    background-color: #eee;\n}\n\n.navbar {\n    position: relative;\n    min-height: 50px;\n    margin-bottom: 20px;\n    border: 1px solid transparent;\n}\n\n.navbar-collapse {\n    padding-right: 15px;\n    padding-left: 15px;\n    overflow-x: visible;\n    -webkit-overflow-scrolling: touch;\n    border-top: 1px solid transparent;\n    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n}\n\n@media (min-width:768px) {\n    .navbar {\n        border-radius: 4px;\n    }\n\n    .navbar-header {\n        float: left;\n    }\n\n    .navbar-collapse {\n        width: auto;\n        border-top: 0;\n        -webkit-box-shadow: none;\n        box-shadow: none;\n    }\n\n    .navbar-collapse.collapse {\n        display: block !important;\n        height: auto !important;\n        padding-bottom: 0;\n        overflow: visible !important;\n    }\n}\n\n.container>.navbar-collapse,\n.container>.navbar-header {\n    margin-right: -15px;\n    margin-left: -15px;\n}\n\n.navbar-brand {\n    float: left;\n    height: 50px;\n    padding: 15px;\n    font-size: 18px;\n    line-height: 20px;\n}\n\n.navbar-brand:focus,\n.navbar-brand:hover {\n    text-decoration: none;\n}\n\n@media (min-width:768px) {\n\n    .container>.navbar-collapse,\n    .container>.navbar-header {\n        margin-right: 0;\n        margin-left: 0;\n    }\n\n    .navbar>.container .navbar-brand {\n        margin-left: -15px;\n    }\n}\n\n.navbar-toggle {\n    position: relative;\n    float: right;\n    padding: 9px 10px;\n    margin-top: 8px;\n    margin-right: 15px;\n    margin-bottom: 8px;\n    background-color: transparent;\n    border: 1px solid transparent;\n    border-radius: 4px;\n}\n\n.navbar-toggle:focus {\n    outline: 0;\n}\n\n.navbar-toggle .icon-bar {\n    display: block;\n    width: 22px;\n    height: 2px;\n    border-radius: 1px;\n}\n\n.navbar-toggle .icon-bar+.icon-bar {\n    margin-top: 4px;\n}\n\n.navbar-nav {\n    margin: 7.5px -15px;\n}\n\n.navbar-nav>li>a {\n    padding-top: 10px;\n    padding-bottom: 10px;\n    line-height: 20px;\n}\n\n@media (min-width:768px) {\n    .navbar-toggle {\n        display: none;\n    }\n\n    .navbar-nav {\n        float: left;\n        margin: 0;\n    }\n\n    .navbar-nav>li {\n        float: left;\n    }\n\n    .navbar-nav>li>a {\n        padding-top: 15px;\n        padding-bottom: 15px;\n    }\n}\n\n.navbar-form {\n    padding: 10px 15px;\n    border-top: 1px solid transparent;\n    border-bottom: 1px solid transparent;\n    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n    margin: 8px -15px;\n}\n\n@media (min-width:768px) {\n    .navbar-form .form-group {\n        display: inline-block;\n    }\n\n    .navbar-form .form-group {\n        margin-bottom: 0;\n        vertical-align: middle;\n    }\n\n    .navbar-form .form-control {\n        display: inline-block;\n        width: auto;\n        vertical-align: middle;\n    }\n\n    .navbar-form {\n        width: auto;\n        padding-top: 0;\n        padding-bottom: 0;\n        margin-right: 0;\n        margin-left: 0;\n        border: 0;\n        -webkit-box-shadow: none;\n        box-shadow: none;\n    }\n}\n\n.breadcrumb>li {\n    display: inline-block;\n}\n\n@media (max-width:767px) {\n    .navbar-form .form-group {\n        margin-bottom: 5px;\n    }\n\n    .navbar-form .form-group:last-child {\n        margin-bottom: 0;\n    }\n}\n\n@media (min-width:768px) {\n    .navbar-right {\n        float: right !important;\n        margin-right: -15px;\n    }\n}\n\n.navbar-default {\n    background-color: #f8f8f8;\n    border-color: #e7e7e7;\n}\n\n.navbar-inverse {\n    background-color: #222;\n    border-color: #080808;\n}\n\n.navbar-inverse .navbar-brand {\n    color: #9d9d9d;\n}\n\n.navbar-inverse .navbar-brand:focus,\n.navbar-inverse .navbar-brand:hover {\n    color: #fff;\n    background-color: transparent;\n}\n\n.navbar-inverse .navbar-nav>li>a {\n    color: #9d9d9d;\n}\n\n.navbar-inverse .navbar-nav>li>a:focus,\n.navbar-inverse .navbar-nav>li>a:hover {\n    color: #fff;\n    background-color: transparent;\n}\n\n.navbar-inverse .navbar-nav>.active>a,\n.navbar-inverse .navbar-nav>.active>a:focus,\n.navbar-inverse .navbar-nav>.active>a:hover {\n    color: #fff;\n    background-color: #080808;\n}\n\n.navbar-inverse .navbar-toggle {\n    border-color: #333;\n}\n\n.navbar-inverse .navbar-toggle:focus,\n.navbar-inverse .navbar-toggle:hover {\n    background-color: #333;\n}\n\n.navbar-inverse .navbar-toggle .icon-bar {\n    background-color: #fff;\n}\n\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n    border-color: #101010;\n}\n\n.breadcrumb {\n    padding: 8px 15px;\n    margin-bottom: 20px;\n    list-style: none;\n    background-color: #f5f5f5;\n    border-radius: 4px;\n}\n\n.breadcrumb>li+li:before {\n    padding: 0 5px;\n    color: #ccc;\n    content: \"/\\00a0\";\n}\n\n.alert {\n    margin-bottom: 20px;\n}\n\n.alert {\n    padding: 15px;\n    border: 1px solid transparent;\n    border-radius: 4px;\n}\n\n.alert>p {\n    margin-bottom: 0;\n}\n\n.container:after,\n.container:before,\n.nav:after,\n.nav:before,\n.navbar-collapse:after,\n.navbar-collapse:before,\n.navbar-header:after,\n.navbar-header:before,\n.navbar:after,\n.navbar:before,\n.row:after,\n.row:before {\n    display: table;\n    content: \" \";\n}\n\n.container:after,\n.nav:after,\n.navbar-collapse:after,\n.navbar-header:after,\n.navbar:after,\n.row:after {\n    clear: both;\n}\n\n.pull-right {\n    float: right !important;\n}\n\n.affix {\n    position: fixed;\n}\n\n@media (max-width:767px) {\n    .hidden-xs {\n        display: none !important;\n    }\n}\n\n@media (min-width:768px) and (max-width:991px) {\n    .hidden-sm {\n        display: none !important;\n    }\n}\n\n@media print {\n    .hidden-print {\n        display: none !important;\n    }\n}\n\n.hide {\n    display: none !important;\n}\n\n.show {\n    display: block !important;\n}\n\n.pagination {\n    display: inline-block;\n}\n\n.pagination {\n    padding-left: 0;\n    margin: 20px 0;\n    border-radius: 4px;\n}\n\n.pagination>li {\n    display: inline;\n}\n\n.pagination>li>a {\n    position: relative;\n    float: left;\n    padding: 6px 12px;\n    margin-left: -1px;\n    line-height: 1.42857143;\n    color: #337ab7;\n    text-decoration: none;\n    background-color: #fff;\n    border: 1px solid #ddd;\n}\n\n.pagination>li:first-child>a {\n    margin-left: 0;\n    border-top-left-radius: 4px;\n    border-bottom-left-radius: 4px;\n}\n\n.pagination>li:last-child>a {\n    border-top-right-radius: 4px;\n    border-bottom-right-radius: 4px;\n}\n\n.pagination>li>a:focus,\n.pagination>li>a:hover {\n    z-index: 2;\n    color: #23527c;\n    background-color: #eee;\n    border-color: #ddd;\n}\n\n.pagination>.active>a,\n.pagination>.active>a:focus,\n.pagination>.active>a:hover {\n    z-index: 3;\n    color: #fff;\n    cursor: default;\n    background-color: #337ab7;\n    border-color: #337ab7;\n}\n\n.pagination>.disabled>a,\n.pagination>.disabled>a:focus,\n.pagination>.disabled>a:hover {\n    color: #777;\n    cursor: not-allowed;\n    background-color: #fff;\n    border-color: #ddd;\n}\n"
  },
  {
    "path": "docs/docfx/templates/light-dark-theme/styles/gray.css",
    "content": "/* Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information. */\n\n@import url('vs2015.css');\nhtml,\nbody {\n    background: #23272A;\n    color: #dddddd;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n    color: #EEEEEE;\n}\n\nbutton,\na {\n    color: #64B5F6;\n}\n\n.sidenav{\n  background-color: rgb(30, 30, 30);\n}\n\nbutton:hover,\nbutton:focus,\na:hover,\na:focus,\n.btn:focus,\n.btn:hover{\n    color: #2196F3;\n}\n\na.disable,\na.disable:hover {\n    color: #EEEEEE;\n}\n\n.divider {\n    color: #37474F;\n}\n\nhr {\n    border-color: #37474F;\n}\n\n/* top navbar */\n/*.navbar-inverse[role=\"navigation\"] {\n    background-color: #2C2F33;\n}*/\n\n/* sub navbar (below top) */\n.subnav {\n    background: rgb(69, 75, 82)\n}\n\n\n.inheritance h5,\n.inheritedMembers h5 {\n    border-bottom: 1px solid #37474F;\n}\n\narticle h4 {\n    border-bottom: 1px solid #37474F;\n}\n\n.docs-search {\n    background: #424242;\n}\n\n.search-results-group-heading {\n    color: #424242;\n}\n\n.search-close {\n    color: #424242;\n}\n\n.sidetoc {\n    background-color: #1b1b1b;\n    border-left: 0px solid #37474F;\n    border-right: 0px solid #37474F;\n}\n\n.sideaffix {\n    overflow: visible;\n}\n\n.sideaffix>div.contribution>ul>li>a.contribution-link:hover {\n    background-color: #333333;\n}\n\n/* toc */\n\n.toc .nav>li>a {\n    color: rgb(218, 218, 218);\n}\n\n.toc .nav>li>a:hover,\n.toc .nav>li>a:focus {\n    color: #E0E0E0;\n}\n\n.toc .nav>li.active>a {\n    color: #90CAF9;\n}\n\n.toc .nav>li.active>a:hover,\n.toc .nav>li.active>a:focus {\n    background-color: #37474F;\n    color: #4FC3F7;\n}\n\n.sidefilter {\n    background-color: #1b1b1b;\n    border-left: 0px solid #37474F;\n    border-right: 0px solid #37474F;\n}\n\n.affix ul>li>a:hover {\n    background: none;\n    color: #EEEEEE;\n}\n\n.affix ul>li.active>a,\n.affix ul>li.active>a:before {\n    color: #B3E5FC;\n}\n\n.affix ul>li>a {\n    color: #EEEEEE;\n}\n\n.affix>ul>li.active>a,\n.affix>ul>li.active>a:before {\n    color: #B3E5FC;\n}\n\n.tryspan {\n    border-color: #37474F;\n}\n\n.footer {\n    border-top: 1px solid #5F5F5F;\n    background: #2C2F33;\n}\n\n/* alert */\n.alert-info {\n    color: #f3fdff;\n    background: #40788A;\n    border-color: #2F7A95;\n}\n\n.alert-warning {\n    color: #fffaf2;\n    background: #936C36;\n    border-color: #AE8443;\n}\n\n.alert-danger {\n    color: #fff4f4;\n    background: #834040;\n    border-color: #8C2F2F\n}\n\n/* For tabbed content */\n\n.tabGroup {\n    margin-top: 1rem;\n}\n\n.tabGroup ul[role=\"tablist\"] {\n    margin: 0;\n    padding: 0;\n    list-style: none;\n}\n\n.tabGroup ul[role=\"tablist\"]>li {\n    list-style: none;\n    display: inline-block;\n}\n\n.tabGroup a[role=\"tab\"] {\n    color: white;\n    box-sizing: border-box;\n    display: inline-block;\n    padding: 5px 7.5px;\n    text-decoration: none;\n    border-bottom: 2px solid #fff;\n}\n\n.tabGroup a[role=\"tab\"]:hover,\n.tabGroup a[role=\"tab\"]:focus,\n.tabGroup a[role=\"tab\"][aria-selected=\"true\"] {\n    border-bottom: 2px solid #607D8B;\n}\n\n.tabGroup a[role=\"tab\"][aria-selected=\"true\"] {\n    color: #81D4FA;\n}\n\n.tabGroup a[role=\"tab\"]:hover,\n.tabGroup a[role=\"tab\"]:focus {\n    color: #29B6F6;\n}\n\n.tabGroup a[role=\"tab\"]:focus {\n    outline: 1px solid #607D8B;\n    outline-offset: -1px;\n}\n\n@media (min-width: 768px) {\n    .tabGroup a[role=\"tab\"] {\n        padding: 5px 15px;\n    }\n}\n\n.tabGroup section[role=\"tabpanel\"] {\n    border: 1px solid #607D8B;\n    padding: 15px;\n    margin: 0;\n    overflow: hidden;\n}\n\n.tabGroup section[role=\"tabpanel\"]>.codeHeader,\n.tabGroup section[role=\"tabpanel\"]>pre {\n    margin-left: -16px;\n    margin-right: -16px;\n}\n\n.tabGroup section[role=\"tabpanel\"]> :first-child {\n    margin-top: 0;\n}\n\n.tabGroup section[role=\"tabpanel\"]>pre:last-child {\n    display: block;\n    margin-bottom: -16px;\n}\n\n.mainContainer[dir='rtl'] main ul[role=\"tablist\"] {\n    margin: 0;\n}\n\n/* code */\n\ncode {\n    color: white;\n    background-color: #5B646B;\n    border-radius: 4px;\n    padding: 3px 7px;\n}\n\npre {\n    background-color: #282a36;\n}\n\n/* table */\n\n.table-striped>tbody>tr:nth-of-type(odd) {\n    background-color: #333333;\n    color: #d3d3d3\n}\n\ntbody>tr {\n    background-color: #424242;\n    color: #c0c0c0\n}\n\n.table>tbody+tbody {\n    border-top: 2px solid rgb(173, 173, 173)\n}\n\n/* select */\n\nselect {\n    background-color: #3b3b3b;\n    border-color: #2e2e2e;\n}\n\n/* \n    Following code regarding collapse container are fetched \n    or modified from the Materialize project.\n\n    The MIT License (MIT)\n    Copyright (c) 2014-2018 Materialize\n    https://github.com/Dogfalo/materialize\n*/\n\n/* all collapse container */\n.collapse-container.last-modified {\n    -webkit-box-shadow: 0 2px 2px 0 rgba(50, 50, 50, 0.64), 0 3px 1px -2px rgba(50, 50, 50, 0.62), 0 1px 5px 0 rgba(50, 50, 50, 0.7);\n    box-shadow: 0 2px 2px 0 rgba(50, 50, 50, 0.64), 0 3px 1px -2px rgba(50, 50, 50, 0.62), 0 1px 5px 0 rgba(50, 50, 50, 0.7);\n    border-top: 1px solid rgba(96, 96, 96, 0.7);\n    border-right: 1px solid rgba(96, 96, 96, 0.7);\n    border-left: 1px solid rgba(96, 96, 96, 0.7);\n}\n\n/* header */\n.collapse-container.last-modified>:nth-child(odd) {\n    background-color: #3f3f3f;\n    border-bottom: 1px solid rgba(96, 96, 96, 0.7);\n}\n\n/* body */\n.collapse-container.last-modified>:nth-child(even) {\n    border-bottom: 1px solid rgba(96, 96, 96, 0.7);\n    background-color: inherit;\n}\n\nspan.arrow-d{\n    border-top: 5px solid white\n}\n\nspan.arrow-r{\n    border-left: 5px solid white\n}\n\n.logo-switcher {\n    background: url(\"../marketing/logo/SVG/Combinationmark White.svg\") no-repeat;\n}\n"
  },
  {
    "path": "docs/docfx/templates/light-dark-theme/styles/light.css",
    "content": "/* Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information. */\n\n@import url('tomorrow.css');\nhtml,\nbody {\n    background: #fff;\n    color: #000;\n}\n\n.sideaffix {\n    overflow: visible;\n}\n\n/* links */\n\na:active, a:hover, a:visited {\n    color: #0078d7;\n}\n\na {\n    color: #0050c5;\n    cursor: pointer;\n    text-decoration: none;\n    word-wrap: break-word;\n}\n\n/* alert */\n.alert-info {\n    color: #165e82;\n    background-color: #c1e0ef;\n    border-color: #8cbfd8;\n}\n\n.alert-warning {\n    color: #825e16;\n    background-color: #efe0c1;\n    border-color: #d8bf8c;\n}\n\n.alert-danger {\n    color: #821616;\n    background-color: #efc1c1;\n    border-color: #d88c8c;\n}\n\n/* code */\n\ncode {\n    color: #9c3a3f;\n    background-color: #ececec;\n    border-radius: 4px;\n    padding: 3px 7px;\n}\n\n/* table */\n\n.table-striped>tbody>tr:nth-of-type(odd) {\n    color: #333333;\n    background-color: #d3d3d3\n}\n\ntbody>tr {\n    color: #424242;\n    background-color: #c0c0c0\n}\n\n.table>tbody+tbody {\n    border-top: 2px solid rgb(173, 173, 173)\n}\n\n/* select */\n\nselect {\n    background-color: #fcfcfc;\n    border-color: #aeb1b5;\n}\n\n/* \n    Following code regarding collapse container are fetched \n    or modified from the Materialize project.\n\n    The MIT License (MIT)\n    Copyright (c) 2014-2018 Materialize\n    https://github.com/Dogfalo/materialize\n*/\n\n/* all collapse container */\n.collapse-container.last-modified {\n    -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);\n    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);\n    border-top: 1px solid #ddd;\n    border-right: 1px solid #ddd;\n    border-left: 1px solid #ddd;\n}\n\n/* header */\n.collapse-container.last-modified>:nth-child(odd) {\n    background-color: #fff;\n    border-bottom: 1px solid #ddd;\n}\n\n/* body */\n.collapse-container.last-modified>:nth-child(even) {\n    border-bottom: 1px solid #ddd;\n}\n\nspan.arrow-d{\n    border-top: 5px solid black\n}\n\nspan.arrow-r{\n    border-left: 5px solid black\n}\n\n.logo-switcher {\n    background: url(\"../marketing/logo/SVG/Combinationmark.svg\") no-repeat;\n}\n"
  },
  {
    "path": "docs/docfx/templates/light-dark-theme/styles/master.css",
    "content": "@import url('https://fonts.googleapis.com/css?family=Roboto|Muli|Fira+Mono');\n\nhtml,\nbody {\n    font-family: 'Roboto', 'Segoe UI', Tahoma, Helvetica, sans-serif;\n    font-display: optional;\n    height: 100%;\n    font-size: 15px;\n}\n\ncode{\n    font-family: 'Fira Mono', 'Courier New', Courier, monospace\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n    font-family: 'Muli', Verdana, Geneva, Tahoma, sans-serif;\n    line-height: 130%;\n}\n\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n  font-weight: 600;\n}\n\n#logo\n{\n    max-width: 100px;\n    max-height: 100px;\n    width: 38pt;\n    height: 38pt;\n    padding: 8pt;\n}\n\np,\nli,\n.toc {\n    text-rendering: optimizeLegibility;\n    line-height: 160%;\n}\n\n.toc-filter{\n    background: inherit !important;\n}\n\n.affix ul>li.active>ul, .affix ul>li.active>a:before, .affix ul>li>a:hover:before{\n    white-space: normal;\n}\n\nimg {\n    box-shadow: 0px 0px 3px 0px rgb(66, 66, 66);\n    max-width: 95% !important;\n    margin-top: 15px;\n    margin-bottom: 15px;\n}\n\n.big-logo {\n    display: block;\n    box-shadow: none !important;\n    /* Width value was taken from the original size of the combomark svg */\n    width: 951pt;\n    /* Height was arbitrarily determined */\n    min-height: 100pt;\n    max-width: 90%;\n}\n\narticle.content p{\n    -webkit-transition: all .75s ease-in-out;\n    transition: all .75s ease-in-out;\n}\n\narticle.content h1,\narticle.content h2,\narticle.content h3,\narticle.content h4,\narticle.content h5,\narticle.content h6{\n    -webkit-transition: all .25s ease-in-out;\n    transition: all .25s ease-in-out;\n}\n\n.sideaffix {\n    line-height: 140%;\n}\n\n.sideaffix > div.contribution {\n    margin-bottom: 0;\n}\n\nheader .navbar {\n    border-width: 0 0 0px;\n    border-radius: 0;\n}\n\nbody .toc {\n    background-color: inherit;\n    overflow: visible;\n}\n\nselect {\n    display: inline-block;\n    overflow: auto;\n    -webkit-box-sizing: border-box;\n    box-sizing: border-box;\n    margin: 0;\n    padding: 0 30px 0 6px;\n    vertical-align: middle;\n    height: 28px;\n    border: 1px solid #e3e3e3;\n    line-height: 16px;\n    outline: 0;\n    text-overflow: ellipsis;\n    -webkit-appearance: none;\n    -moz-appearance: none;\n    cursor: pointer;\n    background-image: linear-gradient(45deg, transparent 50%, #707070 0), linear-gradient(135deg, #707070 50%, transparent 0);\n    background-position: calc(100% - 13px) 11px, calc(100% - 8px) 11px;\n    background-size: 5px 5px, 5px 6px;\n    background-repeat: no-repeat;\n}\n\n/* \n    Following code are fetched or modified from \n    the Materialize project.\n\n    The MIT License (MIT)\n    Copyright (c) 2014-2018 Materialize\n    https://github.com/Dogfalo/materialize\n*/\n\n/* all collapse container */\n\n.collapse-container.last-modified {\n    margin: 0.5rem 0 1rem 0;\n}\n\n/* header */\n\n.collapse-container.last-modified>:nth-child(odd):focus {\n    outline: 0;\n}\n\n.collapse-container.last-modified>:nth-child(odd) {\n    display: -webkit-box;\n    display: -webkit-flex;\n    display: -ms-flexbox;\n    display: flex;\n    cursor: pointer;\n    -webkit-tap-highlight-color: transparent;\n    line-height: 1.5;\n    padding: 0.75rem;\n    background-image: none;\n    border: 0px;\n}\n\n/* body */\n\n.collapse-container.last-modified>:nth-child(even) {\n    display: none;\n    -webkit-box-sizing: border-box;\n    box-sizing: border-box;\n    padding: 1rem;\n    border: 0px;\n}\n\n/* nav bar */\n\n.nav {\n    margin: 0;\n}\n\n.nav li {\n    -webkit-transition: background-color .3s, color .3s;\n    transition: background-color .3s, color .3s;\n}\n\n.nav a {\n    -webkit-transition: background-color .3s, color .3s;\n    transition: background-color .3s, color .3s;\n    cursor: pointer;\n}\n\n/* arrow */\n\nspan.arrow-d{\n    top: 6px; position: relative;\n}\n\nspan.arrow-r{\n    top: 6px; position: relative;\n}\n\n/* widen viewport */\n\n@media (min-width: 1085px) {\n    .container {\n        width: calc(100% - 15vw);\n        max-width: calc(100% - 15vw);\n    }\n}\n\n/* fix level indentation */\n\n.level2 {\n    padding: 0 5px;\n}\n\n.level3 {\n    padding: 0 5px;\n    font-size: 90%;\n}\n\n.level4 {\n    padding: 0 5px;\n    font-size: 85%;\n}\n\n.level5 {\n    padding: 0 5px;\n    font-size: 80%;\n}\n\n.level6 {\n    padding: 0 5px;\n    font-size: 75%;\n}"
  },
  {
    "path": "docs/docfx/templates/light-dark-theme/styles/material.css",
    "content": "body {\n    color: #34393e;\n    line-height: 1.5;\n    /*font-size: 16px;*/\n    -ms-text-size-adjust: 100%;\n    -webkit-text-size-adjust: 100%;\n    word-wrap: break-word\n}\n\n/* HEADINGS */\n\nh1 {\n    font-weight: 600;\n    font-size: 32px;\n}\n\nh2 {\n    font-weight: 600;\n    font-size: 24px;\n    line-height: 1.8;\n}\n\nh3 {\n    font-weight: 600;\n    font-size: 20px;\n    line-height: 1.8;\n}\n\nh5 {\n    font-size: 14px;\n    padding: 10px 0px;\n}\n\narticle h1,\narticle h2,\narticle h3,\narticle h4 {\n    margin-top: 35px;\n    margin-bottom: 15px;\n}\n\narticle h4 {\n    padding-bottom: 8px;\n    border-bottom: 2px solid #ddd;\n}\n\n/* NAVBAR */\n\n.navbar-brand>img {\n    color: #fff;\n}\n\n.navbar {\n    border: none;\n    /* Both navbars use box-shadow */\n    -webkit-box-shadow: 0px 1px 3px 0px rgba(100, 100, 100, 0.5);\n    -moz-box-shadow: 0px 1px 3px 0px rgba(100, 100, 100, 0.5);\n    box-shadow: 0px 1px 3px 0px rgba(100, 100, 100, 0.5);\n}\n\n.subnav {\n    border-top: 1px solid #ddd;\n    background-color: #fff;\n}\n\n.navbar-inverse {\n    background-color: #0d47a1;\n    z-index: 100;\n}\n\n.navbar-inverse .navbar-nav>li>a,\n.navbar-inverse .navbar-text {\n    color: #fff;\n    /*background-color: #0d47a1;*/\n    border-bottom: 3px solid transparent;\n    padding-bottom: 12px;\n}\n\n.navbar-inverse .navbar-nav>li>a:focus,\n.navbar-inverse .navbar-nav>li>a:hover {\n    color: #fff;\n    background-color: #1157c0;\n    border-bottom: 3px solid white;\n}\n\n.navbar-inverse .navbar-nav>.active>a,\n.navbar-inverse .navbar-nav>.active>a:focus,\n.navbar-inverse .navbar-nav>.active>a:hover {\n    color: #fff;\n    background-color: #1157c0;\n    border-bottom: 3px solid white;\n}\n\n.navbar-form .form-control {\n    border: none;\n    border-radius: 20px;\n}\n\n/* SIDEBAR */\n\n/*.toc .level1>li {\n    font-weight: 400;\n}*/\n\n.toc .nav>li>a {\n    color: #34393e;\n}\n\n.sidefilter {\n    background-color: #fff;\n    border-left: none;\n    border-right: none;\n}\n\n.sidefilter {\n    background-color: #fff;\n    border-left: none;\n    border-right: none;\n}\n\n.toc-filter {\n    padding: 10px;\n    margin: 0;\n}\n\n.toc-filter>input {\n    border: 2px solid #ddd;\n    border-radius: 20px;\n}\n\n.toc-filter>.filter-icon {\n    display: none;\n}\n\n.sidetoc>.toc {\n    overflow-x: hidden;\n}\n\n.sidetoc {\n    border: none;\n}\n\n/* ALERTS */\n\n.alert {\n    padding: 0px 0px 5px 0px;\n    color: inherit;\n    background-color: inherit;\n    border: none;\n    box-shadow: 0px 2px 2px 0px rgba(100, 100, 100, 0.4);\n}\n\n.alert>p {\n    margin-bottom: 0;\n    padding: 5px 10px;\n}\n\n.alert>ul {\n    margin-bottom: 0;\n    padding: 5px 40px;\n}\n\n.alert>h5 {\n    padding: 10px 15px;\n    margin-top: 0;\n    text-transform: uppercase;\n    font-weight: bold;\n    border-radius: 4px 4px 0 0;\n}\n\n.alert-info>h5 {\n    color: #1976d2;\n    border-bottom: 4px solid #1976d2;\n    background-color: #e3f2fd;\n}\n\n.alert-warning>h5 {\n    color: #f57f17;\n    border-bottom: 4px solid #f57f17;\n    background-color: #fff3e0;\n}\n\n.alert-danger>h5 {\n    color: #d32f2f;\n    border-bottom: 4px solid #d32f2f;\n    background-color: #ffebee;\n}\n\n/* CODE HIGHLIGHT */\npre {\n\tpadding: 9.5px;\n\tmargin: 10px 10px 10px;\n\tfont-size: 13px;\n\tword-break: break-all;\n\tword-wrap: break-word;\n\t/*background-color: #fffaef;*/\n\tborder-radius: 4px;\n\tbox-shadow: 0px 1px 4px 1px rgba(100, 100, 100, 0.4);\n}\n"
  },
  {
    "path": "docs/docfx/templates/light-dark-theme/styles/styleswitcher.js",
    "content": "const baseUrl = document.getElementById(\"docfx-style:rel\").content;\n\nfunction onThemeSelect(event) {\n    const theme = event.target.value;\n    window.localStorage.setItem(\"theme\", theme);\n    window.themeElement.href = getUrl(theme);\n}\n\nfunction getUrl(slug) {\n    return baseUrl + \"styles/\" + slug + \".css\";\n}\n\nconst themeElement = document.createElement(\"link\");\nthemeElement.rel = \"stylesheet\";\n\nconst theme = window.localStorage.getItem(\"theme\") || \"light\";\nthemeElement.href = getUrl(theme);\n\ndocument.head.appendChild(themeElement);\nwindow.themeElement = themeElement;\n\ndocument.addEventListener(\"DOMContentLoaded\", function() {\n    const themeSwitcher = document.getElementById(\"theme-switcher\");\n    themeSwitcher.onchange = onThemeSelect;\n    themeSwitcher.value = theme;\n}, false);\n"
  },
  {
    "path": "docs/docfx/templates/light-dark-theme/styles/theme-switcher.css",
    "content": "div.theme-switch-field {\n    padding-left: 10px;\n    padding-bottom: 15px\n}\n\ndiv.theme-switch-field > p{\n    font-weight: bold;\n    font-size: 1.2em;\n}"
  },
  {
    "path": "docs/docfx/templates/light-dark-theme/styles/tomorrow.css",
    "content": "/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */\n\n/* Tomorrow Comment */\n.hljs-comment,\n.hljs-quote {\n  color: #8e908c;\n}\n\n/* Tomorrow Red */\n.hljs-variable,\n.hljs-template-variable,\n.hljs-tag,\n.hljs-name,\n.hljs-selector-id,\n.hljs-selector-class,\n.hljs-regexp,\n.hljs-deletion {\n  color: #c82829;\n}\n\n/* Tomorrow Orange */\n.hljs-number,\n.hljs-built_in,\n.hljs-builtin-name,\n.hljs-literal,\n.hljs-type,\n.hljs-params,\n.hljs-meta,\n.hljs-link {\n  color: #f5871f;\n}\n\n/* Tomorrow Yellow */\n.hljs-attribute {\n  color: #eab700;\n}\n\n/* Tomorrow Green */\n.hljs-string,\n.hljs-symbol,\n.hljs-bullet,\n.hljs-addition {\n  color: #718c00;\n}\n\n/* Tomorrow Blue */\n.hljs-title,\n.hljs-section {\n  color: #4271ae;\n}\n\n/* Tomorrow Purple */\n.hljs-keyword,\n.hljs-selector-tag {\n  color: #8959a8;\n}\n\n.hljs {\n  display: block;\n  overflow-x: auto;\n  background: white;\n  color: #4d4d4c;\n  padding: 0.5em;\n}\n\n.hljs-emphasis {\n  font-style: italic;\n}\n\n.hljs-strong {\n  font-weight: bold;\n}\n"
  },
  {
    "path": "docs/docfx/templates/light-dark-theme/styles/vs2015.css",
    "content": "/*\n * Visual Studio 2015 dark style\n * Author: Nicolas LLOBERA <nllobera@gmail.com>\n */\n\n.hljs {\n  display: block;\n  overflow-x: auto;\n  padding: 0.5em;\n  background: #282a36;\n  color: #DCDCDC;\n}\n\n.hljs-keyword,\n.hljs-literal,\n.hljs-symbol,\n.hljs-name {\n  color: #569CD6;\n}\n.hljs-link {\n  color: #569CD6;\n  text-decoration: underline;\n}\n\n.hljs-built_in,\n.hljs-type {\n  color: #4EC9B0;\n}\n\n.hljs-number,\n.hljs-class {\n  color: #B8D7A3;\n}\n\n.hljs-string,\n.hljs-meta-string {\n  color: #D69D85;\n}\n\n.hljs-regexp,\n.hljs-template-tag {\n  color: #9A5334;\n}\n\n.hljs-subst,\n.hljs-function,\n.hljs-title,\n.hljs-params,\n.hljs-formula {\n  color: #DCDCDC;\n}\n\n.hljs-comment,\n.hljs-quote {\n  color: #57A64A;\n  font-style: italic;\n}\n\n.hljs-doctag {\n  color: #608B4E;\n}\n\n.hljs-meta,\n.hljs-meta-keyword,\n.hljs-tag {\n  color: #9B9B9B;\n}\n\n.hljs-variable,\n.hljs-template-variable {\n  color: #BD63C5;\n}\n\n.hljs-attr,\n.hljs-attribute,\n.hljs-builtin-name {\n  color: #9CDCFE;\n}\n\n.hljs-section {\n  color: gold;\n}\n\n.hljs-emphasis {\n  font-style: italic;\n}\n\n.hljs-strong {\n  font-weight: bold;\n}\n\n/*.hljs-code {\n  font-family:'Monospace';\n}*/\n\n.hljs-bullet,\n.hljs-selector-tag,\n.hljs-selector-id,\n.hljs-selector-class,\n.hljs-selector-attr,\n.hljs-selector-pseudo {\n  color: #D7BA7D;\n}\n\n.hljs-addition {\n  background-color: #144212;\n  display: inline-block;\n  width: 100%;\n}\n\n.hljs-deletion {\n  background-color: #600;\n  display: inline-block;\n  width: 100%;\n}\n"
  },
  {
    "path": "docs/docfx/toc.yml",
    "content": "- name: Guides\n  topicUid: Guides.Introduction\n- name: API Documentation\n  href: api/\n  topicUid: API.Docs\n  homepage: api/index.md"
  },
  {
    "path": "docs/docfx/xrefmap.yml",
    "content": "### YamlMime:XRefMap\nsorted: true\nreferences:\n- uid: API.Docs\n  name: The API Docs of Venflow\n  href: api/index.html\n- uid: Guides.Advanced.Enums\n  name: Enums with Venflow\n  href: guides/advanced/enums.html\n- uid: Guides.Advanced.Logging\n  name: Logging with Venflow\n  href: guides/advanced/logging.html\n- uid: Guides.Advanced.Nullables\n  name: Nullables with Venflow\n  href: guides/advanced/nullables.html\n- uid: Guides.Advanced.Preparation\n  name: Statement Preparation with Venflow\n  href: guides/advanced/prepared_statements.html\n- uid: Guides.Advanced.Validation\n  name: Validation with Venflow\n  href: guides/advanced/validation.html\n- uid: Guides.GettingStarted.Installation\n  name: Installing Venflow\n  href: guides/getting_started/installation.html\n- uid: Guides.GettingStarted.Setup\n  name: Setup Venflow\n  href: guides/getting_started/setup.html\n- uid: Guides.Introduction\n  name: Introduction to Venflow\n  href: guides/introduction/intro.html\n- uid: Guides.Operations.Count\n  name: Count with Venflow\n  href: guides/operations/count.html\n- uid: Guides.Operations.Delete\n  name: Delete with Venflow\n  href: guides/operations/delete.html\n- uid: Guides.Operations.Execute\n  name: Execute with Venflow\n  href: guides/operations/execute.html\n- uid: Guides.Operations.Insert\n  name: Insert with Venflow\n  href: guides/operations/insert.html\n- uid: Guides.Operations.Query\n  name: Query with Venflow\n  href: guides/operations/query.html\n- uid: Guides.Operations.Truncate\n  name: Truncate with Venflow\n  href: guides/operations/truncate.html\n- uid: Guides.Operations.Update\n  name: Update with Venflow\n  href: guides/operations/update.html\n- uid: Venflow\n  name: Venflow\n  href: api/Venflow.html\n  commentId: N:Venflow\n  fullName: Venflow\n  nameWithType: Venflow\n- uid: Venflow.Commands\n  name: Venflow.Commands\n  href: api/Venflow.Commands.html\n  commentId: N:Venflow.Commands\n  fullName: Venflow.Commands\n  nameWithType: Venflow.Commands\n- uid: Venflow.Commands.IBaseInsertRelationBuilder`2\n  name: IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>\n  href: api/Venflow.Commands.IBaseInsertRelationBuilder-2.html\n  commentId: T:Venflow.Commands.IBaseInsertRelationBuilder`2\n  name.vb: IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity)\n  fullName: Venflow.Commands.IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>\n  fullName.vb: Venflow.Commands.IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity)\n  nameWithType: IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>\n  nameWithType.vb: IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity)\n- uid: Venflow.Commands.IBaseInsertRelationBuilder`2.With*\n  name: With\n  href: api/Venflow.Commands.IBaseInsertRelationBuilder-2.html#Venflow_Commands_IBaseInsertRelationBuilder_2_With_\n  commentId: Overload:Venflow.Commands.IBaseInsertRelationBuilder`2.With\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.With\n  fullName.vb: Venflow.Commands.IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).With\n  nameWithType: IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.With\n  nameWithType.vb: IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).With\n- uid: Venflow.Commands.IBaseInsertRelationBuilder`2.With``1(System.Linq.Expressions.Expression{System.Func{`1,``0}})\n  name: With<TToEntity>(Expression<Func<TRootEntity, TToEntity>>)\n  href: api/Venflow.Commands.IBaseInsertRelationBuilder-2.html#Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_System_Linq_Expressions_Expression_System_Func__1___0___\n  commentId: M:Venflow.Commands.IBaseInsertRelationBuilder`2.With``1(System.Linq.Expressions.Expression{System.Func{`1,``0}})\n  name.vb: With(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)))\n  fullName: Venflow.Commands.IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.With<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRootEntity, TToEntity>>)\n  fullName.vb: Venflow.Commands.IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).With(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRootEntity, TToEntity)))\n  nameWithType: IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.With<TToEntity>(Expression<Func<TRootEntity, TToEntity>>)\n  nameWithType.vb: IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).With(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)))\n- uid: Venflow.Commands.IBaseInsertRelationBuilder`2.With``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.IList{``0}}})\n  name: With<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>)\n  href: api/Venflow.Commands.IBaseInsertRelationBuilder-2.html#Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_System_Linq_Expressions_Expression_System_Func__1_System_Collections_Generic_IList___0____\n  commentId: M:Venflow.Commands.IBaseInsertRelationBuilder`2.With``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.IList{``0}}})\n  name.vb: With(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))))\n  fullName: Venflow.Commands.IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.With<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRootEntity, System.Collections.Generic.IList<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).With(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRootEntity, System.Collections.Generic.IList(Of TToEntity))))\n  nameWithType: IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.With<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>)\n  nameWithType.vb: IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).With(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))))\n- uid: Venflow.Commands.IBaseInsertRelationBuilder`2.With``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.List{``0}}})\n  name: With<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>)\n  href: api/Venflow.Commands.IBaseInsertRelationBuilder-2.html#Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_System_Linq_Expressions_Expression_System_Func__1_System_Collections_Generic_List___0____\n  commentId: M:Venflow.Commands.IBaseInsertRelationBuilder`2.With``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.List{``0}}})\n  name.vb: With(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))))\n  fullName: Venflow.Commands.IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.With<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRootEntity, System.Collections.Generic.List<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).With(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRootEntity, System.Collections.Generic.List(Of TToEntity))))\n  nameWithType: IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.With<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>)\n  nameWithType.vb: IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).With(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))))\n- uid: Venflow.Commands.IBaseInsertRelationBuilder`2.WithAll\n  name: WithAll()\n  href: api/Venflow.Commands.IBaseInsertRelationBuilder-2.html#Venflow_Commands_IBaseInsertRelationBuilder_2_WithAll\n  commentId: M:Venflow.Commands.IBaseInsertRelationBuilder`2.WithAll\n  fullName: Venflow.Commands.IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.WithAll()\n  fullName.vb: Venflow.Commands.IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).WithAll()\n  nameWithType: IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.WithAll()\n  nameWithType.vb: IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).WithAll()\n- uid: Venflow.Commands.IBaseInsertRelationBuilder`2.WithAll*\n  name: WithAll\n  href: api/Venflow.Commands.IBaseInsertRelationBuilder-2.html#Venflow_Commands_IBaseInsertRelationBuilder_2_WithAll_\n  commentId: Overload:Venflow.Commands.IBaseInsertRelationBuilder`2.WithAll\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.WithAll\n  fullName.vb: Venflow.Commands.IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).WithAll\n  nameWithType: IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.WithAll\n  nameWithType.vb: IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).WithAll\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3\n  name: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html\n  commentId: T:Venflow.Commands.IBaseQueryRelationBuilder`3\n  name.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn)\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn)\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn)\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith*\n  name: FullJoinWith\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith_\n  commentId: Overload:Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).FullJoinWith\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).FullJoinWith\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,``0}})\n  name: FullJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_System_Linq_Expressions_Expression_System_Func__1___0___\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,``0}})\n  name.vb: FullJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)))\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRootEntity, TToEntity>>)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).FullJoinWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRootEntity, TToEntity)))\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).FullJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)))\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.IList{``0}}})\n  name: FullJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_System_Linq_Expressions_Expression_System_Func__1_System_Collections_Generic_IList___0____\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.IList{``0}}})\n  name.vb: FullJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))))\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRootEntity, System.Collections.Generic.IList<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).FullJoinWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRootEntity, System.Collections.Generic.IList(Of TToEntity))))\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).FullJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))))\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.List{``0}}})\n  name: FullJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_System_Linq_Expressions_Expression_System_Func__1_System_Collections_Generic_List___0____\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.List{``0}}})\n  name.vb: FullJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))))\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRootEntity, System.Collections.Generic.List<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).FullJoinWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRootEntity, System.Collections.Generic.List(Of TToEntity))))\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).FullJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))))\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith*\n  name: JoinWith\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith_\n  commentId: Overload:Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.JoinWith\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).JoinWith\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.JoinWith\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).JoinWith\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,``0}},Venflow.Enums.JoinBehaviour)\n  name: JoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>, JoinBehaviour)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_System_Linq_Expressions_Expression_System_Func__1___0___Venflow_Enums_JoinBehaviour_\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,``0}},Venflow.Enums.JoinBehaviour)\n  name.vb: JoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)), JoinBehaviour)\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.JoinWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRootEntity, TToEntity>>, Venflow.Enums.JoinBehaviour)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).JoinWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRootEntity, TToEntity)), Venflow.Enums.JoinBehaviour)\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.JoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>, JoinBehaviour)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).JoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)), JoinBehaviour)\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.IList{``0}}},Venflow.Enums.JoinBehaviour)\n  name: JoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>, JoinBehaviour)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_System_Linq_Expressions_Expression_System_Func__1_System_Collections_Generic_IList___0____Venflow_Enums_JoinBehaviour_\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.IList{``0}}},Venflow.Enums.JoinBehaviour)\n  name.vb: JoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))), JoinBehaviour)\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.JoinWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRootEntity, System.Collections.Generic.IList<TToEntity>>>, Venflow.Enums.JoinBehaviour)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).JoinWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRootEntity, System.Collections.Generic.IList(Of TToEntity))), Venflow.Enums.JoinBehaviour)\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.JoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>, JoinBehaviour)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).JoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))), JoinBehaviour)\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.List{``0}}},Venflow.Enums.JoinBehaviour)\n  name: JoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>, JoinBehaviour)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_System_Linq_Expressions_Expression_System_Func__1_System_Collections_Generic_List___0____Venflow_Enums_JoinBehaviour_\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.List{``0}}},Venflow.Enums.JoinBehaviour)\n  name.vb: JoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))), JoinBehaviour)\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.JoinWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRootEntity, System.Collections.Generic.List<TToEntity>>>, Venflow.Enums.JoinBehaviour)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).JoinWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRootEntity, System.Collections.Generic.List(Of TToEntity))), Venflow.Enums.JoinBehaviour)\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.JoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>, JoinBehaviour)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).JoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))), JoinBehaviour)\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith*\n  name: LeftJoinWith\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith_\n  commentId: Overload:Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).LeftJoinWith\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).LeftJoinWith\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,``0}})\n  name: LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_System_Linq_Expressions_Expression_System_Func__1___0___\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,``0}})\n  name.vb: LeftJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)))\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRootEntity, TToEntity>>)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).LeftJoinWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRootEntity, TToEntity)))\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).LeftJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)))\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.IList{``0}}})\n  name: LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_System_Linq_Expressions_Expression_System_Func__1_System_Collections_Generic_IList___0____\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.IList{``0}}})\n  name.vb: LeftJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))))\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRootEntity, System.Collections.Generic.IList<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).LeftJoinWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRootEntity, System.Collections.Generic.IList(Of TToEntity))))\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).LeftJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))))\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.List{``0}}})\n  name: LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_System_Linq_Expressions_Expression_System_Func__1_System_Collections_Generic_List___0____\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.List{``0}}})\n  name.vb: LeftJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))))\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRootEntity, System.Collections.Generic.List<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).LeftJoinWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRootEntity, System.Collections.Generic.List(Of TToEntity))))\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).LeftJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))))\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith*\n  name: RightJoinWith\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith_\n  commentId: Overload:Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).RightJoinWith\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).RightJoinWith\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,``0}})\n  name: RightJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_System_Linq_Expressions_Expression_System_Func__1___0___\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,``0}})\n  name.vb: RightJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)))\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRootEntity, TToEntity>>)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).RightJoinWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRootEntity, TToEntity)))\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).RightJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)))\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.IList{``0}}})\n  name: RightJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_System_Linq_Expressions_Expression_System_Func__1_System_Collections_Generic_IList___0____\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.IList{``0}}})\n  name.vb: RightJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))))\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRootEntity, System.Collections.Generic.IList<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).RightJoinWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRootEntity, System.Collections.Generic.IList(Of TToEntity))))\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).RightJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))))\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.List{``0}}})\n  name: RightJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_System_Linq_Expressions_Expression_System_Func__1_System_Collections_Generic_List___0____\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.List{``0}}})\n  name.vb: RightJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))))\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRootEntity, System.Collections.Generic.List<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).RightJoinWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRootEntity, System.Collections.Generic.List(Of TToEntity))))\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).RightJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))))\n- uid: Venflow.Commands.IDeleteCommand`1\n  name: IDeleteCommand<TEntity>\n  href: api/Venflow.Commands.IDeleteCommand-1.html\n  commentId: T:Venflow.Commands.IDeleteCommand`1\n  name.vb: IDeleteCommand(Of TEntity)\n  fullName: Venflow.Commands.IDeleteCommand<TEntity>\n  fullName.vb: Venflow.Commands.IDeleteCommand(Of TEntity)\n  nameWithType: IDeleteCommand<TEntity>\n  nameWithType.vb: IDeleteCommand(Of TEntity)\n- uid: Venflow.Commands.IDeleteCommand`1.DeleteAsync(`0,System.Threading.CancellationToken)\n  name: DeleteAsync(TEntity, CancellationToken)\n  href: api/Venflow.Commands.IDeleteCommand-1.html#Venflow_Commands_IDeleteCommand_1_DeleteAsync__0_System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IDeleteCommand`1.DeleteAsync(`0,System.Threading.CancellationToken)\n  fullName: Venflow.Commands.IDeleteCommand<TEntity>.DeleteAsync(TEntity, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IDeleteCommand(Of TEntity).DeleteAsync(TEntity, System.Threading.CancellationToken)\n  nameWithType: IDeleteCommand<TEntity>.DeleteAsync(TEntity, CancellationToken)\n  nameWithType.vb: IDeleteCommand(Of TEntity).DeleteAsync(TEntity, CancellationToken)\n- uid: Venflow.Commands.IDeleteCommand`1.DeleteAsync(`0[],System.Threading.CancellationToken)\n  name: DeleteAsync(TEntity[], CancellationToken)\n  href: api/Venflow.Commands.IDeleteCommand-1.html#Venflow_Commands_IDeleteCommand_1_DeleteAsync__0___System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IDeleteCommand`1.DeleteAsync(`0[],System.Threading.CancellationToken)\n  name.vb: DeleteAsync(TEntity(), CancellationToken)\n  fullName: Venflow.Commands.IDeleteCommand<TEntity>.DeleteAsync(TEntity[], System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IDeleteCommand(Of TEntity).DeleteAsync(TEntity(), System.Threading.CancellationToken)\n  nameWithType: IDeleteCommand<TEntity>.DeleteAsync(TEntity[], CancellationToken)\n  nameWithType.vb: IDeleteCommand(Of TEntity).DeleteAsync(TEntity(), CancellationToken)\n- uid: Venflow.Commands.IDeleteCommand`1.DeleteAsync(System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\n  name: DeleteAsync(IEnumerable<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IDeleteCommand-1.html#Venflow_Commands_IDeleteCommand_1_DeleteAsync_System_Collections_Generic_IEnumerable__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IDeleteCommand`1.DeleteAsync(System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\n  name.vb: DeleteAsync(IEnumerable(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IDeleteCommand<TEntity>.DeleteAsync(System.Collections.Generic.IEnumerable<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IDeleteCommand(Of TEntity).DeleteAsync(System.Collections.Generic.IEnumerable(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: IDeleteCommand<TEntity>.DeleteAsync(IEnumerable<TEntity>, CancellationToken)\n  nameWithType.vb: IDeleteCommand(Of TEntity).DeleteAsync(IEnumerable(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IDeleteCommand`1.DeleteAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\n  name: DeleteAsync(IList<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IDeleteCommand-1.html#Venflow_Commands_IDeleteCommand_1_DeleteAsync_System_Collections_Generic_IList__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IDeleteCommand`1.DeleteAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\n  name.vb: DeleteAsync(IList(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IDeleteCommand<TEntity>.DeleteAsync(System.Collections.Generic.IList<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IDeleteCommand(Of TEntity).DeleteAsync(System.Collections.Generic.IList(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: IDeleteCommand<TEntity>.DeleteAsync(IList<TEntity>, CancellationToken)\n  nameWithType.vb: IDeleteCommand(Of TEntity).DeleteAsync(IList(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IDeleteCommand`1.DeleteAsync(System.Collections.Generic.List{`0},System.Threading.CancellationToken)\n  name: DeleteAsync(List<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IDeleteCommand-1.html#Venflow_Commands_IDeleteCommand_1_DeleteAsync_System_Collections_Generic_List__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IDeleteCommand`1.DeleteAsync(System.Collections.Generic.List{`0},System.Threading.CancellationToken)\n  name.vb: DeleteAsync(List(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IDeleteCommand<TEntity>.DeleteAsync(System.Collections.Generic.List<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IDeleteCommand(Of TEntity).DeleteAsync(System.Collections.Generic.List(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: IDeleteCommand<TEntity>.DeleteAsync(List<TEntity>, CancellationToken)\n  nameWithType.vb: IDeleteCommand(Of TEntity).DeleteAsync(List(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IDeleteCommand`1.DeleteAsync*\n  name: DeleteAsync\n  href: api/Venflow.Commands.IDeleteCommand-1.html#Venflow_Commands_IDeleteCommand_1_DeleteAsync_\n  commentId: Overload:Venflow.Commands.IDeleteCommand`1.DeleteAsync\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IDeleteCommand<TEntity>.DeleteAsync\n  fullName.vb: Venflow.Commands.IDeleteCommand(Of TEntity).DeleteAsync\n  nameWithType: IDeleteCommand<TEntity>.DeleteAsync\n  nameWithType.vb: IDeleteCommand(Of TEntity).DeleteAsync\n- uid: Venflow.Commands.IDeleteCommandBuilder`1\n  name: IDeleteCommandBuilder<TEntity>\n  href: api/Venflow.Commands.IDeleteCommandBuilder-1.html\n  commentId: T:Venflow.Commands.IDeleteCommandBuilder`1\n  name.vb: IDeleteCommandBuilder(Of TEntity)\n  fullName: Venflow.Commands.IDeleteCommandBuilder<TEntity>\n  fullName.vb: Venflow.Commands.IDeleteCommandBuilder(Of TEntity)\n  nameWithType: IDeleteCommandBuilder<TEntity>\n  nameWithType.vb: IDeleteCommandBuilder(Of TEntity)\n- uid: Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(`0,System.Threading.CancellationToken)\n  name: DeleteAsync(TEntity, CancellationToken)\n  href: api/Venflow.Commands.IDeleteCommandBuilder-1.html#Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync__0_System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(`0,System.Threading.CancellationToken)\n  fullName: Venflow.Commands.IDeleteCommandBuilder<TEntity>.DeleteAsync(TEntity, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IDeleteCommandBuilder(Of TEntity).DeleteAsync(TEntity, System.Threading.CancellationToken)\n  nameWithType: IDeleteCommandBuilder<TEntity>.DeleteAsync(TEntity, CancellationToken)\n  nameWithType.vb: IDeleteCommandBuilder(Of TEntity).DeleteAsync(TEntity, CancellationToken)\n- uid: Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(`0[],System.Threading.CancellationToken)\n  name: DeleteAsync(TEntity[], CancellationToken)\n  href: api/Venflow.Commands.IDeleteCommandBuilder-1.html#Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync__0___System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(`0[],System.Threading.CancellationToken)\n  name.vb: DeleteAsync(TEntity(), CancellationToken)\n  fullName: Venflow.Commands.IDeleteCommandBuilder<TEntity>.DeleteAsync(TEntity[], System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IDeleteCommandBuilder(Of TEntity).DeleteAsync(TEntity(), System.Threading.CancellationToken)\n  nameWithType: IDeleteCommandBuilder<TEntity>.DeleteAsync(TEntity[], CancellationToken)\n  nameWithType.vb: IDeleteCommandBuilder(Of TEntity).DeleteAsync(TEntity(), CancellationToken)\n- uid: Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\n  name: DeleteAsync(IEnumerable<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IDeleteCommandBuilder-1.html#Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_System_Collections_Generic_IEnumerable__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\n  name.vb: DeleteAsync(IEnumerable(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IDeleteCommandBuilder<TEntity>.DeleteAsync(System.Collections.Generic.IEnumerable<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IDeleteCommandBuilder(Of TEntity).DeleteAsync(System.Collections.Generic.IEnumerable(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: IDeleteCommandBuilder<TEntity>.DeleteAsync(IEnumerable<TEntity>, CancellationToken)\n  nameWithType.vb: IDeleteCommandBuilder(Of TEntity).DeleteAsync(IEnumerable(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\n  name: DeleteAsync(IList<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IDeleteCommandBuilder-1.html#Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_System_Collections_Generic_IList__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\n  name.vb: DeleteAsync(IList(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IDeleteCommandBuilder<TEntity>.DeleteAsync(System.Collections.Generic.IList<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IDeleteCommandBuilder(Of TEntity).DeleteAsync(System.Collections.Generic.IList(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: IDeleteCommandBuilder<TEntity>.DeleteAsync(IList<TEntity>, CancellationToken)\n  nameWithType.vb: IDeleteCommandBuilder(Of TEntity).DeleteAsync(IList(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(System.Collections.Generic.List{`0},System.Threading.CancellationToken)\n  name: DeleteAsync(List<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IDeleteCommandBuilder-1.html#Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_System_Collections_Generic_List__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(System.Collections.Generic.List{`0},System.Threading.CancellationToken)\n  name.vb: DeleteAsync(List(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IDeleteCommandBuilder<TEntity>.DeleteAsync(System.Collections.Generic.List<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IDeleteCommandBuilder(Of TEntity).DeleteAsync(System.Collections.Generic.List(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: IDeleteCommandBuilder<TEntity>.DeleteAsync(List<TEntity>, CancellationToken)\n  nameWithType.vb: IDeleteCommandBuilder(Of TEntity).DeleteAsync(List(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync*\n  name: DeleteAsync\n  href: api/Venflow.Commands.IDeleteCommandBuilder-1.html#Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_\n  commentId: Overload:Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IDeleteCommandBuilder<TEntity>.DeleteAsync\n  fullName.vb: Venflow.Commands.IDeleteCommandBuilder(Of TEntity).DeleteAsync\n  nameWithType: IDeleteCommandBuilder<TEntity>.DeleteAsync\n  nameWithType.vb: IDeleteCommandBuilder(Of TEntity).DeleteAsync\n- uid: Venflow.Commands.IInsertCommand`1\n  name: IInsertCommand<TEntity>\n  href: api/Venflow.Commands.IInsertCommand-1.html\n  commentId: T:Venflow.Commands.IInsertCommand`1\n  name.vb: IInsertCommand(Of TEntity)\n  fullName: Venflow.Commands.IInsertCommand<TEntity>\n  fullName.vb: Venflow.Commands.IInsertCommand(Of TEntity)\n  nameWithType: IInsertCommand<TEntity>\n  nameWithType.vb: IInsertCommand(Of TEntity)\n- uid: Venflow.Commands.IInsertCommand`1.InsertAsync(`0,System.Threading.CancellationToken)\n  name: InsertAsync(TEntity, CancellationToken)\n  href: api/Venflow.Commands.IInsertCommand-1.html#Venflow_Commands_IInsertCommand_1_InsertAsync__0_System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IInsertCommand`1.InsertAsync(`0,System.Threading.CancellationToken)\n  fullName: Venflow.Commands.IInsertCommand<TEntity>.InsertAsync(TEntity, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IInsertCommand(Of TEntity).InsertAsync(TEntity, System.Threading.CancellationToken)\n  nameWithType: IInsertCommand<TEntity>.InsertAsync(TEntity, CancellationToken)\n  nameWithType.vb: IInsertCommand(Of TEntity).InsertAsync(TEntity, CancellationToken)\n- uid: Venflow.Commands.IInsertCommand`1.InsertAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\n  name: InsertAsync(IList<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IInsertCommand-1.html#Venflow_Commands_IInsertCommand_1_InsertAsync_System_Collections_Generic_IList__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IInsertCommand`1.InsertAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\n  name.vb: InsertAsync(IList(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IInsertCommand<TEntity>.InsertAsync(System.Collections.Generic.IList<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IInsertCommand(Of TEntity).InsertAsync(System.Collections.Generic.IList(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: IInsertCommand<TEntity>.InsertAsync(IList<TEntity>, CancellationToken)\n  nameWithType.vb: IInsertCommand(Of TEntity).InsertAsync(IList(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IInsertCommand`1.InsertAsync*\n  name: InsertAsync\n  href: api/Venflow.Commands.IInsertCommand-1.html#Venflow_Commands_IInsertCommand_1_InsertAsync_\n  commentId: Overload:Venflow.Commands.IInsertCommand`1.InsertAsync\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IInsertCommand<TEntity>.InsertAsync\n  fullName.vb: Venflow.Commands.IInsertCommand(Of TEntity).InsertAsync\n  nameWithType: IInsertCommand<TEntity>.InsertAsync\n  nameWithType.vb: IInsertCommand(Of TEntity).InsertAsync\n- uid: Venflow.Commands.IInsertCommandBuilder`1\n  name: IInsertCommandBuilder<TEntity>\n  href: api/Venflow.Commands.IInsertCommandBuilder-1.html\n  commentId: T:Venflow.Commands.IInsertCommandBuilder`1\n  name.vb: IInsertCommandBuilder(Of TEntity)\n  fullName: Venflow.Commands.IInsertCommandBuilder<TEntity>\n  fullName.vb: Venflow.Commands.IInsertCommandBuilder(Of TEntity)\n  nameWithType: IInsertCommandBuilder<TEntity>\n  nameWithType.vb: IInsertCommandBuilder(Of TEntity)\n- uid: Venflow.Commands.IInsertCommandBuilder`1.InsertAsync(`0,System.Threading.CancellationToken)\n  name: InsertAsync(TEntity, CancellationToken)\n  href: api/Venflow.Commands.IInsertCommandBuilder-1.html#Venflow_Commands_IInsertCommandBuilder_1_InsertAsync__0_System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IInsertCommandBuilder`1.InsertAsync(`0,System.Threading.CancellationToken)\n  fullName: Venflow.Commands.IInsertCommandBuilder<TEntity>.InsertAsync(TEntity, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IInsertCommandBuilder(Of TEntity).InsertAsync(TEntity, System.Threading.CancellationToken)\n  nameWithType: IInsertCommandBuilder<TEntity>.InsertAsync(TEntity, CancellationToken)\n  nameWithType.vb: IInsertCommandBuilder(Of TEntity).InsertAsync(TEntity, CancellationToken)\n- uid: Venflow.Commands.IInsertCommandBuilder`1.InsertAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\n  name: InsertAsync(IList<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IInsertCommandBuilder-1.html#Venflow_Commands_IInsertCommandBuilder_1_InsertAsync_System_Collections_Generic_IList__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IInsertCommandBuilder`1.InsertAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\n  name.vb: InsertAsync(IList(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IInsertCommandBuilder<TEntity>.InsertAsync(System.Collections.Generic.IList<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IInsertCommandBuilder(Of TEntity).InsertAsync(System.Collections.Generic.IList(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: IInsertCommandBuilder<TEntity>.InsertAsync(IList<TEntity>, CancellationToken)\n  nameWithType.vb: IInsertCommandBuilder(Of TEntity).InsertAsync(IList(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IInsertCommandBuilder`1.InsertAsync*\n  name: InsertAsync\n  href: api/Venflow.Commands.IInsertCommandBuilder-1.html#Venflow_Commands_IInsertCommandBuilder_1_InsertAsync_\n  commentId: Overload:Venflow.Commands.IInsertCommandBuilder`1.InsertAsync\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IInsertCommandBuilder<TEntity>.InsertAsync\n  fullName.vb: Venflow.Commands.IInsertCommandBuilder(Of TEntity).InsertAsync\n  nameWithType: IInsertCommandBuilder<TEntity>.InsertAsync\n  nameWithType.vb: IInsertCommandBuilder(Of TEntity).InsertAsync\n- uid: Venflow.Commands.IInsertRelationBuilder`2\n  name: IInsertRelationBuilder<TRelationEntity, TRootEntity>\n  href: api/Venflow.Commands.IInsertRelationBuilder-2.html\n  commentId: T:Venflow.Commands.IInsertRelationBuilder`2\n  name.vb: IInsertRelationBuilder(Of TRelationEntity, TRootEntity)\n  fullName: Venflow.Commands.IInsertRelationBuilder<TRelationEntity, TRootEntity>\n  fullName.vb: Venflow.Commands.IInsertRelationBuilder(Of TRelationEntity, TRootEntity)\n  nameWithType: IInsertRelationBuilder<TRelationEntity, TRootEntity>\n  nameWithType.vb: IInsertRelationBuilder(Of TRelationEntity, TRootEntity)\n- uid: Venflow.Commands.IInsertRelationBuilder`2.AndWith*\n  name: AndWith\n  href: api/Venflow.Commands.IInsertRelationBuilder-2.html#Venflow_Commands_IInsertRelationBuilder_2_AndWith_\n  commentId: Overload:Venflow.Commands.IInsertRelationBuilder`2.AndWith\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IInsertRelationBuilder<TRelationEntity, TRootEntity>.AndWith\n  fullName.vb: Venflow.Commands.IInsertRelationBuilder(Of TRelationEntity, TRootEntity).AndWith\n  nameWithType: IInsertRelationBuilder<TRelationEntity, TRootEntity>.AndWith\n  nameWithType.vb: IInsertRelationBuilder(Of TRelationEntity, TRootEntity).AndWith\n- uid: Venflow.Commands.IInsertRelationBuilder`2.AndWith``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})\n  name: AndWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>)\n  href: api/Venflow.Commands.IInsertRelationBuilder-2.html#Venflow_Commands_IInsertRelationBuilder_2_AndWith__1_System_Linq_Expressions_Expression_System_Func__0___0___\n  commentId: M:Venflow.Commands.IInsertRelationBuilder`2.AndWith``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})\n  name.vb: AndWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)))\n  fullName: Venflow.Commands.IInsertRelationBuilder<TRelationEntity, TRootEntity>.AndWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRelationEntity, TToEntity>>)\n  fullName.vb: Venflow.Commands.IInsertRelationBuilder(Of TRelationEntity, TRootEntity).AndWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRelationEntity, TToEntity)))\n  nameWithType: IInsertRelationBuilder<TRelationEntity, TRootEntity>.AndWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>)\n  nameWithType.vb: IInsertRelationBuilder(Of TRelationEntity, TRootEntity).AndWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)))\n- uid: Venflow.Commands.IInsertRelationBuilder`2.AndWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.IList{``0}}})\n  name: AndWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>)\n  href: api/Venflow.Commands.IInsertRelationBuilder-2.html#Venflow_Commands_IInsertRelationBuilder_2_AndWith__1_System_Linq_Expressions_Expression_System_Func__0_System_Collections_Generic_IList___0____\n  commentId: M:Venflow.Commands.IInsertRelationBuilder`2.AndWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.IList{``0}}})\n  name.vb: AndWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))))\n  fullName: Venflow.Commands.IInsertRelationBuilder<TRelationEntity, TRootEntity>.AndWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRelationEntity, System.Collections.Generic.IList<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IInsertRelationBuilder(Of TRelationEntity, TRootEntity).AndWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRelationEntity, System.Collections.Generic.IList(Of TToEntity))))\n  nameWithType: IInsertRelationBuilder<TRelationEntity, TRootEntity>.AndWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>)\n  nameWithType.vb: IInsertRelationBuilder(Of TRelationEntity, TRootEntity).AndWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))))\n- uid: Venflow.Commands.IInsertRelationBuilder`2.AndWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.List{``0}}})\n  name: AndWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>)\n  href: api/Venflow.Commands.IInsertRelationBuilder-2.html#Venflow_Commands_IInsertRelationBuilder_2_AndWith__1_System_Linq_Expressions_Expression_System_Func__0_System_Collections_Generic_List___0____\n  commentId: M:Venflow.Commands.IInsertRelationBuilder`2.AndWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.List{``0}}})\n  name.vb: AndWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))))\n  fullName: Venflow.Commands.IInsertRelationBuilder<TRelationEntity, TRootEntity>.AndWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRelationEntity, System.Collections.Generic.List<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IInsertRelationBuilder(Of TRelationEntity, TRootEntity).AndWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRelationEntity, System.Collections.Generic.List(Of TToEntity))))\n  nameWithType: IInsertRelationBuilder<TRelationEntity, TRootEntity>.AndWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>)\n  nameWithType.vb: IInsertRelationBuilder(Of TRelationEntity, TRootEntity).AndWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))))\n- uid: Venflow.Commands.IPreCommandBuilder`2\n  name: IPreCommandBuilder<TEntity, TReturn>\n  href: api/Venflow.Commands.IPreCommandBuilder-2.html\n  commentId: T:Venflow.Commands.IPreCommandBuilder`2\n  name.vb: IPreCommandBuilder(Of TEntity, TReturn)\n  fullName: Venflow.Commands.IPreCommandBuilder<TEntity, TReturn>\n  fullName.vb: Venflow.Commands.IPreCommandBuilder(Of TEntity, TReturn)\n  nameWithType: IPreCommandBuilder<TEntity, TReturn>\n  nameWithType.vb: IPreCommandBuilder(Of TEntity, TReturn)\n- uid: Venflow.Commands.IPreCommandBuilder`2.AddFormatter\n  name: AddFormatter()\n  href: api/Venflow.Commands.IPreCommandBuilder-2.html#Venflow_Commands_IPreCommandBuilder_2_AddFormatter\n  commentId: M:Venflow.Commands.IPreCommandBuilder`2.AddFormatter\n  fullName: Venflow.Commands.IPreCommandBuilder<TEntity, TReturn>.AddFormatter()\n  fullName.vb: Venflow.Commands.IPreCommandBuilder(Of TEntity, TReturn).AddFormatter()\n  nameWithType: IPreCommandBuilder<TEntity, TReturn>.AddFormatter()\n  nameWithType.vb: IPreCommandBuilder(Of TEntity, TReturn).AddFormatter()\n- uid: Venflow.Commands.IPreCommandBuilder`2.AddFormatter*\n  name: AddFormatter\n  href: api/Venflow.Commands.IPreCommandBuilder-2.html#Venflow_Commands_IPreCommandBuilder_2_AddFormatter_\n  commentId: Overload:Venflow.Commands.IPreCommandBuilder`2.AddFormatter\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IPreCommandBuilder<TEntity, TReturn>.AddFormatter\n  fullName.vb: Venflow.Commands.IPreCommandBuilder(Of TEntity, TReturn).AddFormatter\n  nameWithType: IPreCommandBuilder<TEntity, TReturn>.AddFormatter\n  nameWithType.vb: IPreCommandBuilder(Of TEntity, TReturn).AddFormatter\n- uid: Venflow.Commands.IQueryCommand`2\n  name: IQueryCommand<TEntity, TReturn>\n  href: api/Venflow.Commands.IQueryCommand-2.html\n  commentId: T:Venflow.Commands.IQueryCommand`2\n  name.vb: IQueryCommand(Of TEntity, TReturn)\n  fullName: Venflow.Commands.IQueryCommand<TEntity, TReturn>\n  fullName.vb: Venflow.Commands.IQueryCommand(Of TEntity, TReturn)\n  nameWithType: IQueryCommand<TEntity, TReturn>\n  nameWithType.vb: IQueryCommand(Of TEntity, TReturn)\n- uid: Venflow.Commands.IQueryCommand`2.PrepareAsync(System.Threading.CancellationToken)\n  name: PrepareAsync(CancellationToken)\n  href: api/Venflow.Commands.IQueryCommand-2.html#Venflow_Commands_IQueryCommand_2_PrepareAsync_System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IQueryCommand`2.PrepareAsync(System.Threading.CancellationToken)\n  fullName: Venflow.Commands.IQueryCommand<TEntity, TReturn>.PrepareAsync(System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IQueryCommand(Of TEntity, TReturn).PrepareAsync(System.Threading.CancellationToken)\n  nameWithType: IQueryCommand<TEntity, TReturn>.PrepareAsync(CancellationToken)\n  nameWithType.vb: IQueryCommand(Of TEntity, TReturn).PrepareAsync(CancellationToken)\n- uid: Venflow.Commands.IQueryCommand`2.PrepareAsync*\n  name: PrepareAsync\n  href: api/Venflow.Commands.IQueryCommand-2.html#Venflow_Commands_IQueryCommand_2_PrepareAsync_\n  commentId: Overload:Venflow.Commands.IQueryCommand`2.PrepareAsync\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IQueryCommand<TEntity, TReturn>.PrepareAsync\n  fullName.vb: Venflow.Commands.IQueryCommand(Of TEntity, TReturn).PrepareAsync\n  nameWithType: IQueryCommand<TEntity, TReturn>.PrepareAsync\n  nameWithType.vb: IQueryCommand(Of TEntity, TReturn).PrepareAsync\n- uid: Venflow.Commands.IQueryCommand`2.QueryAsync(System.Threading.CancellationToken)\n  name: QueryAsync(CancellationToken)\n  href: api/Venflow.Commands.IQueryCommand-2.html#Venflow_Commands_IQueryCommand_2_QueryAsync_System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IQueryCommand`2.QueryAsync(System.Threading.CancellationToken)\n  fullName: Venflow.Commands.IQueryCommand<TEntity, TReturn>.QueryAsync(System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IQueryCommand(Of TEntity, TReturn).QueryAsync(System.Threading.CancellationToken)\n  nameWithType: IQueryCommand<TEntity, TReturn>.QueryAsync(CancellationToken)\n  nameWithType.vb: IQueryCommand(Of TEntity, TReturn).QueryAsync(CancellationToken)\n- uid: Venflow.Commands.IQueryCommand`2.QueryAsync*\n  name: QueryAsync\n  href: api/Venflow.Commands.IQueryCommand-2.html#Venflow_Commands_IQueryCommand_2_QueryAsync_\n  commentId: Overload:Venflow.Commands.IQueryCommand`2.QueryAsync\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IQueryCommand<TEntity, TReturn>.QueryAsync\n  fullName.vb: Venflow.Commands.IQueryCommand(Of TEntity, TReturn).QueryAsync\n  nameWithType: IQueryCommand<TEntity, TReturn>.QueryAsync\n  nameWithType.vb: IQueryCommand(Of TEntity, TReturn).QueryAsync\n- uid: Venflow.Commands.IQueryCommand`2.UnprepareAsync(System.Threading.CancellationToken)\n  name: UnprepareAsync(CancellationToken)\n  href: api/Venflow.Commands.IQueryCommand-2.html#Venflow_Commands_IQueryCommand_2_UnprepareAsync_System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IQueryCommand`2.UnprepareAsync(System.Threading.CancellationToken)\n  fullName: Venflow.Commands.IQueryCommand<TEntity, TReturn>.UnprepareAsync(System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IQueryCommand(Of TEntity, TReturn).UnprepareAsync(System.Threading.CancellationToken)\n  nameWithType: IQueryCommand<TEntity, TReturn>.UnprepareAsync(CancellationToken)\n  nameWithType.vb: IQueryCommand(Of TEntity, TReturn).UnprepareAsync(CancellationToken)\n- uid: Venflow.Commands.IQueryCommand`2.UnprepareAsync*\n  name: UnprepareAsync\n  href: api/Venflow.Commands.IQueryCommand-2.html#Venflow_Commands_IQueryCommand_2_UnprepareAsync_\n  commentId: Overload:Venflow.Commands.IQueryCommand`2.UnprepareAsync\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IQueryCommand<TEntity, TReturn>.UnprepareAsync\n  fullName.vb: Venflow.Commands.IQueryCommand(Of TEntity, TReturn).UnprepareAsync\n  nameWithType: IQueryCommand<TEntity, TReturn>.UnprepareAsync\n  nameWithType.vb: IQueryCommand(Of TEntity, TReturn).UnprepareAsync\n- uid: Venflow.Commands.IQueryCommandBuilder`2\n  name: IQueryCommandBuilder<TEntity, TReturn>\n  href: api/Venflow.Commands.IQueryCommandBuilder-2.html\n  commentId: T:Venflow.Commands.IQueryCommandBuilder`2\n  name.vb: IQueryCommandBuilder(Of TEntity, TReturn)\n  fullName: Venflow.Commands.IQueryCommandBuilder<TEntity, TReturn>\n  fullName.vb: Venflow.Commands.IQueryCommandBuilder(Of TEntity, TReturn)\n  nameWithType: IQueryCommandBuilder<TEntity, TReturn>\n  nameWithType.vb: IQueryCommandBuilder(Of TEntity, TReturn)\n- uid: Venflow.Commands.IQueryCommandBuilder`2.LogTo(System.Action{System.String},System.Boolean)\n  name: LogTo(Action<String>, Boolean)\n  href: api/Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_LogTo_System_Action_System_String__System_Boolean_\n  commentId: M:Venflow.Commands.IQueryCommandBuilder`2.LogTo(System.Action{System.String},System.Boolean)\n  name.vb: LogTo(Action(Of String), Boolean)\n  fullName: Venflow.Commands.IQueryCommandBuilder<TEntity, TReturn>.LogTo(System.Action<System.String>, System.Boolean)\n  fullName.vb: Venflow.Commands.IQueryCommandBuilder(Of TEntity, TReturn).LogTo(System.Action(Of System.String), System.Boolean)\n  nameWithType: IQueryCommandBuilder<TEntity, TReturn>.LogTo(Action<String>, Boolean)\n  nameWithType.vb: IQueryCommandBuilder(Of TEntity, TReturn).LogTo(Action(Of String), Boolean)\n- uid: Venflow.Commands.IQueryCommandBuilder`2.LogTo(System.Boolean)\n  name: LogTo(Boolean)\n  href: api/Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_LogTo_System_Boolean_\n  commentId: M:Venflow.Commands.IQueryCommandBuilder`2.LogTo(System.Boolean)\n  fullName: Venflow.Commands.IQueryCommandBuilder<TEntity, TReturn>.LogTo(System.Boolean)\n  fullName.vb: Venflow.Commands.IQueryCommandBuilder(Of TEntity, TReturn).LogTo(System.Boolean)\n  nameWithType: IQueryCommandBuilder<TEntity, TReturn>.LogTo(Boolean)\n  nameWithType.vb: IQueryCommandBuilder(Of TEntity, TReturn).LogTo(Boolean)\n- uid: Venflow.Commands.IQueryCommandBuilder`2.LogTo(System.ValueTuple{System.Action{System.String},System.Boolean}[])\n  name: LogTo((Action<String> logger, Boolean includeSensitiveData)[])\n  href: api/Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_LogTo_System_ValueTuple_System_Action_System_String__System_Boolean____\n  commentId: M:Venflow.Commands.IQueryCommandBuilder`2.LogTo(System.ValueTuple{System.Action{System.String},System.Boolean}[])\n  name.vb: LogTo((logger As Action(Of String), includeSensitiveData As Boolean)())\n  fullName: Venflow.Commands.IQueryCommandBuilder<TEntity, TReturn>.LogTo(System.ValueTuple<System.Action<System.String>, System.Boolean>[])\n  fullName.vb: Venflow.Commands.IQueryCommandBuilder(Of TEntity, TReturn).LogTo(System.ValueTuple(Of System.Action(Of System.String), System.Boolean)())\n  nameWithType: IQueryCommandBuilder<TEntity, TReturn>.LogTo((Action<String> logger, Boolean includeSensitiveData)[])\n  nameWithType.vb: IQueryCommandBuilder(Of TEntity, TReturn).LogTo((logger As Action(Of String), includeSensitiveData As Boolean)())\n- uid: Venflow.Commands.IQueryCommandBuilder`2.LogTo*\n  name: LogTo\n  href: api/Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_LogTo_\n  commentId: Overload:Venflow.Commands.IQueryCommandBuilder`2.LogTo\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IQueryCommandBuilder<TEntity, TReturn>.LogTo\n  fullName.vb: Venflow.Commands.IQueryCommandBuilder(Of TEntity, TReturn).LogTo\n  nameWithType: IQueryCommandBuilder<TEntity, TReturn>.LogTo\n  nameWithType.vb: IQueryCommandBuilder(Of TEntity, TReturn).LogTo\n- uid: Venflow.Commands.IQueryCommandBuilder`2.QueryAsync(System.Threading.CancellationToken)\n  name: QueryAsync(CancellationToken)\n  href: api/Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_QueryAsync_System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IQueryCommandBuilder`2.QueryAsync(System.Threading.CancellationToken)\n  fullName: Venflow.Commands.IQueryCommandBuilder<TEntity, TReturn>.QueryAsync(System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IQueryCommandBuilder(Of TEntity, TReturn).QueryAsync(System.Threading.CancellationToken)\n  nameWithType: IQueryCommandBuilder<TEntity, TReturn>.QueryAsync(CancellationToken)\n  nameWithType.vb: IQueryCommandBuilder(Of TEntity, TReturn).QueryAsync(CancellationToken)\n- uid: Venflow.Commands.IQueryCommandBuilder`2.QueryAsync*\n  name: QueryAsync\n  href: api/Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_QueryAsync_\n  commentId: Overload:Venflow.Commands.IQueryCommandBuilder`2.QueryAsync\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IQueryCommandBuilder<TEntity, TReturn>.QueryAsync\n  fullName.vb: Venflow.Commands.IQueryCommandBuilder(Of TEntity, TReturn).QueryAsync\n  nameWithType: IQueryCommandBuilder<TEntity, TReturn>.QueryAsync\n  nameWithType.vb: IQueryCommandBuilder(Of TEntity, TReturn).QueryAsync\n- uid: Venflow.Commands.IQueryCommandBuilder`2.TrackChanges(System.Boolean)\n  name: TrackChanges(Boolean)\n  href: api/Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_TrackChanges_System_Boolean_\n  commentId: M:Venflow.Commands.IQueryCommandBuilder`2.TrackChanges(System.Boolean)\n  fullName: Venflow.Commands.IQueryCommandBuilder<TEntity, TReturn>.TrackChanges(System.Boolean)\n  fullName.vb: Venflow.Commands.IQueryCommandBuilder(Of TEntity, TReturn).TrackChanges(System.Boolean)\n  nameWithType: IQueryCommandBuilder<TEntity, TReturn>.TrackChanges(Boolean)\n  nameWithType.vb: IQueryCommandBuilder(Of TEntity, TReturn).TrackChanges(Boolean)\n- uid: Venflow.Commands.IQueryCommandBuilder`2.TrackChanges*\n  name: TrackChanges\n  href: api/Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_TrackChanges_\n  commentId: Overload:Venflow.Commands.IQueryCommandBuilder`2.TrackChanges\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IQueryCommandBuilder<TEntity, TReturn>.TrackChanges\n  fullName.vb: Venflow.Commands.IQueryCommandBuilder(Of TEntity, TReturn).TrackChanges\n  nameWithType: IQueryCommandBuilder<TEntity, TReturn>.TrackChanges\n  nameWithType.vb: IQueryCommandBuilder(Of TEntity, TReturn).TrackChanges\n- uid: Venflow.Commands.IQueryRelationBuilder`3\n  name: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html\n  commentId: T:Venflow.Commands.IQueryRelationBuilder`3\n  name.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn)\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn)\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn)\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith*\n  name: ThenFullWith\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith_\n  commentId: Overload:Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenFullWith\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenFullWith\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenFullWith\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenFullWith\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})\n  name: ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_System_Linq_Expressions_Expression_System_Func__0___0___\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})\n  name.vb: ThenFullWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)))\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenFullWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRelationEntity, TToEntity>>)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenFullWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRelationEntity, TToEntity)))\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenFullWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)))\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.IList{``0}}})\n  name: ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_System_Linq_Expressions_Expression_System_Func__0_System_Collections_Generic_IList___0____\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.IList{``0}}})\n  name.vb: ThenFullWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))))\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenFullWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRelationEntity, System.Collections.Generic.IList<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenFullWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRelationEntity, System.Collections.Generic.IList(Of TToEntity))))\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenFullWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))))\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.List{``0}}})\n  name: ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_System_Linq_Expressions_Expression_System_Func__0_System_Collections_Generic_List___0____\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.List{``0}}})\n  name.vb: ThenFullWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))))\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenFullWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRelationEntity, System.Collections.Generic.List<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenFullWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRelationEntity, System.Collections.Generic.List(Of TToEntity))))\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenFullWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))))\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith*\n  name: ThenLeftWith\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith_\n  commentId: Overload:Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenLeftWith\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenLeftWith\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenLeftWith\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenLeftWith\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})\n  name: ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_System_Linq_Expressions_Expression_System_Func__0___0___\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})\n  name.vb: ThenLeftWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)))\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenLeftWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRelationEntity, TToEntity>>)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenLeftWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRelationEntity, TToEntity)))\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenLeftWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)))\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.IList{``0}}})\n  name: ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_System_Linq_Expressions_Expression_System_Func__0_System_Collections_Generic_IList___0____\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.IList{``0}}})\n  name.vb: ThenLeftWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))))\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenLeftWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRelationEntity, System.Collections.Generic.IList<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenLeftWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRelationEntity, System.Collections.Generic.IList(Of TToEntity))))\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenLeftWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))))\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.List{``0}}})\n  name: ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_System_Linq_Expressions_Expression_System_Func__0_System_Collections_Generic_List___0____\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.List{``0}}})\n  name.vb: ThenLeftWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))))\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenLeftWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRelationEntity, System.Collections.Generic.List<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenLeftWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRelationEntity, System.Collections.Generic.List(Of TToEntity))))\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenLeftWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))))\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith*\n  name: ThenRightWith\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith_\n  commentId: Overload:Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenRightWith\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenRightWith\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenRightWith\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenRightWith\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})\n  name: ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_System_Linq_Expressions_Expression_System_Func__0___0___\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})\n  name.vb: ThenRightWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)))\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenRightWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRelationEntity, TToEntity>>)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenRightWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRelationEntity, TToEntity)))\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenRightWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)))\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.IList{``0}}})\n  name: ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_System_Linq_Expressions_Expression_System_Func__0_System_Collections_Generic_IList___0____\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.IList{``0}}})\n  name.vb: ThenRightWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))))\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenRightWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRelationEntity, System.Collections.Generic.IList<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenRightWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRelationEntity, System.Collections.Generic.IList(Of TToEntity))))\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenRightWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))))\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.List{``0}}})\n  name: ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_System_Linq_Expressions_Expression_System_Func__0_System_Collections_Generic_List___0____\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.List{``0}}})\n  name.vb: ThenRightWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))))\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenRightWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRelationEntity, System.Collections.Generic.List<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenRightWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRelationEntity, System.Collections.Generic.List(Of TToEntity))))\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenRightWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))))\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenWith*\n  name: ThenWith\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenWith_\n  commentId: Overload:Venflow.Commands.IQueryRelationBuilder`3.ThenWith\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenWith\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenWith\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenWith\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenWith\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenWith``1(System.Linq.Expressions.Expression{System.Func{`0,``0}},Venflow.Enums.JoinBehaviour)\n  name: ThenWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>, JoinBehaviour)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenWith__1_System_Linq_Expressions_Expression_System_Func__0___0___Venflow_Enums_JoinBehaviour_\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenWith``1(System.Linq.Expressions.Expression{System.Func{`0,``0}},Venflow.Enums.JoinBehaviour)\n  name.vb: ThenWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)), JoinBehaviour)\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRelationEntity, TToEntity>>, Venflow.Enums.JoinBehaviour)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRelationEntity, TToEntity)), Venflow.Enums.JoinBehaviour)\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>, JoinBehaviour)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)), JoinBehaviour)\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.IList{``0}}},Venflow.Enums.JoinBehaviour)\n  name: ThenWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>, JoinBehaviour)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenWith__1_System_Linq_Expressions_Expression_System_Func__0_System_Collections_Generic_IList___0____Venflow_Enums_JoinBehaviour_\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.IList{``0}}},Venflow.Enums.JoinBehaviour)\n  name.vb: ThenWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))), JoinBehaviour)\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRelationEntity, System.Collections.Generic.IList<TToEntity>>>, Venflow.Enums.JoinBehaviour)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRelationEntity, System.Collections.Generic.IList(Of TToEntity))), Venflow.Enums.JoinBehaviour)\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>, JoinBehaviour)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))), JoinBehaviour)\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.List{``0}}},Venflow.Enums.JoinBehaviour)\n  name: ThenWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>, JoinBehaviour)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenWith__1_System_Linq_Expressions_Expression_System_Func__0_System_Collections_Generic_List___0____Venflow_Enums_JoinBehaviour_\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.List{``0}}},Venflow.Enums.JoinBehaviour)\n  name.vb: ThenWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))), JoinBehaviour)\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenWith<TToEntity>(System.Linq.Expressions.Expression<System.Func<TRelationEntity, System.Collections.Generic.List<TToEntity>>>, Venflow.Enums.JoinBehaviour)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenWith(Of TToEntity)(System.Linq.Expressions.Expression(Of System.Func(Of TRelationEntity, System.Collections.Generic.List(Of TToEntity))), Venflow.Enums.JoinBehaviour)\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>, JoinBehaviour)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))), JoinBehaviour)\n- uid: Venflow.Commands.ISpecficVenflowCommandBuilder`1\n  name: ISpecficVenflowCommandBuilder<TCommand>\n  href: api/Venflow.Commands.ISpecficVenflowCommandBuilder-1.html\n  commentId: T:Venflow.Commands.ISpecficVenflowCommandBuilder`1\n  name.vb: ISpecficVenflowCommandBuilder(Of TCommand)\n  fullName: Venflow.Commands.ISpecficVenflowCommandBuilder<TCommand>\n  fullName.vb: Venflow.Commands.ISpecficVenflowCommandBuilder(Of TCommand)\n  nameWithType: ISpecficVenflowCommandBuilder<TCommand>\n  nameWithType.vb: ISpecficVenflowCommandBuilder(Of TCommand)\n- uid: Venflow.Commands.ISpecficVenflowCommandBuilder`1.Build\n  name: Build()\n  href: api/Venflow.Commands.ISpecficVenflowCommandBuilder-1.html#Venflow_Commands_ISpecficVenflowCommandBuilder_1_Build\n  commentId: M:Venflow.Commands.ISpecficVenflowCommandBuilder`1.Build\n  fullName: Venflow.Commands.ISpecficVenflowCommandBuilder<TCommand>.Build()\n  fullName.vb: Venflow.Commands.ISpecficVenflowCommandBuilder(Of TCommand).Build()\n  nameWithType: ISpecficVenflowCommandBuilder<TCommand>.Build()\n  nameWithType.vb: ISpecficVenflowCommandBuilder(Of TCommand).Build()\n- uid: Venflow.Commands.ISpecficVenflowCommandBuilder`1.Build*\n  name: Build\n  href: api/Venflow.Commands.ISpecficVenflowCommandBuilder-1.html#Venflow_Commands_ISpecficVenflowCommandBuilder_1_Build_\n  commentId: Overload:Venflow.Commands.ISpecficVenflowCommandBuilder`1.Build\n  isSpec: \"True\"\n  fullName: Venflow.Commands.ISpecficVenflowCommandBuilder<TCommand>.Build\n  fullName.vb: Venflow.Commands.ISpecficVenflowCommandBuilder(Of TCommand).Build\n  nameWithType: ISpecficVenflowCommandBuilder<TCommand>.Build\n  nameWithType.vb: ISpecficVenflowCommandBuilder(Of TCommand).Build\n- uid: Venflow.Commands.IUpdateCommand`1\n  name: IUpdateCommand<TEntity>\n  href: api/Venflow.Commands.IUpdateCommand-1.html\n  commentId: T:Venflow.Commands.IUpdateCommand`1\n  name.vb: IUpdateCommand(Of TEntity)\n  fullName: Venflow.Commands.IUpdateCommand<TEntity>\n  fullName.vb: Venflow.Commands.IUpdateCommand(Of TEntity)\n  nameWithType: IUpdateCommand<TEntity>\n  nameWithType.vb: IUpdateCommand(Of TEntity)\n- uid: Venflow.Commands.IUpdateCommand`1.UpdateAsync(`0,System.Threading.CancellationToken)\n  name: UpdateAsync(TEntity, CancellationToken)\n  href: api/Venflow.Commands.IUpdateCommand-1.html#Venflow_Commands_IUpdateCommand_1_UpdateAsync__0_System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IUpdateCommand`1.UpdateAsync(`0,System.Threading.CancellationToken)\n  fullName: Venflow.Commands.IUpdateCommand<TEntity>.UpdateAsync(TEntity, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IUpdateCommand(Of TEntity).UpdateAsync(TEntity, System.Threading.CancellationToken)\n  nameWithType: IUpdateCommand<TEntity>.UpdateAsync(TEntity, CancellationToken)\n  nameWithType.vb: IUpdateCommand(Of TEntity).UpdateAsync(TEntity, CancellationToken)\n- uid: Venflow.Commands.IUpdateCommand`1.UpdateAsync(`0[],System.Threading.CancellationToken)\n  name: UpdateAsync(TEntity[], CancellationToken)\n  href: api/Venflow.Commands.IUpdateCommand-1.html#Venflow_Commands_IUpdateCommand_1_UpdateAsync__0___System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IUpdateCommand`1.UpdateAsync(`0[],System.Threading.CancellationToken)\n  name.vb: UpdateAsync(TEntity(), CancellationToken)\n  fullName: Venflow.Commands.IUpdateCommand<TEntity>.UpdateAsync(TEntity[], System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IUpdateCommand(Of TEntity).UpdateAsync(TEntity(), System.Threading.CancellationToken)\n  nameWithType: IUpdateCommand<TEntity>.UpdateAsync(TEntity[], CancellationToken)\n  nameWithType.vb: IUpdateCommand(Of TEntity).UpdateAsync(TEntity(), CancellationToken)\n- uid: Venflow.Commands.IUpdateCommand`1.UpdateAsync(System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\n  name: UpdateAsync(IEnumerable<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IUpdateCommand-1.html#Venflow_Commands_IUpdateCommand_1_UpdateAsync_System_Collections_Generic_IEnumerable__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IUpdateCommand`1.UpdateAsync(System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\n  name.vb: UpdateAsync(IEnumerable(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IUpdateCommand<TEntity>.UpdateAsync(System.Collections.Generic.IEnumerable<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IUpdateCommand(Of TEntity).UpdateAsync(System.Collections.Generic.IEnumerable(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: IUpdateCommand<TEntity>.UpdateAsync(IEnumerable<TEntity>, CancellationToken)\n  nameWithType.vb: IUpdateCommand(Of TEntity).UpdateAsync(IEnumerable(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IUpdateCommand`1.UpdateAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\n  name: UpdateAsync(IList<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IUpdateCommand-1.html#Venflow_Commands_IUpdateCommand_1_UpdateAsync_System_Collections_Generic_IList__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IUpdateCommand`1.UpdateAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\n  name.vb: UpdateAsync(IList(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IUpdateCommand<TEntity>.UpdateAsync(System.Collections.Generic.IList<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IUpdateCommand(Of TEntity).UpdateAsync(System.Collections.Generic.IList(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: IUpdateCommand<TEntity>.UpdateAsync(IList<TEntity>, CancellationToken)\n  nameWithType.vb: IUpdateCommand(Of TEntity).UpdateAsync(IList(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IUpdateCommand`1.UpdateAsync(System.Collections.Generic.List{`0},System.Threading.CancellationToken)\n  name: UpdateAsync(List<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IUpdateCommand-1.html#Venflow_Commands_IUpdateCommand_1_UpdateAsync_System_Collections_Generic_List__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IUpdateCommand`1.UpdateAsync(System.Collections.Generic.List{`0},System.Threading.CancellationToken)\n  name.vb: UpdateAsync(List(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IUpdateCommand<TEntity>.UpdateAsync(System.Collections.Generic.List<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IUpdateCommand(Of TEntity).UpdateAsync(System.Collections.Generic.List(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: IUpdateCommand<TEntity>.UpdateAsync(List<TEntity>, CancellationToken)\n  nameWithType.vb: IUpdateCommand(Of TEntity).UpdateAsync(List(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IUpdateCommand`1.UpdateAsync*\n  name: UpdateAsync\n  href: api/Venflow.Commands.IUpdateCommand-1.html#Venflow_Commands_IUpdateCommand_1_UpdateAsync_\n  commentId: Overload:Venflow.Commands.IUpdateCommand`1.UpdateAsync\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IUpdateCommand<TEntity>.UpdateAsync\n  fullName.vb: Venflow.Commands.IUpdateCommand(Of TEntity).UpdateAsync\n  nameWithType: IUpdateCommand<TEntity>.UpdateAsync\n  nameWithType.vb: IUpdateCommand(Of TEntity).UpdateAsync\n- uid: Venflow.Commands.IUpdateCommandBuilder`1\n  name: IUpdateCommandBuilder<TEntity>\n  href: api/Venflow.Commands.IUpdateCommandBuilder-1.html\n  commentId: T:Venflow.Commands.IUpdateCommandBuilder`1\n  name.vb: IUpdateCommandBuilder(Of TEntity)\n  fullName: Venflow.Commands.IUpdateCommandBuilder<TEntity>\n  fullName.vb: Venflow.Commands.IUpdateCommandBuilder(Of TEntity)\n  nameWithType: IUpdateCommandBuilder<TEntity>\n  nameWithType.vb: IUpdateCommandBuilder(Of TEntity)\n- uid: Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(`0,System.Threading.CancellationToken)\n  name: UpdateAsync(TEntity, CancellationToken)\n  href: api/Venflow.Commands.IUpdateCommandBuilder-1.html#Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync__0_System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(`0,System.Threading.CancellationToken)\n  fullName: Venflow.Commands.IUpdateCommandBuilder<TEntity>.UpdateAsync(TEntity, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IUpdateCommandBuilder(Of TEntity).UpdateAsync(TEntity, System.Threading.CancellationToken)\n  nameWithType: IUpdateCommandBuilder<TEntity>.UpdateAsync(TEntity, CancellationToken)\n  nameWithType.vb: IUpdateCommandBuilder(Of TEntity).UpdateAsync(TEntity, CancellationToken)\n- uid: Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(`0[],System.Threading.CancellationToken)\n  name: UpdateAsync(TEntity[], CancellationToken)\n  href: api/Venflow.Commands.IUpdateCommandBuilder-1.html#Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync__0___System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(`0[],System.Threading.CancellationToken)\n  name.vb: UpdateAsync(TEntity(), CancellationToken)\n  fullName: Venflow.Commands.IUpdateCommandBuilder<TEntity>.UpdateAsync(TEntity[], System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IUpdateCommandBuilder(Of TEntity).UpdateAsync(TEntity(), System.Threading.CancellationToken)\n  nameWithType: IUpdateCommandBuilder<TEntity>.UpdateAsync(TEntity[], CancellationToken)\n  nameWithType.vb: IUpdateCommandBuilder(Of TEntity).UpdateAsync(TEntity(), CancellationToken)\n- uid: Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\n  name: UpdateAsync(IEnumerable<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IUpdateCommandBuilder-1.html#Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_System_Collections_Generic_IEnumerable__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\n  name.vb: UpdateAsync(IEnumerable(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IUpdateCommandBuilder<TEntity>.UpdateAsync(System.Collections.Generic.IEnumerable<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IUpdateCommandBuilder(Of TEntity).UpdateAsync(System.Collections.Generic.IEnumerable(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: IUpdateCommandBuilder<TEntity>.UpdateAsync(IEnumerable<TEntity>, CancellationToken)\n  nameWithType.vb: IUpdateCommandBuilder(Of TEntity).UpdateAsync(IEnumerable(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\n  name: UpdateAsync(IList<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IUpdateCommandBuilder-1.html#Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_System_Collections_Generic_IList__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\n  name.vb: UpdateAsync(IList(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IUpdateCommandBuilder<TEntity>.UpdateAsync(System.Collections.Generic.IList<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IUpdateCommandBuilder(Of TEntity).UpdateAsync(System.Collections.Generic.IList(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: IUpdateCommandBuilder<TEntity>.UpdateAsync(IList<TEntity>, CancellationToken)\n  nameWithType.vb: IUpdateCommandBuilder(Of TEntity).UpdateAsync(IList(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(System.Collections.Generic.List{`0},System.Threading.CancellationToken)\n  name: UpdateAsync(List<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IUpdateCommandBuilder-1.html#Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_System_Collections_Generic_List__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(System.Collections.Generic.List{`0},System.Threading.CancellationToken)\n  name.vb: UpdateAsync(List(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IUpdateCommandBuilder<TEntity>.UpdateAsync(System.Collections.Generic.List<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Commands.IUpdateCommandBuilder(Of TEntity).UpdateAsync(System.Collections.Generic.List(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: IUpdateCommandBuilder<TEntity>.UpdateAsync(List<TEntity>, CancellationToken)\n  nameWithType.vb: IUpdateCommandBuilder(Of TEntity).UpdateAsync(List(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync*\n  name: UpdateAsync\n  href: api/Venflow.Commands.IUpdateCommandBuilder-1.html#Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_\n  commentId: Overload:Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IUpdateCommandBuilder<TEntity>.UpdateAsync\n  fullName.vb: Venflow.Commands.IUpdateCommandBuilder(Of TEntity).UpdateAsync\n  nameWithType: IUpdateCommandBuilder<TEntity>.UpdateAsync\n  nameWithType.vb: IUpdateCommandBuilder(Of TEntity).UpdateAsync\n- uid: Venflow.Commands.IVenflowCommand`1\n  name: IVenflowCommand<TEntity>\n  href: api/Venflow.Commands.IVenflowCommand-1.html\n  commentId: T:Venflow.Commands.IVenflowCommand`1\n  name.vb: IVenflowCommand(Of TEntity)\n  fullName: Venflow.Commands.IVenflowCommand<TEntity>\n  fullName.vb: Venflow.Commands.IVenflowCommand(Of TEntity)\n  nameWithType: IVenflowCommand<TEntity>\n  nameWithType.vb: IVenflowCommand(Of TEntity)\n- uid: Venflow.Commands.IVenflowCommandBuilder`1\n  name: IVenflowCommandBuilder<TEntity>\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html\n  commentId: T:Venflow.Commands.IVenflowCommandBuilder`1\n  name.vb: IVenflowCommandBuilder(Of TEntity)\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity)\n  nameWithType: IVenflowCommandBuilder<TEntity>\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity)\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.Delete\n  name: Delete()\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_Delete\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.Delete\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.Delete()\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).Delete()\n  nameWithType: IVenflowCommandBuilder<TEntity>.Delete()\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).Delete()\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.Delete*\n  name: Delete\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_Delete_\n  commentId: Overload:Venflow.Commands.IVenflowCommandBuilder`1.Delete\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.Delete\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).Delete\n  nameWithType: IVenflowCommandBuilder<TEntity>.Delete\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).Delete\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.Insert\n  name: Insert()\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_Insert\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.Insert\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.Insert()\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).Insert()\n  nameWithType: IVenflowCommandBuilder<TEntity>.Insert()\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).Insert()\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.Insert*\n  name: Insert\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_Insert_\n  commentId: Overload:Venflow.Commands.IVenflowCommandBuilder`1.Insert\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.Insert\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).Insert\n  nameWithType: IVenflowCommandBuilder<TEntity>.Insert\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).Insert\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch(System.String)\n  name: QueryBatch(String)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_System_String_\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch(System.String)\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QueryBatch(System.String)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QueryBatch(System.String)\n  nameWithType: IVenflowCommandBuilder<TEntity>.QueryBatch(String)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QueryBatch(String)\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch(System.String,Npgsql.NpgsqlParameter[])\n  name: QueryBatch(String, NpgsqlParameter[])\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_System_String_Npgsql_NpgsqlParameter___\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch(System.String,Npgsql.NpgsqlParameter[])\n  name.vb: QueryBatch(String, NpgsqlParameter())\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QueryBatch(System.String, Npgsql.NpgsqlParameter[])\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QueryBatch(System.String, Npgsql.NpgsqlParameter())\n  nameWithType: IVenflowCommandBuilder<TEntity>.QueryBatch(String, NpgsqlParameter[])\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QueryBatch(String, NpgsqlParameter())\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\n  name: QueryBatch\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\n  commentId: Overload:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QueryBatch\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QueryBatch\n  nameWithType: IVenflowCommandBuilder<TEntity>.QueryBatch\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QueryBatch\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedBatch(System.FormattableString)\n  name: QueryInterpolatedBatch(FormattableString)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedBatch_System_FormattableString_\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedBatch(System.FormattableString)\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QueryInterpolatedBatch(System.FormattableString)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QueryInterpolatedBatch(System.FormattableString)\n  nameWithType: IVenflowCommandBuilder<TEntity>.QueryInterpolatedBatch(FormattableString)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QueryInterpolatedBatch(FormattableString)\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedBatch*\n  name: QueryInterpolatedBatch\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedBatch_\n  commentId: Overload:Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedBatch\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QueryInterpolatedBatch\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QueryInterpolatedBatch\n  nameWithType: IVenflowCommandBuilder<TEntity>.QueryInterpolatedBatch\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QueryInterpolatedBatch\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedSingle(System.FormattableString)\n  name: QueryInterpolatedSingle(FormattableString)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedSingle_System_FormattableString_\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedSingle(System.FormattableString)\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QueryInterpolatedSingle(System.FormattableString)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QueryInterpolatedSingle(System.FormattableString)\n  nameWithType: IVenflowCommandBuilder<TEntity>.QueryInterpolatedSingle(FormattableString)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QueryInterpolatedSingle(FormattableString)\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedSingle*\n  name: QueryInterpolatedSingle\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedSingle_\n  commentId: Overload:Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedSingle\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QueryInterpolatedSingle\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QueryInterpolatedSingle\n  nameWithType: IVenflowCommandBuilder<TEntity>.QueryInterpolatedSingle\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QueryInterpolatedSingle\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle(System.String)\n  name: QuerySingle(String)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_System_String_\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle(System.String)\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QuerySingle(System.String)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QuerySingle(System.String)\n  nameWithType: IVenflowCommandBuilder<TEntity>.QuerySingle(String)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QuerySingle(String)\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle(System.String,Npgsql.NpgsqlParameter[])\n  name: QuerySingle(String, NpgsqlParameter[])\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_System_String_Npgsql_NpgsqlParameter___\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle(System.String,Npgsql.NpgsqlParameter[])\n  name.vb: QuerySingle(String, NpgsqlParameter())\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QuerySingle(System.String, Npgsql.NpgsqlParameter[])\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QuerySingle(System.String, Npgsql.NpgsqlParameter())\n  nameWithType: IVenflowCommandBuilder<TEntity>.QuerySingle(String, NpgsqlParameter[])\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QuerySingle(String, NpgsqlParameter())\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\n  name: QuerySingle\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\n  commentId: Overload:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QuerySingle\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QuerySingle\n  nameWithType: IVenflowCommandBuilder<TEntity>.QuerySingle\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QuerySingle\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.Update\n  name: Update()\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_Update\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.Update\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.Update()\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).Update()\n  nameWithType: IVenflowCommandBuilder<TEntity>.Update()\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).Update()\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.Update*\n  name: Update\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_Update_\n  commentId: Overload:Venflow.Commands.IVenflowCommandBuilder`1.Update\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.Update\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).Update\n  nameWithType: IVenflowCommandBuilder<TEntity>.Update\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).Update\n- uid: Venflow.Database\n  name: Database\n  href: api/Venflow.Database.html\n  commentId: T:Venflow.Database\n  fullName: Venflow.Database\n  nameWithType: Database\n- uid: Venflow.Database.#ctor(System.String)\n  name: Database(String)\n  href: api/Venflow.Database.html#Venflow_Database__ctor_System_String_\n  commentId: M:Venflow.Database.#ctor(System.String)\n  fullName: Venflow.Database.Database(System.String)\n  nameWithType: Database.Database(String)\n- uid: Venflow.Database.#ctor*\n  name: Database\n  href: api/Venflow.Database.html#Venflow_Database__ctor_\n  commentId: Overload:Venflow.Database.#ctor\n  isSpec: \"True\"\n  fullName: Venflow.Database.Database\n  nameWithType: Database.Database\n- uid: Venflow.Database.BeginTransactionAsync(System.Data.IsolationLevel,System.Threading.CancellationToken)\n  name: BeginTransactionAsync(IsolationLevel, CancellationToken)\n  href: api/Venflow.Database.html#Venflow_Database_BeginTransactionAsync_System_Data_IsolationLevel_System_Threading_CancellationToken_\n  commentId: M:Venflow.Database.BeginTransactionAsync(System.Data.IsolationLevel,System.Threading.CancellationToken)\n  fullName: Venflow.Database.BeginTransactionAsync(System.Data.IsolationLevel, System.Threading.CancellationToken)\n  nameWithType: Database.BeginTransactionAsync(IsolationLevel, CancellationToken)\n- uid: Venflow.Database.BeginTransactionAsync(System.Threading.CancellationToken)\n  name: BeginTransactionAsync(CancellationToken)\n  href: api/Venflow.Database.html#Venflow_Database_BeginTransactionAsync_System_Threading_CancellationToken_\n  commentId: M:Venflow.Database.BeginTransactionAsync(System.Threading.CancellationToken)\n  fullName: Venflow.Database.BeginTransactionAsync(System.Threading.CancellationToken)\n  nameWithType: Database.BeginTransactionAsync(CancellationToken)\n- uid: Venflow.Database.BeginTransactionAsync*\n  name: BeginTransactionAsync\n  href: api/Venflow.Database.html#Venflow_Database_BeginTransactionAsync_\n  commentId: Overload:Venflow.Database.BeginTransactionAsync\n  isSpec: \"True\"\n  fullName: Venflow.Database.BeginTransactionAsync\n  nameWithType: Database.BeginTransactionAsync\n- uid: Venflow.Database.Configure(Venflow.DatabaseOptionsBuilder)\n  name: Configure(DatabaseOptionsBuilder)\n  href: api/Venflow.Database.html#Venflow_Database_Configure_Venflow_DatabaseOptionsBuilder_\n  commentId: M:Venflow.Database.Configure(Venflow.DatabaseOptionsBuilder)\n  fullName: Venflow.Database.Configure(Venflow.DatabaseOptionsBuilder)\n  nameWithType: Database.Configure(DatabaseOptionsBuilder)\n- uid: Venflow.Database.Configure*\n  name: Configure\n  href: api/Venflow.Database.html#Venflow_Database_Configure_\n  commentId: Overload:Venflow.Database.Configure\n  isSpec: \"True\"\n  fullName: Venflow.Database.Configure\n  nameWithType: Database.Configure\n- uid: Venflow.Database.Custom*\n  name: Custom\n  href: api/Venflow.Database.html#Venflow_Database_Custom_\n  commentId: Overload:Venflow.Database.Custom\n  isSpec: \"True\"\n  fullName: Venflow.Database.Custom\n  nameWithType: Database.Custom\n- uid: Venflow.Database.Custom``1\n  name: Custom<TEntity>()\n  href: api/Venflow.Database.html#Venflow_Database_Custom__1\n  commentId: M:Venflow.Database.Custom``1\n  name.vb: Custom(Of TEntity)()\n  fullName: Venflow.Database.Custom<TEntity>()\n  fullName.vb: Venflow.Database.Custom(Of TEntity)()\n  nameWithType: Database.Custom<TEntity>()\n  nameWithType.vb: Database.Custom(Of TEntity)()\n- uid: Venflow.Database.Dispose\n  name: Dispose()\n  href: api/Venflow.Database.html#Venflow_Database_Dispose\n  commentId: M:Venflow.Database.Dispose\n  fullName: Venflow.Database.Dispose()\n  nameWithType: Database.Dispose()\n- uid: Venflow.Database.Dispose*\n  name: Dispose\n  href: api/Venflow.Database.html#Venflow_Database_Dispose_\n  commentId: Overload:Venflow.Database.Dispose\n  isSpec: \"True\"\n  fullName: Venflow.Database.Dispose\n  nameWithType: Database.Dispose\n- uid: Venflow.Database.DisposeAsync\n  name: DisposeAsync()\n  href: api/Venflow.Database.html#Venflow_Database_DisposeAsync\n  commentId: M:Venflow.Database.DisposeAsync\n  fullName: Venflow.Database.DisposeAsync()\n  nameWithType: Database.DisposeAsync()\n- uid: Venflow.Database.DisposeAsync*\n  name: DisposeAsync\n  href: api/Venflow.Database.html#Venflow_Database_DisposeAsync_\n  commentId: Overload:Venflow.Database.DisposeAsync\n  isSpec: \"True\"\n  fullName: Venflow.Database.DisposeAsync\n  nameWithType: Database.DisposeAsync\n- uid: Venflow.Database.ExecuteAsync(System.String,Npgsql.NpgsqlParameter[])\n  name: ExecuteAsync(String, NpgsqlParameter[])\n  href: api/Venflow.Database.html#Venflow_Database_ExecuteAsync_System_String_Npgsql_NpgsqlParameter___\n  commentId: M:Venflow.Database.ExecuteAsync(System.String,Npgsql.NpgsqlParameter[])\n  name.vb: ExecuteAsync(String, NpgsqlParameter())\n  fullName: Venflow.Database.ExecuteAsync(System.String, Npgsql.NpgsqlParameter[])\n  fullName.vb: Venflow.Database.ExecuteAsync(System.String, Npgsql.NpgsqlParameter())\n  nameWithType: Database.ExecuteAsync(String, NpgsqlParameter[])\n  nameWithType.vb: Database.ExecuteAsync(String, NpgsqlParameter())\n- uid: Venflow.Database.ExecuteAsync(System.String,System.Collections.Generic.IList{Npgsql.NpgsqlParameter},System.Threading.CancellationToken)\n  name: ExecuteAsync(String, IList<NpgsqlParameter>, CancellationToken)\n  href: api/Venflow.Database.html#Venflow_Database_ExecuteAsync_System_String_System_Collections_Generic_IList_Npgsql_NpgsqlParameter__System_Threading_CancellationToken_\n  commentId: M:Venflow.Database.ExecuteAsync(System.String,System.Collections.Generic.IList{Npgsql.NpgsqlParameter},System.Threading.CancellationToken)\n  name.vb: ExecuteAsync(String, IList(Of NpgsqlParameter), CancellationToken)\n  fullName: Venflow.Database.ExecuteAsync(System.String, System.Collections.Generic.IList<Npgsql.NpgsqlParameter>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Database.ExecuteAsync(System.String, System.Collections.Generic.IList(Of Npgsql.NpgsqlParameter), System.Threading.CancellationToken)\n  nameWithType: Database.ExecuteAsync(String, IList<NpgsqlParameter>, CancellationToken)\n  nameWithType.vb: Database.ExecuteAsync(String, IList(Of NpgsqlParameter), CancellationToken)\n- uid: Venflow.Database.ExecuteAsync(System.String,System.Threading.CancellationToken)\n  name: ExecuteAsync(String, CancellationToken)\n  href: api/Venflow.Database.html#Venflow_Database_ExecuteAsync_System_String_System_Threading_CancellationToken_\n  commentId: M:Venflow.Database.ExecuteAsync(System.String,System.Threading.CancellationToken)\n  fullName: Venflow.Database.ExecuteAsync(System.String, System.Threading.CancellationToken)\n  nameWithType: Database.ExecuteAsync(String, CancellationToken)\n- uid: Venflow.Database.ExecuteAsync*\n  name: ExecuteAsync\n  href: api/Venflow.Database.html#Venflow_Database_ExecuteAsync_\n  commentId: Overload:Venflow.Database.ExecuteAsync\n  isSpec: \"True\"\n  fullName: Venflow.Database.ExecuteAsync\n  nameWithType: Database.ExecuteAsync\n- uid: Venflow.Database.ExecuteAsync``1(System.String,Npgsql.NpgsqlParameter[])\n  name: ExecuteAsync<T>(String, NpgsqlParameter[])\n  href: api/Venflow.Database.html#Venflow_Database_ExecuteAsync__1_System_String_Npgsql_NpgsqlParameter___\n  commentId: M:Venflow.Database.ExecuteAsync``1(System.String,Npgsql.NpgsqlParameter[])\n  name.vb: ExecuteAsync(Of T)(String, NpgsqlParameter())\n  fullName: Venflow.Database.ExecuteAsync<T>(System.String, Npgsql.NpgsqlParameter[])\n  fullName.vb: Venflow.Database.ExecuteAsync(Of T)(System.String, Npgsql.NpgsqlParameter())\n  nameWithType: Database.ExecuteAsync<T>(String, NpgsqlParameter[])\n  nameWithType.vb: Database.ExecuteAsync(Of T)(String, NpgsqlParameter())\n- uid: Venflow.Database.ExecuteAsync``1(System.String,System.Collections.Generic.IList{Npgsql.NpgsqlParameter},System.Threading.CancellationToken)\n  name: ExecuteAsync<T>(String, IList<NpgsqlParameter>, CancellationToken)\n  href: api/Venflow.Database.html#Venflow_Database_ExecuteAsync__1_System_String_System_Collections_Generic_IList_Npgsql_NpgsqlParameter__System_Threading_CancellationToken_\n  commentId: M:Venflow.Database.ExecuteAsync``1(System.String,System.Collections.Generic.IList{Npgsql.NpgsqlParameter},System.Threading.CancellationToken)\n  name.vb: ExecuteAsync(Of T)(String, IList(Of NpgsqlParameter), CancellationToken)\n  fullName: Venflow.Database.ExecuteAsync<T>(System.String, System.Collections.Generic.IList<Npgsql.NpgsqlParameter>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Database.ExecuteAsync(Of T)(System.String, System.Collections.Generic.IList(Of Npgsql.NpgsqlParameter), System.Threading.CancellationToken)\n  nameWithType: Database.ExecuteAsync<T>(String, IList<NpgsqlParameter>, CancellationToken)\n  nameWithType.vb: Database.ExecuteAsync(Of T)(String, IList(Of NpgsqlParameter), CancellationToken)\n- uid: Venflow.Database.ExecuteAsync``1(System.String,System.Threading.CancellationToken)\n  name: ExecuteAsync<T>(String, CancellationToken)\n  href: api/Venflow.Database.html#Venflow_Database_ExecuteAsync__1_System_String_System_Threading_CancellationToken_\n  commentId: M:Venflow.Database.ExecuteAsync``1(System.String,System.Threading.CancellationToken)\n  name.vb: ExecuteAsync(Of T)(String, CancellationToken)\n  fullName: Venflow.Database.ExecuteAsync<T>(System.String, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Database.ExecuteAsync(Of T)(System.String, System.Threading.CancellationToken)\n  nameWithType: Database.ExecuteAsync<T>(String, CancellationToken)\n  nameWithType.vb: Database.ExecuteAsync(Of T)(String, CancellationToken)\n- uid: Venflow.Database.ExecuteInterpolatedAsync(System.FormattableString,System.Threading.CancellationToken)\n  name: ExecuteInterpolatedAsync(FormattableString, CancellationToken)\n  href: api/Venflow.Database.html#Venflow_Database_ExecuteInterpolatedAsync_System_FormattableString_System_Threading_CancellationToken_\n  commentId: M:Venflow.Database.ExecuteInterpolatedAsync(System.FormattableString,System.Threading.CancellationToken)\n  fullName: Venflow.Database.ExecuteInterpolatedAsync(System.FormattableString, System.Threading.CancellationToken)\n  nameWithType: Database.ExecuteInterpolatedAsync(FormattableString, CancellationToken)\n- uid: Venflow.Database.ExecuteInterpolatedAsync*\n  name: ExecuteInterpolatedAsync\n  href: api/Venflow.Database.html#Venflow_Database_ExecuteInterpolatedAsync_\n  commentId: Overload:Venflow.Database.ExecuteInterpolatedAsync\n  isSpec: \"True\"\n  fullName: Venflow.Database.ExecuteInterpolatedAsync\n  nameWithType: Database.ExecuteInterpolatedAsync\n- uid: Venflow.Database.ExecuteInterpolatedAsync``1(System.FormattableString,System.Threading.CancellationToken)\n  name: ExecuteInterpolatedAsync<T>(FormattableString, CancellationToken)\n  href: api/Venflow.Database.html#Venflow_Database_ExecuteInterpolatedAsync__1_System_FormattableString_System_Threading_CancellationToken_\n  commentId: M:Venflow.Database.ExecuteInterpolatedAsync``1(System.FormattableString,System.Threading.CancellationToken)\n  name.vb: ExecuteInterpolatedAsync(Of T)(FormattableString, CancellationToken)\n  fullName: Venflow.Database.ExecuteInterpolatedAsync<T>(System.FormattableString, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Database.ExecuteInterpolatedAsync(Of T)(System.FormattableString, System.Threading.CancellationToken)\n  nameWithType: Database.ExecuteInterpolatedAsync<T>(FormattableString, CancellationToken)\n  nameWithType.vb: Database.ExecuteInterpolatedAsync(Of T)(FormattableString, CancellationToken)\n- uid: Venflow.Database.GetConnection\n  name: GetConnection()\n  href: api/Venflow.Database.html#Venflow_Database_GetConnection\n  commentId: M:Venflow.Database.GetConnection\n  fullName: Venflow.Database.GetConnection()\n  nameWithType: Database.GetConnection()\n- uid: Venflow.Database.GetConnection*\n  name: GetConnection\n  href: api/Venflow.Database.html#Venflow_Database_GetConnection_\n  commentId: Overload:Venflow.Database.GetConnection\n  isSpec: \"True\"\n  fullName: Venflow.Database.GetConnection\n  nameWithType: Database.GetConnection\n- uid: Venflow.DatabaseOptionsBuilder\n  name: DatabaseOptionsBuilder\n  href: api/Venflow.DatabaseOptionsBuilder.html\n  commentId: T:Venflow.DatabaseOptionsBuilder\n  fullName: Venflow.DatabaseOptionsBuilder\n  nameWithType: DatabaseOptionsBuilder\n- uid: Venflow.DatabaseOptionsBuilder.AddConfigurations(System.Reflection.Assembly)\n  name: AddConfigurations(Assembly)\n  href: api/Venflow.DatabaseOptionsBuilder.html#Venflow_DatabaseOptionsBuilder_AddConfigurations_System_Reflection_Assembly_\n  commentId: M:Venflow.DatabaseOptionsBuilder.AddConfigurations(System.Reflection.Assembly)\n  fullName: Venflow.DatabaseOptionsBuilder.AddConfigurations(System.Reflection.Assembly)\n  nameWithType: DatabaseOptionsBuilder.AddConfigurations(Assembly)\n- uid: Venflow.DatabaseOptionsBuilder.AddConfigurations(System.Reflection.Assembly[])\n  name: AddConfigurations(Assembly[])\n  href: api/Venflow.DatabaseOptionsBuilder.html#Venflow_DatabaseOptionsBuilder_AddConfigurations_System_Reflection_Assembly___\n  commentId: M:Venflow.DatabaseOptionsBuilder.AddConfigurations(System.Reflection.Assembly[])\n  name.vb: AddConfigurations(Assembly())\n  fullName: Venflow.DatabaseOptionsBuilder.AddConfigurations(System.Reflection.Assembly[])\n  fullName.vb: Venflow.DatabaseOptionsBuilder.AddConfigurations(System.Reflection.Assembly())\n  nameWithType: DatabaseOptionsBuilder.AddConfigurations(Assembly[])\n  nameWithType.vb: DatabaseOptionsBuilder.AddConfigurations(Assembly())\n- uid: Venflow.DatabaseOptionsBuilder.AddConfigurations*\n  name: AddConfigurations\n  href: api/Venflow.DatabaseOptionsBuilder.html#Venflow_DatabaseOptionsBuilder_AddConfigurations_\n  commentId: Overload:Venflow.DatabaseOptionsBuilder.AddConfigurations\n  isSpec: \"True\"\n  fullName: Venflow.DatabaseOptionsBuilder.AddConfigurations\n  nameWithType: DatabaseOptionsBuilder.AddConfigurations\n- uid: Venflow.DatabaseOptionsBuilder.AddConfigurations``1\n  name: AddConfigurations<T>()\n  href: api/Venflow.DatabaseOptionsBuilder.html#Venflow_DatabaseOptionsBuilder_AddConfigurations__1\n  commentId: M:Venflow.DatabaseOptionsBuilder.AddConfigurations``1\n  name.vb: AddConfigurations(Of T)()\n  fullName: Venflow.DatabaseOptionsBuilder.AddConfigurations<T>()\n  fullName.vb: Venflow.DatabaseOptionsBuilder.AddConfigurations(Of T)()\n  nameWithType: DatabaseOptionsBuilder.AddConfigurations<T>()\n  nameWithType.vb: DatabaseOptionsBuilder.AddConfigurations(Of T)()\n- uid: Venflow.DatabaseOptionsBuilder.DefaultLoggingBehavior\n  name: DefaultLoggingBehavior\n  href: api/Venflow.DatabaseOptionsBuilder.html#Venflow_DatabaseOptionsBuilder_DefaultLoggingBehavior\n  commentId: P:Venflow.DatabaseOptionsBuilder.DefaultLoggingBehavior\n  fullName: Venflow.DatabaseOptionsBuilder.DefaultLoggingBehavior\n  nameWithType: DatabaseOptionsBuilder.DefaultLoggingBehavior\n- uid: Venflow.DatabaseOptionsBuilder.DefaultLoggingBehavior*\n  name: DefaultLoggingBehavior\n  href: api/Venflow.DatabaseOptionsBuilder.html#Venflow_DatabaseOptionsBuilder_DefaultLoggingBehavior_\n  commentId: Overload:Venflow.DatabaseOptionsBuilder.DefaultLoggingBehavior\n  isSpec: \"True\"\n  fullName: Venflow.DatabaseOptionsBuilder.DefaultLoggingBehavior\n  nameWithType: DatabaseOptionsBuilder.DefaultLoggingBehavior\n- uid: Venflow.DatabaseOptionsBuilder.LogTo(System.Action{System.String},System.Boolean)\n  name: LogTo(Action<String>, Boolean)\n  href: api/Venflow.DatabaseOptionsBuilder.html#Venflow_DatabaseOptionsBuilder_LogTo_System_Action_System_String__System_Boolean_\n  commentId: M:Venflow.DatabaseOptionsBuilder.LogTo(System.Action{System.String},System.Boolean)\n  name.vb: LogTo(Action(Of String), Boolean)\n  fullName: Venflow.DatabaseOptionsBuilder.LogTo(System.Action<System.String>, System.Boolean)\n  fullName.vb: Venflow.DatabaseOptionsBuilder.LogTo(System.Action(Of System.String), System.Boolean)\n  nameWithType: DatabaseOptionsBuilder.LogTo(Action<String>, Boolean)\n  nameWithType.vb: DatabaseOptionsBuilder.LogTo(Action(Of String), Boolean)\n- uid: Venflow.DatabaseOptionsBuilder.LogTo*\n  name: LogTo\n  href: api/Venflow.DatabaseOptionsBuilder.html#Venflow_DatabaseOptionsBuilder_LogTo_\n  commentId: Overload:Venflow.DatabaseOptionsBuilder.LogTo\n  isSpec: \"True\"\n  fullName: Venflow.DatabaseOptionsBuilder.LogTo\n  nameWithType: DatabaseOptionsBuilder.LogTo\n- uid: Venflow.Enums\n  name: Venflow.Enums\n  href: api/Venflow.Enums.html\n  commentId: N:Venflow.Enums\n  fullName: Venflow.Enums\n  nameWithType: Venflow.Enums\n- uid: Venflow.Enums.ForeignTruncateOptions\n  name: ForeignTruncateOptions\n  href: api/Venflow.Enums.ForeignTruncateOptions.html\n  commentId: T:Venflow.Enums.ForeignTruncateOptions\n  fullName: Venflow.Enums.ForeignTruncateOptions\n  nameWithType: ForeignTruncateOptions\n- uid: Venflow.Enums.ForeignTruncateOptions.Cascade\n  name: Cascade\n  href: api/Venflow.Enums.ForeignTruncateOptions.html#Venflow_Enums_ForeignTruncateOptions_Cascade\n  commentId: F:Venflow.Enums.ForeignTruncateOptions.Cascade\n  fullName: Venflow.Enums.ForeignTruncateOptions.Cascade\n  nameWithType: ForeignTruncateOptions.Cascade\n- uid: Venflow.Enums.ForeignTruncateOptions.None\n  name: None\n  href: api/Venflow.Enums.ForeignTruncateOptions.html#Venflow_Enums_ForeignTruncateOptions_None\n  commentId: F:Venflow.Enums.ForeignTruncateOptions.None\n  fullName: Venflow.Enums.ForeignTruncateOptions.None\n  nameWithType: ForeignTruncateOptions.None\n- uid: Venflow.Enums.ForeignTruncateOptions.Restrict\n  name: Restrict\n  href: api/Venflow.Enums.ForeignTruncateOptions.html#Venflow_Enums_ForeignTruncateOptions_Restrict\n  commentId: F:Venflow.Enums.ForeignTruncateOptions.Restrict\n  fullName: Venflow.Enums.ForeignTruncateOptions.Restrict\n  nameWithType: ForeignTruncateOptions.Restrict\n- uid: Venflow.Enums.IdentityTruncateOptions\n  name: IdentityTruncateOptions\n  href: api/Venflow.Enums.IdentityTruncateOptions.html\n  commentId: T:Venflow.Enums.IdentityTruncateOptions\n  fullName: Venflow.Enums.IdentityTruncateOptions\n  nameWithType: IdentityTruncateOptions\n- uid: Venflow.Enums.IdentityTruncateOptions.Continue\n  name: Continue\n  href: api/Venflow.Enums.IdentityTruncateOptions.html#Venflow_Enums_IdentityTruncateOptions_Continue\n  commentId: F:Venflow.Enums.IdentityTruncateOptions.Continue\n  fullName: Venflow.Enums.IdentityTruncateOptions.Continue\n  nameWithType: IdentityTruncateOptions.Continue\n- uid: Venflow.Enums.IdentityTruncateOptions.None\n  name: None\n  href: api/Venflow.Enums.IdentityTruncateOptions.html#Venflow_Enums_IdentityTruncateOptions_None\n  commentId: F:Venflow.Enums.IdentityTruncateOptions.None\n  fullName: Venflow.Enums.IdentityTruncateOptions.None\n  nameWithType: IdentityTruncateOptions.None\n- uid: Venflow.Enums.IdentityTruncateOptions.Restart\n  name: Restart\n  href: api/Venflow.Enums.IdentityTruncateOptions.html#Venflow_Enums_IdentityTruncateOptions_Restart\n  commentId: F:Venflow.Enums.IdentityTruncateOptions.Restart\n  fullName: Venflow.Enums.IdentityTruncateOptions.Restart\n  nameWithType: IdentityTruncateOptions.Restart\n- uid: Venflow.Enums.JoinBehaviour\n  name: JoinBehaviour\n  href: api/Venflow.Enums.JoinBehaviour.html\n  commentId: T:Venflow.Enums.JoinBehaviour\n  fullName: Venflow.Enums.JoinBehaviour\n  nameWithType: JoinBehaviour\n- uid: Venflow.Enums.JoinBehaviour.FullJoin\n  name: FullJoin\n  href: api/Venflow.Enums.JoinBehaviour.html#Venflow_Enums_JoinBehaviour_FullJoin\n  commentId: F:Venflow.Enums.JoinBehaviour.FullJoin\n  fullName: Venflow.Enums.JoinBehaviour.FullJoin\n  nameWithType: JoinBehaviour.FullJoin\n- uid: Venflow.Enums.JoinBehaviour.InnerJoin\n  name: InnerJoin\n  href: api/Venflow.Enums.JoinBehaviour.html#Venflow_Enums_JoinBehaviour_InnerJoin\n  commentId: F:Venflow.Enums.JoinBehaviour.InnerJoin\n  fullName: Venflow.Enums.JoinBehaviour.InnerJoin\n  nameWithType: JoinBehaviour.InnerJoin\n- uid: Venflow.Enums.JoinBehaviour.LeftJoin\n  name: LeftJoin\n  href: api/Venflow.Enums.JoinBehaviour.html#Venflow_Enums_JoinBehaviour_LeftJoin\n  commentId: F:Venflow.Enums.JoinBehaviour.LeftJoin\n  fullName: Venflow.Enums.JoinBehaviour.LeftJoin\n  nameWithType: JoinBehaviour.LeftJoin\n- uid: Venflow.Enums.JoinBehaviour.RightJoin\n  name: RightJoin\n  href: api/Venflow.Enums.JoinBehaviour.html#Venflow_Enums_JoinBehaviour_RightJoin\n  commentId: F:Venflow.Enums.JoinBehaviour.RightJoin\n  fullName: Venflow.Enums.JoinBehaviour.RightJoin\n  nameWithType: JoinBehaviour.RightJoin\n- uid: Venflow.Enums.LoggingBehavior\n  name: LoggingBehavior\n  href: api/Venflow.Enums.LoggingBehavior.html\n  commentId: T:Venflow.Enums.LoggingBehavior\n  fullName: Venflow.Enums.LoggingBehavior\n  nameWithType: LoggingBehavior\n- uid: Venflow.Enums.LoggingBehavior.Always\n  name: Always\n  href: api/Venflow.Enums.LoggingBehavior.html#Venflow_Enums_LoggingBehavior_Always\n  commentId: F:Venflow.Enums.LoggingBehavior.Always\n  fullName: Venflow.Enums.LoggingBehavior.Always\n  nameWithType: LoggingBehavior.Always\n- uid: Venflow.Enums.LoggingBehavior.Never\n  name: Never\n  href: api/Venflow.Enums.LoggingBehavior.html#Venflow_Enums_LoggingBehavior_Never\n  commentId: F:Venflow.Enums.LoggingBehavior.Never\n  fullName: Venflow.Enums.LoggingBehavior.Never\n  nameWithType: LoggingBehavior.Never\n- uid: Venflow.InvalidEntityRelationException\n  name: InvalidEntityRelationException\n  href: api/Venflow.InvalidEntityRelationException.html\n  commentId: T:Venflow.InvalidEntityRelationException\n  fullName: Venflow.InvalidEntityRelationException\n  nameWithType: InvalidEntityRelationException\n- uid: Venflow.InvalidEntityRelationException.#ctor\n  name: InvalidEntityRelationException()\n  href: api/Venflow.InvalidEntityRelationException.html#Venflow_InvalidEntityRelationException__ctor\n  commentId: M:Venflow.InvalidEntityRelationException.#ctor\n  fullName: Venflow.InvalidEntityRelationException.InvalidEntityRelationException()\n  nameWithType: InvalidEntityRelationException.InvalidEntityRelationException()\n- uid: Venflow.InvalidEntityRelationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)\n  name: InvalidEntityRelationException(SerializationInfo, StreamingContext)\n  href: api/Venflow.InvalidEntityRelationException.html#Venflow_InvalidEntityRelationException__ctor_System_Runtime_Serialization_SerializationInfo_System_Runtime_Serialization_StreamingContext_\n  commentId: M:Venflow.InvalidEntityRelationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)\n  fullName: Venflow.InvalidEntityRelationException.InvalidEntityRelationException(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext)\n  nameWithType: InvalidEntityRelationException.InvalidEntityRelationException(SerializationInfo, StreamingContext)\n- uid: Venflow.InvalidEntityRelationException.#ctor(System.String)\n  name: InvalidEntityRelationException(String)\n  href: api/Venflow.InvalidEntityRelationException.html#Venflow_InvalidEntityRelationException__ctor_System_String_\n  commentId: M:Venflow.InvalidEntityRelationException.#ctor(System.String)\n  fullName: Venflow.InvalidEntityRelationException.InvalidEntityRelationException(System.String)\n  nameWithType: InvalidEntityRelationException.InvalidEntityRelationException(String)\n- uid: Venflow.InvalidEntityRelationException.#ctor(System.String,System.Exception)\n  name: InvalidEntityRelationException(String, Exception)\n  href: api/Venflow.InvalidEntityRelationException.html#Venflow_InvalidEntityRelationException__ctor_System_String_System_Exception_\n  commentId: M:Venflow.InvalidEntityRelationException.#ctor(System.String,System.Exception)\n  fullName: Venflow.InvalidEntityRelationException.InvalidEntityRelationException(System.String, System.Exception)\n  nameWithType: InvalidEntityRelationException.InvalidEntityRelationException(String, Exception)\n- uid: Venflow.InvalidEntityRelationException.#ctor*\n  name: InvalidEntityRelationException\n  href: api/Venflow.InvalidEntityRelationException.html#Venflow_InvalidEntityRelationException__ctor_\n  commentId: Overload:Venflow.InvalidEntityRelationException.#ctor\n  isSpec: \"True\"\n  fullName: Venflow.InvalidEntityRelationException.InvalidEntityRelationException\n  nameWithType: InvalidEntityRelationException.InvalidEntityRelationException\n- uid: Venflow.IParameterTypeHandler\n  name: IParameterTypeHandler\n  href: api/Venflow.IParameterTypeHandler.html\n  commentId: T:Venflow.IParameterTypeHandler\n  fullName: Venflow.IParameterTypeHandler\n  nameWithType: IParameterTypeHandler\n- uid: Venflow.IParameterTypeHandler.Handle(System.String,System.Object)\n  name: Handle(String, Object)\n  href: api/Venflow.IParameterTypeHandler.html#Venflow_IParameterTypeHandler_Handle_System_String_System_Object_\n  commentId: M:Venflow.IParameterTypeHandler.Handle(System.String,System.Object)\n  fullName: Venflow.IParameterTypeHandler.Handle(System.String, System.Object)\n  nameWithType: IParameterTypeHandler.Handle(String, Object)\n- uid: Venflow.IParameterTypeHandler.Handle*\n  name: Handle\n  href: api/Venflow.IParameterTypeHandler.html#Venflow_IParameterTypeHandler_Handle_\n  commentId: Overload:Venflow.IParameterTypeHandler.Handle\n  isSpec: \"True\"\n  fullName: Venflow.IParameterTypeHandler.Handle\n  nameWithType: IParameterTypeHandler.Handle\n- uid: Venflow.Modeling.Definitions\n  name: Venflow.Modeling.Definitions\n  href: api/Venflow.Modeling.Definitions.html\n  commentId: N:Venflow.Modeling.Definitions\n  fullName: Venflow.Modeling.Definitions\n  nameWithType: Venflow.Modeling.Definitions\n- uid: Venflow.Modeling.Definitions.Builder\n  name: Venflow.Modeling.Definitions.Builder\n  href: api/Venflow.Modeling.Definitions.Builder.html\n  commentId: N:Venflow.Modeling.Definitions.Builder\n  fullName: Venflow.Modeling.Definitions.Builder\n  nameWithType: Venflow.Modeling.Definitions.Builder\n- uid: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2\n  name: IForeignKeyRelationBuilder<TEntity, TRelation>\n  href: api/Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html\n  commentId: T:Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2\n  name.vb: IForeignKeyRelationBuilder(Of TEntity, TRelation)\n  fullName: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder<TEntity, TRelation>\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder(Of TEntity, TRelation)\n  nameWithType: IForeignKeyRelationBuilder<TEntity, TRelation>\n  nameWithType.vb: IForeignKeyRelationBuilder(Of TEntity, TRelation)\n- uid: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2.UsingForeignKey*\n  name: UsingForeignKey\n  href: api/Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2_UsingForeignKey_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2.UsingForeignKey\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder<TEntity, TRelation>.UsingForeignKey\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder(Of TEntity, TRelation).UsingForeignKey\n  nameWithType: IForeignKeyRelationBuilder<TEntity, TRelation>.UsingForeignKey\n  nameWithType.vb: IForeignKeyRelationBuilder(Of TEntity, TRelation).UsingForeignKey\n- uid: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2.UsingForeignKey``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})\n  name: UsingForeignKey<TKey>(Expression<Func<TEntity, TKey>>)\n  href: api/Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2_UsingForeignKey__1_System_Linq_Expressions_Expression_System_Func__0___0___\n  commentId: M:Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2.UsingForeignKey``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})\n  name.vb: UsingForeignKey(Of TKey)(Expression(Of Func(Of TEntity, TKey)))\n  fullName: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder<TEntity, TRelation>.UsingForeignKey<TKey>(System.Linq.Expressions.Expression<System.Func<TEntity, TKey>>)\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder(Of TEntity, TRelation).UsingForeignKey(Of TKey)(System.Linq.Expressions.Expression(Of System.Func(Of TEntity, TKey)))\n  nameWithType: IForeignKeyRelationBuilder<TEntity, TRelation>.UsingForeignKey<TKey>(Expression<Func<TEntity, TKey>>)\n  nameWithType.vb: IForeignKeyRelationBuilder(Of TEntity, TRelation).UsingForeignKey(Of TKey)(Expression(Of Func(Of TEntity, TKey)))\n- uid: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2.UsingForeignKey``1(System.Linq.Expressions.Expression{System.Func{`1,``0}})\n  name: UsingForeignKey<TKey>(Expression<Func<TRelation, TKey>>)\n  href: api/Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2_UsingForeignKey__1_System_Linq_Expressions_Expression_System_Func__1___0___\n  commentId: M:Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2.UsingForeignKey``1(System.Linq.Expressions.Expression{System.Func{`1,``0}})\n  name.vb: UsingForeignKey(Of TKey)(Expression(Of Func(Of TRelation, TKey)))\n  fullName: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder<TEntity, TRelation>.UsingForeignKey<TKey>(System.Linq.Expressions.Expression<System.Func<TRelation, TKey>>)\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder(Of TEntity, TRelation).UsingForeignKey(Of TKey)(System.Linq.Expressions.Expression(Of System.Func(Of TRelation, TKey)))\n  nameWithType: IForeignKeyRelationBuilder<TEntity, TRelation>.UsingForeignKey<TKey>(Expression<Func<TRelation, TKey>>)\n  nameWithType.vb: IForeignKeyRelationBuilder(Of TEntity, TRelation).UsingForeignKey(Of TKey)(Expression(Of Func(Of TRelation, TKey)))\n- uid: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1\n  name: ILeftRelationBuilder<TEntity>\n  href: api/Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html\n  commentId: T:Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1\n  name.vb: ILeftRelationBuilder(Of TEntity)\n  fullName: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder<TEntity>\n  fullName.vb: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder(Of TEntity)\n  nameWithType: ILeftRelationBuilder<TEntity>\n  nameWithType.vb: ILeftRelationBuilder(Of TEntity)\n- uid: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasMany*\n  name: HasMany\n  href: api/Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html#Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasMany_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasMany\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder<TEntity>.HasMany\n  fullName.vb: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder(Of TEntity).HasMany\n  nameWithType: ILeftRelationBuilder<TEntity>.HasMany\n  nameWithType.vb: ILeftRelationBuilder(Of TEntity).HasMany\n- uid: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasMany``1\n  name: HasMany<TRelation>()\n  href: api/Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html#Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasMany__1\n  commentId: M:Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasMany``1\n  name.vb: HasMany(Of TRelation)()\n  fullName: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder<TEntity>.HasMany<TRelation>()\n  fullName.vb: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder(Of TEntity).HasMany(Of TRelation)()\n  nameWithType: ILeftRelationBuilder<TEntity>.HasMany<TRelation>()\n  nameWithType.vb: ILeftRelationBuilder(Of TEntity).HasMany(Of TRelation)()\n- uid: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasMany``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.IList{``0}}})\n  name: HasMany<TRelation>(Expression<Func<TEntity, IList<TRelation>>>)\n  href: api/Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html#Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasMany__1_System_Linq_Expressions_Expression_System_Func__0_System_Collections_Generic_IList___0____\n  commentId: M:Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasMany``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.IList{``0}}})\n  name.vb: HasMany(Of TRelation)(Expression(Of Func(Of TEntity, IList(Of TRelation))))\n  fullName: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder<TEntity>.HasMany<TRelation>(System.Linq.Expressions.Expression<System.Func<TEntity, System.Collections.Generic.IList<TRelation>>>)\n  fullName.vb: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder(Of TEntity).HasMany(Of TRelation)(System.Linq.Expressions.Expression(Of System.Func(Of TEntity, System.Collections.Generic.IList(Of TRelation))))\n  nameWithType: ILeftRelationBuilder<TEntity>.HasMany<TRelation>(Expression<Func<TEntity, IList<TRelation>>>)\n  nameWithType.vb: ILeftRelationBuilder(Of TEntity).HasMany(Of TRelation)(Expression(Of Func(Of TEntity, IList(Of TRelation))))\n- uid: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasOne*\n  name: HasOne\n  href: api/Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html#Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasOne_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasOne\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder<TEntity>.HasOne\n  fullName.vb: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder(Of TEntity).HasOne\n  nameWithType: ILeftRelationBuilder<TEntity>.HasOne\n  nameWithType.vb: ILeftRelationBuilder(Of TEntity).HasOne\n- uid: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasOne``1\n  name: HasOne<TRelation>()\n  href: api/Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html#Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasOne__1\n  commentId: M:Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasOne``1\n  name.vb: HasOne(Of TRelation)()\n  fullName: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder<TEntity>.HasOne<TRelation>()\n  fullName.vb: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder(Of TEntity).HasOne(Of TRelation)()\n  nameWithType: ILeftRelationBuilder<TEntity>.HasOne<TRelation>()\n  nameWithType.vb: ILeftRelationBuilder(Of TEntity).HasOne(Of TRelation)()\n- uid: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasOne``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})\n  name: HasOne<TRelation>(Expression<Func<TEntity, TRelation>>)\n  href: api/Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html#Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasOne__1_System_Linq_Expressions_Expression_System_Func__0___0___\n  commentId: M:Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasOne``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})\n  name.vb: HasOne(Of TRelation)(Expression(Of Func(Of TEntity, TRelation)))\n  fullName: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder<TEntity>.HasOne<TRelation>(System.Linq.Expressions.Expression<System.Func<TEntity, TRelation>>)\n  fullName.vb: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder(Of TEntity).HasOne(Of TRelation)(System.Linq.Expressions.Expression(Of System.Func(Of TEntity, TRelation)))\n  nameWithType: ILeftRelationBuilder<TEntity>.HasOne<TRelation>(Expression<Func<TEntity, TRelation>>)\n  nameWithType.vb: ILeftRelationBuilder(Of TEntity).HasOne(Of TRelation)(Expression(Of Func(Of TEntity, TRelation)))\n- uid: Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder`2\n  name: IMultiRightRelationBuilder<TEntity, TRelation>\n  href: api/Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.html\n  commentId: T:Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder`2\n  name.vb: IMultiRightRelationBuilder(Of TEntity, TRelation)\n  fullName: Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder<TEntity, TRelation>\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder(Of TEntity, TRelation)\n  nameWithType: IMultiRightRelationBuilder<TEntity, TRelation>\n  nameWithType.vb: IMultiRightRelationBuilder(Of TEntity, TRelation)\n- uid: Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder`2.WithMany(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.IList{`0}}})\n  name: WithMany(Expression<Func<TRelation, IList<TEntity>>>)\n  href: api/Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IMultiRightRelationBuilder_2_WithMany_System_Linq_Expressions_Expression_System_Func__1_System_Collections_Generic_IList__0____\n  commentId: M:Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder`2.WithMany(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.IList{`0}}})\n  name.vb: WithMany(Expression(Of Func(Of TRelation, IList(Of TEntity))))\n  fullName: Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder<TEntity, TRelation>.WithMany(System.Linq.Expressions.Expression<System.Func<TRelation, System.Collections.Generic.IList<TEntity>>>)\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder(Of TEntity, TRelation).WithMany(System.Linq.Expressions.Expression(Of System.Func(Of TRelation, System.Collections.Generic.IList(Of TEntity))))\n  nameWithType: IMultiRightRelationBuilder<TEntity, TRelation>.WithMany(Expression<Func<TRelation, IList<TEntity>>>)\n  nameWithType.vb: IMultiRightRelationBuilder(Of TEntity, TRelation).WithMany(Expression(Of Func(Of TRelation, IList(Of TEntity))))\n- uid: Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder`2.WithMany*\n  name: WithMany\n  href: api/Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IMultiRightRelationBuilder_2_WithMany_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder`2.WithMany\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder<TEntity, TRelation>.WithMany\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder(Of TEntity, TRelation).WithMany\n  nameWithType: IMultiRightRelationBuilder<TEntity, TRelation>.WithMany\n  nameWithType.vb: IMultiRightRelationBuilder(Of TEntity, TRelation).WithMany\n- uid: Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder`2\n  name: INotRequiredMultiRightRelationBuilder<TEntity, TRelation>\n  href: api/Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder-2.html\n  commentId: T:Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder`2\n  name.vb: INotRequiredMultiRightRelationBuilder(Of TEntity, TRelation)\n  fullName: Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder<TEntity, TRelation>\n  fullName.vb: Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder(Of TEntity, TRelation)\n  nameWithType: INotRequiredMultiRightRelationBuilder<TEntity, TRelation>\n  nameWithType.vb: INotRequiredMultiRightRelationBuilder(Of TEntity, TRelation)\n- uid: Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder`2.WithMany\n  name: WithMany()\n  href: api/Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_INotRequiredMultiRightRelationBuilder_2_WithMany\n  commentId: M:Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder`2.WithMany\n  fullName: Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder<TEntity, TRelation>.WithMany()\n  fullName.vb: Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder(Of TEntity, TRelation).WithMany()\n  nameWithType: INotRequiredMultiRightRelationBuilder<TEntity, TRelation>.WithMany()\n  nameWithType.vb: INotRequiredMultiRightRelationBuilder(Of TEntity, TRelation).WithMany()\n- uid: Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder`2.WithMany*\n  name: WithMany\n  href: api/Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_INotRequiredMultiRightRelationBuilder_2_WithMany_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder`2.WithMany\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder<TEntity, TRelation>.WithMany\n  fullName.vb: Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder(Of TEntity, TRelation).WithMany\n  nameWithType: INotRequiredMultiRightRelationBuilder<TEntity, TRelation>.WithMany\n  nameWithType.vb: INotRequiredMultiRightRelationBuilder(Of TEntity, TRelation).WithMany\n- uid: Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2\n  name: INotRequiredSingleRightRelationBuilder<TEntity, TRelation>\n  href: api/Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html\n  commentId: T:Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2\n  name.vb: INotRequiredSingleRightRelationBuilder(Of TEntity, TRelation)\n  fullName: Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder<TEntity, TRelation>\n  fullName.vb: Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder(Of TEntity, TRelation)\n  nameWithType: INotRequiredSingleRightRelationBuilder<TEntity, TRelation>\n  nameWithType.vb: INotRequiredSingleRightRelationBuilder(Of TEntity, TRelation)\n- uid: Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2.WithOne\n  name: WithOne()\n  href: api/Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_INotRequiredSingleRightRelationBuilder_2_WithOne\n  commentId: M:Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2.WithOne\n  fullName: Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne()\n  fullName.vb: Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder(Of TEntity, TRelation).WithOne()\n  nameWithType: INotRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne()\n  nameWithType.vb: INotRequiredSingleRightRelationBuilder(Of TEntity, TRelation).WithOne()\n- uid: Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2.WithOne*\n  name: WithOne\n  href: api/Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_INotRequiredSingleRightRelationBuilder_2_WithOne_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2.WithOne\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne\n  fullName.vb: Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder(Of TEntity, TRelation).WithOne\n  nameWithType: INotRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne\n  nameWithType.vb: INotRequiredSingleRightRelationBuilder(Of TEntity, TRelation).WithOne\n- uid: Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder`2\n  name: IRequiredMultiRightRelationBuilder<TEntity, TRelation>\n  href: api/Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder-2.html\n  commentId: T:Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder`2\n  name.vb: IRequiredMultiRightRelationBuilder(Of TEntity, TRelation)\n  fullName: Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder<TEntity, TRelation>\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder(Of TEntity, TRelation)\n  nameWithType: IRequiredMultiRightRelationBuilder<TEntity, TRelation>\n  nameWithType.vb: IRequiredMultiRightRelationBuilder(Of TEntity, TRelation)\n- uid: Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2\n  name: IRequiredSingleRightRelationBuilder<TEntity, TRelation>\n  href: api/Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html\n  commentId: T:Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2\n  name.vb: IRequiredSingleRightRelationBuilder(Of TEntity, TRelation)\n  fullName: Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder<TEntity, TRelation>\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder(Of TEntity, TRelation)\n  nameWithType: IRequiredSingleRightRelationBuilder<TEntity, TRelation>\n  nameWithType.vb: IRequiredSingleRightRelationBuilder(Of TEntity, TRelation)\n- uid: Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2.WithOne(System.Linq.Expressions.Expression{System.Func{`1,`0}})\n  name: WithOne(Expression<Func<TRelation, TEntity>>)\n  href: api/Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2_WithOne_System_Linq_Expressions_Expression_System_Func__1__0___\n  commentId: M:Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2.WithOne(System.Linq.Expressions.Expression{System.Func{`1,`0}})\n  name.vb: WithOne(Expression(Of Func(Of TRelation, TEntity)))\n  fullName: Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne(System.Linq.Expressions.Expression<System.Func<TRelation, TEntity>>)\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder(Of TEntity, TRelation).WithOne(System.Linq.Expressions.Expression(Of System.Func(Of TRelation, TEntity)))\n  nameWithType: IRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne(Expression<Func<TRelation, TEntity>>)\n  nameWithType.vb: IRequiredSingleRightRelationBuilder(Of TEntity, TRelation).WithOne(Expression(Of Func(Of TRelation, TEntity)))\n- uid: Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2.WithOne*\n  name: WithOne\n  href: api/Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2_WithOne_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2.WithOne\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder(Of TEntity, TRelation).WithOne\n  nameWithType: IRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne\n  nameWithType.vb: IRequiredSingleRightRelationBuilder(Of TEntity, TRelation).WithOne\n- uid: Venflow.Modeling.Definitions.EntityConfiguration`1\n  name: EntityConfiguration<TEntity>\n  href: api/Venflow.Modeling.Definitions.EntityConfiguration-1.html\n  commentId: T:Venflow.Modeling.Definitions.EntityConfiguration`1\n  name.vb: EntityConfiguration(Of TEntity)\n  fullName: Venflow.Modeling.Definitions.EntityConfiguration<TEntity>\n  fullName.vb: Venflow.Modeling.Definitions.EntityConfiguration(Of TEntity)\n  nameWithType: EntityConfiguration<TEntity>\n  nameWithType.vb: EntityConfiguration(Of TEntity)\n- uid: Venflow.Modeling.Definitions.EntityConfiguration`1.Configure(IEntityBuilder{`0})\n  name: Configure(IEntityBuilder<TEntity>)\n  href: api/Venflow.Modeling.Definitions.EntityConfiguration-1.html#Venflow_Modeling_Definitions_EntityConfiguration_1_Configure_IEntityBuilder__0__\n  commentId: M:Venflow.Modeling.Definitions.EntityConfiguration`1.Configure(IEntityBuilder{`0})\n  name.vb: Configure(IEntityBuilder(Of TEntity))\n  fullName: Venflow.Modeling.Definitions.EntityConfiguration<TEntity>.Configure(IEntityBuilder<TEntity>)\n  fullName.vb: Venflow.Modeling.Definitions.EntityConfiguration(Of TEntity).Configure(IEntityBuilder(Of TEntity))\n  nameWithType: EntityConfiguration<TEntity>.Configure(IEntityBuilder<TEntity>)\n  nameWithType.vb: EntityConfiguration(Of TEntity).Configure(IEntityBuilder(Of TEntity))\n- uid: Venflow.Modeling.Definitions.EntityConfiguration`1.Configure*\n  name: Configure\n  href: api/Venflow.Modeling.Definitions.EntityConfiguration-1.html#Venflow_Modeling_Definitions_EntityConfiguration_1_Configure_\n  commentId: Overload:Venflow.Modeling.Definitions.EntityConfiguration`1.Configure\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.EntityConfiguration<TEntity>.Configure\n  fullName.vb: Venflow.Modeling.Definitions.EntityConfiguration(Of TEntity).Configure\n  nameWithType: EntityConfiguration<TEntity>.Configure\n  nameWithType.vb: EntityConfiguration(Of TEntity).Configure\n- uid: Venflow.NpgsqlCommandExtensions\n  name: NpgsqlCommandExtensions\n  href: api/Venflow.NpgsqlCommandExtensions.html\n  commentId: T:Venflow.NpgsqlCommandExtensions\n  fullName: Venflow.NpgsqlCommandExtensions\n  nameWithType: NpgsqlCommandExtensions\n- uid: Venflow.NpgsqlCommandExtensions.AddParamter*\n  name: AddParamter\n  href: api/Venflow.NpgsqlCommandExtensions.html#Venflow_NpgsqlCommandExtensions_AddParamter_\n  commentId: Overload:Venflow.NpgsqlCommandExtensions.AddParamter\n  isSpec: \"True\"\n  fullName: Venflow.NpgsqlCommandExtensions.AddParamter\n  nameWithType: NpgsqlCommandExtensions.AddParamter\n- uid: Venflow.NpgsqlCommandExtensions.AddParamter``1(Npgsql.NpgsqlCommand,System.String,``0)\n  name: AddParamter<TType>(NpgsqlCommand, String, TType)\n  href: api/Venflow.NpgsqlCommandExtensions.html#Venflow_NpgsqlCommandExtensions_AddParamter__1_Npgsql_NpgsqlCommand_System_String___0_\n  commentId: M:Venflow.NpgsqlCommandExtensions.AddParamter``1(Npgsql.NpgsqlCommand,System.String,``0)\n  name.vb: AddParamter(Of TType)(NpgsqlCommand, String, TType)\n  fullName: Venflow.NpgsqlCommandExtensions.AddParamter<TType>(Npgsql.NpgsqlCommand, System.String, TType)\n  fullName.vb: Venflow.NpgsqlCommandExtensions.AddParamter(Of TType)(Npgsql.NpgsqlCommand, System.String, TType)\n  nameWithType: NpgsqlCommandExtensions.AddParamter<TType>(NpgsqlCommand, String, TType)\n  nameWithType.vb: NpgsqlCommandExtensions.AddParamter(Of TType)(NpgsqlCommand, String, TType)\n- uid: Venflow.NpgsqlCommandExtensions.SetInterpolatedCommandText(Npgsql.NpgsqlCommand,System.FormattableString)\n  name: SetInterpolatedCommandText(NpgsqlCommand, FormattableString)\n  href: api/Venflow.NpgsqlCommandExtensions.html#Venflow_NpgsqlCommandExtensions_SetInterpolatedCommandText_Npgsql_NpgsqlCommand_System_FormattableString_\n  commentId: M:Venflow.NpgsqlCommandExtensions.SetInterpolatedCommandText(Npgsql.NpgsqlCommand,System.FormattableString)\n  fullName: Venflow.NpgsqlCommandExtensions.SetInterpolatedCommandText(Npgsql.NpgsqlCommand, System.FormattableString)\n  nameWithType: NpgsqlCommandExtensions.SetInterpolatedCommandText(NpgsqlCommand, FormattableString)\n- uid: Venflow.NpgsqlCommandExtensions.SetInterpolatedCommandText*\n  name: SetInterpolatedCommandText\n  href: api/Venflow.NpgsqlCommandExtensions.html#Venflow_NpgsqlCommandExtensions_SetInterpolatedCommandText_\n  commentId: Overload:Venflow.NpgsqlCommandExtensions.SetInterpolatedCommandText\n  isSpec: \"True\"\n  fullName: Venflow.NpgsqlCommandExtensions.SetInterpolatedCommandText\n  nameWithType: NpgsqlCommandExtensions.SetInterpolatedCommandText\n- uid: Venflow.ParameterTypeHandler\n  name: ParameterTypeHandler\n  href: api/Venflow.ParameterTypeHandler.html\n  commentId: T:Venflow.ParameterTypeHandler\n  fullName: Venflow.ParameterTypeHandler\n  nameWithType: ParameterTypeHandler\n- uid: Venflow.ParameterTypeHandler.AddTypeHandler(System.Type,Venflow.IParameterTypeHandler)\n  name: AddTypeHandler(Type, IParameterTypeHandler)\n  href: api/Venflow.ParameterTypeHandler.html#Venflow_ParameterTypeHandler_AddTypeHandler_System_Type_Venflow_IParameterTypeHandler_\n  commentId: M:Venflow.ParameterTypeHandler.AddTypeHandler(System.Type,Venflow.IParameterTypeHandler)\n  fullName: Venflow.ParameterTypeHandler.AddTypeHandler(System.Type, Venflow.IParameterTypeHandler)\n  nameWithType: ParameterTypeHandler.AddTypeHandler(Type, IParameterTypeHandler)\n- uid: Venflow.ParameterTypeHandler.AddTypeHandler*\n  name: AddTypeHandler\n  href: api/Venflow.ParameterTypeHandler.html#Venflow_ParameterTypeHandler_AddTypeHandler_\n  commentId: Overload:Venflow.ParameterTypeHandler.AddTypeHandler\n  isSpec: \"True\"\n  fullName: Venflow.ParameterTypeHandler.AddTypeHandler\n  nameWithType: ParameterTypeHandler.AddTypeHandler\n- uid: Venflow.Table`1\n  name: Table<TEntity>\n  href: api/Venflow.Table-1.html\n  commentId: T:Venflow.Table`1\n  name.vb: Table(Of TEntity)\n  fullName: Venflow.Table<TEntity>\n  fullName.vb: Venflow.Table(Of TEntity)\n  nameWithType: Table<TEntity>\n  nameWithType.vb: Table(Of TEntity)\n- uid: Venflow.Table`1.CountAsync(System.Threading.CancellationToken)\n  name: CountAsync(CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_CountAsync_System_Threading_CancellationToken_\n  commentId: M:Venflow.Table`1.CountAsync(System.Threading.CancellationToken)\n  fullName: Venflow.Table<TEntity>.CountAsync(System.Threading.CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).CountAsync(System.Threading.CancellationToken)\n  nameWithType: Table<TEntity>.CountAsync(CancellationToken)\n  nameWithType.vb: Table(Of TEntity).CountAsync(CancellationToken)\n- uid: Venflow.Table`1.CountAsync*\n  name: CountAsync\n  href: api/Venflow.Table-1.html#Venflow_Table_1_CountAsync_\n  commentId: Overload:Venflow.Table`1.CountAsync\n  isSpec: \"True\"\n  fullName: Venflow.Table<TEntity>.CountAsync\n  fullName.vb: Venflow.Table(Of TEntity).CountAsync\n  nameWithType: Table<TEntity>.CountAsync\n  nameWithType.vb: Table(Of TEntity).CountAsync\n- uid: Venflow.Table`1.Delete\n  name: Delete()\n  href: api/Venflow.Table-1.html#Venflow_Table_1_Delete\n  commentId: M:Venflow.Table`1.Delete\n  fullName: Venflow.Table<TEntity>.Delete()\n  fullName.vb: Venflow.Table(Of TEntity).Delete()\n  nameWithType: Table<TEntity>.Delete()\n  nameWithType.vb: Table(Of TEntity).Delete()\n- uid: Venflow.Table`1.Delete(System.Boolean)\n  name: Delete(Boolean)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_Delete_System_Boolean_\n  commentId: M:Venflow.Table`1.Delete(System.Boolean)\n  fullName: Venflow.Table<TEntity>.Delete(System.Boolean)\n  fullName.vb: Venflow.Table(Of TEntity).Delete(System.Boolean)\n  nameWithType: Table<TEntity>.Delete(Boolean)\n  nameWithType.vb: Table(Of TEntity).Delete(Boolean)\n- uid: Venflow.Table`1.Delete*\n  name: Delete\n  href: api/Venflow.Table-1.html#Venflow_Table_1_Delete_\n  commentId: Overload:Venflow.Table`1.Delete\n  isSpec: \"True\"\n  fullName: Venflow.Table<TEntity>.Delete\n  fullName.vb: Venflow.Table(Of TEntity).Delete\n  nameWithType: Table<TEntity>.Delete\n  nameWithType.vb: Table(Of TEntity).Delete\n- uid: Venflow.Table`1.DeleteAsync(`0,System.Threading.CancellationToken)\n  name: DeleteAsync(TEntity, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_DeleteAsync__0_System_Threading_CancellationToken_\n  commentId: M:Venflow.Table`1.DeleteAsync(`0,System.Threading.CancellationToken)\n  fullName: Venflow.Table<TEntity>.DeleteAsync(TEntity, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).DeleteAsync(TEntity, System.Threading.CancellationToken)\n  nameWithType: Table<TEntity>.DeleteAsync(TEntity, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).DeleteAsync(TEntity, CancellationToken)\n- uid: Venflow.Table`1.DeleteAsync(`0[],System.Threading.CancellationToken)\n  name: DeleteAsync(TEntity[], CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_DeleteAsync__0___System_Threading_CancellationToken_\n  commentId: M:Venflow.Table`1.DeleteAsync(`0[],System.Threading.CancellationToken)\n  name.vb: DeleteAsync(TEntity(), CancellationToken)\n  fullName: Venflow.Table<TEntity>.DeleteAsync(TEntity[], System.Threading.CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).DeleteAsync(TEntity(), System.Threading.CancellationToken)\n  nameWithType: Table<TEntity>.DeleteAsync(TEntity[], CancellationToken)\n  nameWithType.vb: Table(Of TEntity).DeleteAsync(TEntity(), CancellationToken)\n- uid: Venflow.Table`1.DeleteAsync(System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\n  name: DeleteAsync(IEnumerable<TEntity>, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_DeleteAsync_System_Collections_Generic_IEnumerable__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Table`1.DeleteAsync(System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\n  name.vb: DeleteAsync(IEnumerable(Of TEntity), CancellationToken)\n  fullName: Venflow.Table<TEntity>.DeleteAsync(System.Collections.Generic.IEnumerable<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).DeleteAsync(System.Collections.Generic.IEnumerable(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: Table<TEntity>.DeleteAsync(IEnumerable<TEntity>, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).DeleteAsync(IEnumerable(Of TEntity), CancellationToken)\n- uid: Venflow.Table`1.DeleteAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\n  name: DeleteAsync(IList<TEntity>, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_DeleteAsync_System_Collections_Generic_IList__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Table`1.DeleteAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\n  name.vb: DeleteAsync(IList(Of TEntity), CancellationToken)\n  fullName: Venflow.Table<TEntity>.DeleteAsync(System.Collections.Generic.IList<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).DeleteAsync(System.Collections.Generic.IList(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: Table<TEntity>.DeleteAsync(IList<TEntity>, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).DeleteAsync(IList(Of TEntity), CancellationToken)\n- uid: Venflow.Table`1.DeleteAsync(System.Collections.Generic.List{`0},System.Threading.CancellationToken)\n  name: DeleteAsync(List<TEntity>, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_DeleteAsync_System_Collections_Generic_List__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Table`1.DeleteAsync(System.Collections.Generic.List{`0},System.Threading.CancellationToken)\n  name.vb: DeleteAsync(List(Of TEntity), CancellationToken)\n  fullName: Venflow.Table<TEntity>.DeleteAsync(System.Collections.Generic.List<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).DeleteAsync(System.Collections.Generic.List(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: Table<TEntity>.DeleteAsync(List<TEntity>, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).DeleteAsync(List(Of TEntity), CancellationToken)\n- uid: Venflow.Table`1.DeleteAsync(Venflow.Commands.IDeleteCommand{`0},`0,System.Threading.CancellationToken)\n  name: DeleteAsync(IDeleteCommand<TEntity>, TEntity, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_DeleteAsync_Venflow_Commands_IDeleteCommand__0___0_System_Threading_CancellationToken_\n  commentId: M:Venflow.Table`1.DeleteAsync(Venflow.Commands.IDeleteCommand{`0},`0,System.Threading.CancellationToken)\n  name.vb: DeleteAsync(IDeleteCommand(Of TEntity), TEntity, CancellationToken)\n  fullName: Venflow.Table<TEntity>.DeleteAsync(Venflow.Commands.IDeleteCommand<TEntity>, TEntity, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).DeleteAsync(Venflow.Commands.IDeleteCommand(Of TEntity), TEntity, System.Threading.CancellationToken)\n  nameWithType: Table<TEntity>.DeleteAsync(IDeleteCommand<TEntity>, TEntity, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).DeleteAsync(IDeleteCommand(Of TEntity), TEntity, CancellationToken)\n- uid: Venflow.Table`1.DeleteAsync(Venflow.Commands.IDeleteCommand{`0},System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\n  name: DeleteAsync(IDeleteCommand<TEntity>, IEnumerable<TEntity>, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_DeleteAsync_Venflow_Commands_IDeleteCommand__0__System_Collections_Generic_IEnumerable__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Table`1.DeleteAsync(Venflow.Commands.IDeleteCommand{`0},System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\n  name.vb: DeleteAsync(IDeleteCommand(Of TEntity), IEnumerable(Of TEntity), CancellationToken)\n  fullName: Venflow.Table<TEntity>.DeleteAsync(Venflow.Commands.IDeleteCommand<TEntity>, System.Collections.Generic.IEnumerable<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).DeleteAsync(Venflow.Commands.IDeleteCommand(Of TEntity), System.Collections.Generic.IEnumerable(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: Table<TEntity>.DeleteAsync(IDeleteCommand<TEntity>, IEnumerable<TEntity>, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).DeleteAsync(IDeleteCommand(Of TEntity), IEnumerable(Of TEntity), CancellationToken)\n- uid: Venflow.Table`1.DeleteAsync*\n  name: DeleteAsync\n  href: api/Venflow.Table-1.html#Venflow_Table_1_DeleteAsync_\n  commentId: Overload:Venflow.Table`1.DeleteAsync\n  isSpec: \"True\"\n  fullName: Venflow.Table<TEntity>.DeleteAsync\n  fullName.vb: Venflow.Table(Of TEntity).DeleteAsync\n  nameWithType: Table<TEntity>.DeleteAsync\n  nameWithType.vb: Table(Of TEntity).DeleteAsync\n- uid: Venflow.Table`1.Insert\n  name: Insert()\n  href: api/Venflow.Table-1.html#Venflow_Table_1_Insert\n  commentId: M:Venflow.Table`1.Insert\n  fullName: Venflow.Table<TEntity>.Insert()\n  fullName.vb: Venflow.Table(Of TEntity).Insert()\n  nameWithType: Table<TEntity>.Insert()\n  nameWithType.vb: Table(Of TEntity).Insert()\n- uid: Venflow.Table`1.Insert(System.Boolean)\n  name: Insert(Boolean)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_Insert_System_Boolean_\n  commentId: M:Venflow.Table`1.Insert(System.Boolean)\n  fullName: Venflow.Table<TEntity>.Insert(System.Boolean)\n  fullName.vb: Venflow.Table(Of TEntity).Insert(System.Boolean)\n  nameWithType: Table<TEntity>.Insert(Boolean)\n  nameWithType.vb: Table(Of TEntity).Insert(Boolean)\n- uid: Venflow.Table`1.Insert*\n  name: Insert\n  href: api/Venflow.Table-1.html#Venflow_Table_1_Insert_\n  commentId: Overload:Venflow.Table`1.Insert\n  isSpec: \"True\"\n  fullName: Venflow.Table<TEntity>.Insert\n  fullName.vb: Venflow.Table(Of TEntity).Insert\n  nameWithType: Table<TEntity>.Insert\n  nameWithType.vb: Table(Of TEntity).Insert\n- uid: Venflow.Table`1.InsertAsync(`0,System.Threading.CancellationToken)\n  name: InsertAsync(TEntity, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_InsertAsync__0_System_Threading_CancellationToken_\n  commentId: M:Venflow.Table`1.InsertAsync(`0,System.Threading.CancellationToken)\n  fullName: Venflow.Table<TEntity>.InsertAsync(TEntity, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).InsertAsync(TEntity, System.Threading.CancellationToken)\n  nameWithType: Table<TEntity>.InsertAsync(TEntity, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).InsertAsync(TEntity, CancellationToken)\n- uid: Venflow.Table`1.InsertAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\n  name: InsertAsync(IList<TEntity>, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_InsertAsync_System_Collections_Generic_IList__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Table`1.InsertAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\n  name.vb: InsertAsync(IList(Of TEntity), CancellationToken)\n  fullName: Venflow.Table<TEntity>.InsertAsync(System.Collections.Generic.IList<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).InsertAsync(System.Collections.Generic.IList(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: Table<TEntity>.InsertAsync(IList<TEntity>, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).InsertAsync(IList(Of TEntity), CancellationToken)\n- uid: Venflow.Table`1.InsertAsync(Venflow.Commands.IInsertCommand{`0},`0,System.Threading.CancellationToken)\n  name: InsertAsync(IInsertCommand<TEntity>, TEntity, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_InsertAsync_Venflow_Commands_IInsertCommand__0___0_System_Threading_CancellationToken_\n  commentId: M:Venflow.Table`1.InsertAsync(Venflow.Commands.IInsertCommand{`0},`0,System.Threading.CancellationToken)\n  name.vb: InsertAsync(IInsertCommand(Of TEntity), TEntity, CancellationToken)\n  fullName: Venflow.Table<TEntity>.InsertAsync(Venflow.Commands.IInsertCommand<TEntity>, TEntity, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).InsertAsync(Venflow.Commands.IInsertCommand(Of TEntity), TEntity, System.Threading.CancellationToken)\n  nameWithType: Table<TEntity>.InsertAsync(IInsertCommand<TEntity>, TEntity, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).InsertAsync(IInsertCommand(Of TEntity), TEntity, CancellationToken)\n- uid: Venflow.Table`1.InsertAsync(Venflow.Commands.IInsertCommand{`0},System.Collections.Generic.List{`0},System.Threading.CancellationToken)\n  name: InsertAsync(IInsertCommand<TEntity>, List<TEntity>, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_InsertAsync_Venflow_Commands_IInsertCommand__0__System_Collections_Generic_List__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Table`1.InsertAsync(Venflow.Commands.IInsertCommand{`0},System.Collections.Generic.List{`0},System.Threading.CancellationToken)\n  name.vb: InsertAsync(IInsertCommand(Of TEntity), List(Of TEntity), CancellationToken)\n  fullName: Venflow.Table<TEntity>.InsertAsync(Venflow.Commands.IInsertCommand<TEntity>, System.Collections.Generic.List<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).InsertAsync(Venflow.Commands.IInsertCommand(Of TEntity), System.Collections.Generic.List(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: Table<TEntity>.InsertAsync(IInsertCommand<TEntity>, List<TEntity>, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).InsertAsync(IInsertCommand(Of TEntity), List(Of TEntity), CancellationToken)\n- uid: Venflow.Table`1.InsertAsync*\n  name: InsertAsync\n  href: api/Venflow.Table-1.html#Venflow_Table_1_InsertAsync_\n  commentId: Overload:Venflow.Table`1.InsertAsync\n  isSpec: \"True\"\n  fullName: Venflow.Table<TEntity>.InsertAsync\n  fullName.vb: Venflow.Table(Of TEntity).InsertAsync\n  nameWithType: Table<TEntity>.InsertAsync\n  nameWithType.vb: Table(Of TEntity).InsertAsync\n- uid: Venflow.Table`1.TrackChanges(`0@)\n  name: TrackChanges(ref TEntity)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_TrackChanges__0__\n  commentId: M:Venflow.Table`1.TrackChanges(`0@)\n  name.vb: TrackChanges(ByRef TEntity)\n  fullName: Venflow.Table<TEntity>.TrackChanges(ref TEntity)\n  fullName.vb: Venflow.Table(Of TEntity).TrackChanges(ByRef TEntity)\n  nameWithType: Table<TEntity>.TrackChanges(ref TEntity)\n  nameWithType.vb: Table(Of TEntity).TrackChanges(ByRef TEntity)\n- uid: Venflow.Table`1.TrackChanges(System.Collections.Generic.IList{`0})\n  name: TrackChanges(IList<TEntity>)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_TrackChanges_System_Collections_Generic_IList__0__\n  commentId: M:Venflow.Table`1.TrackChanges(System.Collections.Generic.IList{`0})\n  name.vb: TrackChanges(IList(Of TEntity))\n  fullName: Venflow.Table<TEntity>.TrackChanges(System.Collections.Generic.IList<TEntity>)\n  fullName.vb: Venflow.Table(Of TEntity).TrackChanges(System.Collections.Generic.IList(Of TEntity))\n  nameWithType: Table<TEntity>.TrackChanges(IList<TEntity>)\n  nameWithType.vb: Table(Of TEntity).TrackChanges(IList(Of TEntity))\n- uid: Venflow.Table`1.TrackChanges*\n  name: TrackChanges\n  href: api/Venflow.Table-1.html#Venflow_Table_1_TrackChanges_\n  commentId: Overload:Venflow.Table`1.TrackChanges\n  isSpec: \"True\"\n  fullName: Venflow.Table<TEntity>.TrackChanges\n  fullName.vb: Venflow.Table(Of TEntity).TrackChanges\n  nameWithType: Table<TEntity>.TrackChanges\n  nameWithType.vb: Table(Of TEntity).TrackChanges\n- uid: Venflow.Table`1.TruncateAsync(Venflow.Enums.ForeignTruncateOptions,System.Threading.CancellationToken)\n  name: TruncateAsync(ForeignTruncateOptions, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_TruncateAsync_Venflow_Enums_ForeignTruncateOptions_System_Threading_CancellationToken_\n  commentId: M:Venflow.Table`1.TruncateAsync(Venflow.Enums.ForeignTruncateOptions,System.Threading.CancellationToken)\n  fullName: Venflow.Table<TEntity>.TruncateAsync(Venflow.Enums.ForeignTruncateOptions, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).TruncateAsync(Venflow.Enums.ForeignTruncateOptions, System.Threading.CancellationToken)\n  nameWithType: Table<TEntity>.TruncateAsync(ForeignTruncateOptions, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).TruncateAsync(ForeignTruncateOptions, CancellationToken)\n- uid: Venflow.Table`1.TruncateAsync(Venflow.Enums.IdentityTruncateOptions,Venflow.Enums.ForeignTruncateOptions,System.Threading.CancellationToken)\n  name: TruncateAsync(IdentityTruncateOptions, ForeignTruncateOptions, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_TruncateAsync_Venflow_Enums_IdentityTruncateOptions_Venflow_Enums_ForeignTruncateOptions_System_Threading_CancellationToken_\n  commentId: M:Venflow.Table`1.TruncateAsync(Venflow.Enums.IdentityTruncateOptions,Venflow.Enums.ForeignTruncateOptions,System.Threading.CancellationToken)\n  fullName: Venflow.Table<TEntity>.TruncateAsync(Venflow.Enums.IdentityTruncateOptions, Venflow.Enums.ForeignTruncateOptions, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).TruncateAsync(Venflow.Enums.IdentityTruncateOptions, Venflow.Enums.ForeignTruncateOptions, System.Threading.CancellationToken)\n  nameWithType: Table<TEntity>.TruncateAsync(IdentityTruncateOptions, ForeignTruncateOptions, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).TruncateAsync(IdentityTruncateOptions, ForeignTruncateOptions, CancellationToken)\n- uid: Venflow.Table`1.TruncateAsync*\n  name: TruncateAsync\n  href: api/Venflow.Table-1.html#Venflow_Table_1_TruncateAsync_\n  commentId: Overload:Venflow.Table`1.TruncateAsync\n  isSpec: \"True\"\n  fullName: Venflow.Table<TEntity>.TruncateAsync\n  fullName.vb: Venflow.Table(Of TEntity).TruncateAsync\n  nameWithType: Table<TEntity>.TruncateAsync\n  nameWithType.vb: Table(Of TEntity).TruncateAsync\n- uid: Venflow.Table`1.Update\n  name: Update()\n  href: api/Venflow.Table-1.html#Venflow_Table_1_Update\n  commentId: M:Venflow.Table`1.Update\n  fullName: Venflow.Table<TEntity>.Update()\n  fullName.vb: Venflow.Table(Of TEntity).Update()\n  nameWithType: Table<TEntity>.Update()\n  nameWithType.vb: Table(Of TEntity).Update()\n- uid: Venflow.Table`1.Update(System.Boolean)\n  name: Update(Boolean)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_Update_System_Boolean_\n  commentId: M:Venflow.Table`1.Update(System.Boolean)\n  fullName: Venflow.Table<TEntity>.Update(System.Boolean)\n  fullName.vb: Venflow.Table(Of TEntity).Update(System.Boolean)\n  nameWithType: Table<TEntity>.Update(Boolean)\n  nameWithType.vb: Table(Of TEntity).Update(Boolean)\n- uid: Venflow.Table`1.Update*\n  name: Update\n  href: api/Venflow.Table-1.html#Venflow_Table_1_Update_\n  commentId: Overload:Venflow.Table`1.Update\n  isSpec: \"True\"\n  fullName: Venflow.Table<TEntity>.Update\n  fullName.vb: Venflow.Table(Of TEntity).Update\n  nameWithType: Table<TEntity>.Update\n  nameWithType.vb: Table(Of TEntity).Update\n- uid: Venflow.Table`1.UpdateAsync(`0,System.Threading.CancellationToken)\n  name: UpdateAsync(TEntity, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_UpdateAsync__0_System_Threading_CancellationToken_\n  commentId: M:Venflow.Table`1.UpdateAsync(`0,System.Threading.CancellationToken)\n  fullName: Venflow.Table<TEntity>.UpdateAsync(TEntity, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).UpdateAsync(TEntity, System.Threading.CancellationToken)\n  nameWithType: Table<TEntity>.UpdateAsync(TEntity, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).UpdateAsync(TEntity, CancellationToken)\n- uid: Venflow.Table`1.UpdateAsync(`0[],System.Threading.CancellationToken)\n  name: UpdateAsync(TEntity[], CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_UpdateAsync__0___System_Threading_CancellationToken_\n  commentId: M:Venflow.Table`1.UpdateAsync(`0[],System.Threading.CancellationToken)\n  name.vb: UpdateAsync(TEntity(), CancellationToken)\n  fullName: Venflow.Table<TEntity>.UpdateAsync(TEntity[], System.Threading.CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).UpdateAsync(TEntity(), System.Threading.CancellationToken)\n  nameWithType: Table<TEntity>.UpdateAsync(TEntity[], CancellationToken)\n  nameWithType.vb: Table(Of TEntity).UpdateAsync(TEntity(), CancellationToken)\n- uid: Venflow.Table`1.UpdateAsync(System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\n  name: UpdateAsync(IEnumerable<TEntity>, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_UpdateAsync_System_Collections_Generic_IEnumerable__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Table`1.UpdateAsync(System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\n  name.vb: UpdateAsync(IEnumerable(Of TEntity), CancellationToken)\n  fullName: Venflow.Table<TEntity>.UpdateAsync(System.Collections.Generic.IEnumerable<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).UpdateAsync(System.Collections.Generic.IEnumerable(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: Table<TEntity>.UpdateAsync(IEnumerable<TEntity>, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).UpdateAsync(IEnumerable(Of TEntity), CancellationToken)\n- uid: Venflow.Table`1.UpdateAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\n  name: UpdateAsync(IList<TEntity>, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_UpdateAsync_System_Collections_Generic_IList__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Table`1.UpdateAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\n  name.vb: UpdateAsync(IList(Of TEntity), CancellationToken)\n  fullName: Venflow.Table<TEntity>.UpdateAsync(System.Collections.Generic.IList<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).UpdateAsync(System.Collections.Generic.IList(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: Table<TEntity>.UpdateAsync(IList<TEntity>, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).UpdateAsync(IList(Of TEntity), CancellationToken)\n- uid: Venflow.Table`1.UpdateAsync(System.Collections.Generic.List{`0},System.Threading.CancellationToken)\n  name: UpdateAsync(List<TEntity>, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_UpdateAsync_System_Collections_Generic_List__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Table`1.UpdateAsync(System.Collections.Generic.List{`0},System.Threading.CancellationToken)\n  name.vb: UpdateAsync(List(Of TEntity), CancellationToken)\n  fullName: Venflow.Table<TEntity>.UpdateAsync(System.Collections.Generic.List<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).UpdateAsync(System.Collections.Generic.List(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: Table<TEntity>.UpdateAsync(List<TEntity>, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).UpdateAsync(List(Of TEntity), CancellationToken)\n- uid: Venflow.Table`1.UpdateAsync(Venflow.Commands.IUpdateCommand{`0},`0,System.Threading.CancellationToken)\n  name: UpdateAsync(IUpdateCommand<TEntity>, TEntity, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_UpdateAsync_Venflow_Commands_IUpdateCommand__0___0_System_Threading_CancellationToken_\n  commentId: M:Venflow.Table`1.UpdateAsync(Venflow.Commands.IUpdateCommand{`0},`0,System.Threading.CancellationToken)\n  name.vb: UpdateAsync(IUpdateCommand(Of TEntity), TEntity, CancellationToken)\n  fullName: Venflow.Table<TEntity>.UpdateAsync(Venflow.Commands.IUpdateCommand<TEntity>, TEntity, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).UpdateAsync(Venflow.Commands.IUpdateCommand(Of TEntity), TEntity, System.Threading.CancellationToken)\n  nameWithType: Table<TEntity>.UpdateAsync(IUpdateCommand<TEntity>, TEntity, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).UpdateAsync(IUpdateCommand(Of TEntity), TEntity, CancellationToken)\n- uid: Venflow.Table`1.UpdateAsync(Venflow.Commands.IUpdateCommand{`0},System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\n  name: UpdateAsync(IUpdateCommand<TEntity>, IEnumerable<TEntity>, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_UpdateAsync_Venflow_Commands_IUpdateCommand__0__System_Collections_Generic_IEnumerable__0__System_Threading_CancellationToken_\n  commentId: M:Venflow.Table`1.UpdateAsync(Venflow.Commands.IUpdateCommand{`0},System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\n  name.vb: UpdateAsync(IUpdateCommand(Of TEntity), IEnumerable(Of TEntity), CancellationToken)\n  fullName: Venflow.Table<TEntity>.UpdateAsync(Venflow.Commands.IUpdateCommand<TEntity>, System.Collections.Generic.IEnumerable<TEntity>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).UpdateAsync(Venflow.Commands.IUpdateCommand(Of TEntity), System.Collections.Generic.IEnumerable(Of TEntity), System.Threading.CancellationToken)\n  nameWithType: Table<TEntity>.UpdateAsync(IUpdateCommand<TEntity>, IEnumerable<TEntity>, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).UpdateAsync(IUpdateCommand(Of TEntity), IEnumerable(Of TEntity), CancellationToken)\n- uid: Venflow.Table`1.UpdateAsync*\n  name: UpdateAsync\n  href: api/Venflow.Table-1.html#Venflow_Table_1_UpdateAsync_\n  commentId: Overload:Venflow.Table`1.UpdateAsync\n  isSpec: \"True\"\n  fullName: Venflow.Table<TEntity>.UpdateAsync\n  fullName.vb: Venflow.Table(Of TEntity).UpdateAsync\n  nameWithType: Table<TEntity>.UpdateAsync\n  nameWithType.vb: Table(Of TEntity).UpdateAsync\n- uid: Venflow.TableBase`1\n  name: TableBase<TEntity>\n  href: api/Venflow.TableBase-1.html\n  commentId: T:Venflow.TableBase`1\n  name.vb: TableBase(Of TEntity)\n  fullName: Venflow.TableBase<TEntity>\n  fullName.vb: Venflow.TableBase(Of TEntity)\n  nameWithType: TableBase<TEntity>\n  nameWithType.vb: TableBase(Of TEntity)\n- uid: Venflow.TableBase`1.QueryAsync*\n  name: QueryAsync\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryAsync_\n  commentId: Overload:Venflow.TableBase`1.QueryAsync\n  isSpec: \"True\"\n  fullName: Venflow.TableBase<TEntity>.QueryAsync\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryAsync\n  nameWithType: TableBase<TEntity>.QueryAsync\n  nameWithType.vb: TableBase(Of TEntity).QueryAsync\n- uid: Venflow.TableBase`1.QueryAsync``1(Venflow.Commands.IQueryCommand{`0,``0},System.Threading.CancellationToken)\n  name: QueryAsync<TReturn>(IQueryCommand<TEntity, TReturn>, CancellationToken)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryAsync__1_Venflow_Commands_IQueryCommand__0___0__System_Threading_CancellationToken_\n  commentId: M:Venflow.TableBase`1.QueryAsync``1(Venflow.Commands.IQueryCommand{`0,``0},System.Threading.CancellationToken)\n  name.vb: QueryAsync(Of TReturn)(IQueryCommand(Of TEntity, TReturn), CancellationToken)\n  fullName: Venflow.TableBase<TEntity>.QueryAsync<TReturn>(Venflow.Commands.IQueryCommand<TEntity, TReturn>, System.Threading.CancellationToken)\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryAsync(Of TReturn)(Venflow.Commands.IQueryCommand(Of TEntity, TReturn), System.Threading.CancellationToken)\n  nameWithType: TableBase<TEntity>.QueryAsync<TReturn>(IQueryCommand<TEntity, TReturn>, CancellationToken)\n  nameWithType.vb: TableBase(Of TEntity).QueryAsync(Of TReturn)(IQueryCommand(Of TEntity, TReturn), CancellationToken)\n- uid: Venflow.TableBase`1.QueryBatch(System.String,Npgsql.NpgsqlParameter[])\n  name: QueryBatch(String, NpgsqlParameter[])\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch_System_String_Npgsql_NpgsqlParameter___\n  commentId: M:Venflow.TableBase`1.QueryBatch(System.String,Npgsql.NpgsqlParameter[])\n  name.vb: QueryBatch(String, NpgsqlParameter())\n  fullName: Venflow.TableBase<TEntity>.QueryBatch(System.String, Npgsql.NpgsqlParameter[])\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryBatch(System.String, Npgsql.NpgsqlParameter())\n  nameWithType: TableBase<TEntity>.QueryBatch(String, NpgsqlParameter[])\n  nameWithType.vb: TableBase(Of TEntity).QueryBatch(String, NpgsqlParameter())\n- uid: Venflow.TableBase`1.QueryBatch(System.String,System.Boolean)\n  name: QueryBatch(String, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch_System_String_System_Boolean_\n  commentId: M:Venflow.TableBase`1.QueryBatch(System.String,System.Boolean)\n  fullName: Venflow.TableBase<TEntity>.QueryBatch(System.String, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryBatch(System.String, System.Boolean)\n  nameWithType: TableBase<TEntity>.QueryBatch(String, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QueryBatch(String, Boolean)\n- uid: Venflow.TableBase`1.QueryBatch(System.String,System.Boolean,Npgsql.NpgsqlParameter[])\n  name: QueryBatch(String, Boolean, NpgsqlParameter[])\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch_System_String_System_Boolean_Npgsql_NpgsqlParameter___\n  commentId: M:Venflow.TableBase`1.QueryBatch(System.String,System.Boolean,Npgsql.NpgsqlParameter[])\n  name.vb: QueryBatch(String, Boolean, NpgsqlParameter())\n  fullName: Venflow.TableBase<TEntity>.QueryBatch(System.String, System.Boolean, Npgsql.NpgsqlParameter[])\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryBatch(System.String, System.Boolean, Npgsql.NpgsqlParameter())\n  nameWithType: TableBase<TEntity>.QueryBatch(String, Boolean, NpgsqlParameter[])\n  nameWithType.vb: TableBase(Of TEntity).QueryBatch(String, Boolean, NpgsqlParameter())\n- uid: Venflow.TableBase`1.QueryBatch*\n  name: QueryBatch\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch_\n  commentId: Overload:Venflow.TableBase`1.QueryBatch\n  isSpec: \"True\"\n  fullName: Venflow.TableBase<TEntity>.QueryBatch\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryBatch\n  nameWithType: TableBase<TEntity>.QueryBatch\n  nameWithType.vb: TableBase(Of TEntity).QueryBatch\n- uid: Venflow.TableBase`1.QueryInterpolatedBatch(System.FormattableString,System.Boolean)\n  name: QueryInterpolatedBatch(FormattableString, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedBatch_System_FormattableString_System_Boolean_\n  commentId: M:Venflow.TableBase`1.QueryInterpolatedBatch(System.FormattableString,System.Boolean)\n  fullName: Venflow.TableBase<TEntity>.QueryInterpolatedBatch(System.FormattableString, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryInterpolatedBatch(System.FormattableString, System.Boolean)\n  nameWithType: TableBase<TEntity>.QueryInterpolatedBatch(FormattableString, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QueryInterpolatedBatch(FormattableString, Boolean)\n- uid: Venflow.TableBase`1.QueryInterpolatedBatch*\n  name: QueryInterpolatedBatch\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedBatch_\n  commentId: Overload:Venflow.TableBase`1.QueryInterpolatedBatch\n  isSpec: \"True\"\n  fullName: Venflow.TableBase<TEntity>.QueryInterpolatedBatch\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryInterpolatedBatch\n  nameWithType: TableBase<TEntity>.QueryInterpolatedBatch\n  nameWithType.vb: TableBase(Of TEntity).QueryInterpolatedBatch\n- uid: Venflow.TableBase`1.QueryInterpolatedSingle(System.FormattableString,System.Boolean)\n  name: QueryInterpolatedSingle(FormattableString, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_System_FormattableString_System_Boolean_\n  commentId: M:Venflow.TableBase`1.QueryInterpolatedSingle(System.FormattableString,System.Boolean)\n  fullName: Venflow.TableBase<TEntity>.QueryInterpolatedSingle(System.FormattableString, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryInterpolatedSingle(System.FormattableString, System.Boolean)\n  nameWithType: TableBase<TEntity>.QueryInterpolatedSingle(FormattableString, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QueryInterpolatedSingle(FormattableString, Boolean)\n- uid: Venflow.TableBase`1.QueryInterpolatedSingle*\n  name: QueryInterpolatedSingle\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_\n  commentId: Overload:Venflow.TableBase`1.QueryInterpolatedSingle\n  isSpec: \"True\"\n  fullName: Venflow.TableBase<TEntity>.QueryInterpolatedSingle\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryInterpolatedSingle\n  nameWithType: TableBase<TEntity>.QueryInterpolatedSingle\n  nameWithType.vb: TableBase(Of TEntity).QueryInterpolatedSingle\n- uid: Venflow.TableBase`1.QuerySingle(System.String,Npgsql.NpgsqlParameter[])\n  name: QuerySingle(String, NpgsqlParameter[])\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_System_String_Npgsql_NpgsqlParameter___\n  commentId: M:Venflow.TableBase`1.QuerySingle(System.String,Npgsql.NpgsqlParameter[])\n  name.vb: QuerySingle(String, NpgsqlParameter())\n  fullName: Venflow.TableBase<TEntity>.QuerySingle(System.String, Npgsql.NpgsqlParameter[])\n  fullName.vb: Venflow.TableBase(Of TEntity).QuerySingle(System.String, Npgsql.NpgsqlParameter())\n  nameWithType: TableBase<TEntity>.QuerySingle(String, NpgsqlParameter[])\n  nameWithType.vb: TableBase(Of TEntity).QuerySingle(String, NpgsqlParameter())\n- uid: Venflow.TableBase`1.QuerySingle(System.String,System.Boolean)\n  name: QuerySingle(String, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_System_String_System_Boolean_\n  commentId: M:Venflow.TableBase`1.QuerySingle(System.String,System.Boolean)\n  fullName: Venflow.TableBase<TEntity>.QuerySingle(System.String, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QuerySingle(System.String, System.Boolean)\n  nameWithType: TableBase<TEntity>.QuerySingle(String, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QuerySingle(String, Boolean)\n- uid: Venflow.TableBase`1.QuerySingle(System.String,System.Boolean,Npgsql.NpgsqlParameter[])\n  name: QuerySingle(String, Boolean, NpgsqlParameter[])\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_System_String_System_Boolean_Npgsql_NpgsqlParameter___\n  commentId: M:Venflow.TableBase`1.QuerySingle(System.String,System.Boolean,Npgsql.NpgsqlParameter[])\n  name.vb: QuerySingle(String, Boolean, NpgsqlParameter())\n  fullName: Venflow.TableBase<TEntity>.QuerySingle(System.String, System.Boolean, Npgsql.NpgsqlParameter[])\n  fullName.vb: Venflow.TableBase(Of TEntity).QuerySingle(System.String, System.Boolean, Npgsql.NpgsqlParameter())\n  nameWithType: TableBase<TEntity>.QuerySingle(String, Boolean, NpgsqlParameter[])\n  nameWithType.vb: TableBase(Of TEntity).QuerySingle(String, Boolean, NpgsqlParameter())\n- uid: Venflow.TableBase`1.QuerySingle*\n  name: QuerySingle\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_\n  commentId: Overload:Venflow.TableBase`1.QuerySingle\n  isSpec: \"True\"\n  fullName: Venflow.TableBase<TEntity>.QuerySingle\n  fullName.vb: Venflow.TableBase(Of TEntity).QuerySingle\n  nameWithType: TableBase<TEntity>.QuerySingle\n  nameWithType.vb: TableBase(Of TEntity).QuerySingle\n- uid: Venflow.TypeArgumentException\n  name: TypeArgumentException\n  href: api/Venflow.TypeArgumentException.html\n  commentId: T:Venflow.TypeArgumentException\n  fullName: Venflow.TypeArgumentException\n  nameWithType: TypeArgumentException\n- uid: Venflow.TypeArgumentException.#ctor(System.String)\n  name: TypeArgumentException(String)\n  href: api/Venflow.TypeArgumentException.html#Venflow_TypeArgumentException__ctor_System_String_\n  commentId: M:Venflow.TypeArgumentException.#ctor(System.String)\n  fullName: Venflow.TypeArgumentException.TypeArgumentException(System.String)\n  nameWithType: TypeArgumentException.TypeArgumentException(String)\n- uid: Venflow.TypeArgumentException.#ctor(System.String,System.Exception)\n  name: TypeArgumentException(String, Exception)\n  href: api/Venflow.TypeArgumentException.html#Venflow_TypeArgumentException__ctor_System_String_System_Exception_\n  commentId: M:Venflow.TypeArgumentException.#ctor(System.String,System.Exception)\n  fullName: Venflow.TypeArgumentException.TypeArgumentException(System.String, System.Exception)\n  nameWithType: TypeArgumentException.TypeArgumentException(String, Exception)\n- uid: Venflow.TypeArgumentException.#ctor(System.String,System.String)\n  name: TypeArgumentException(String, String)\n  href: api/Venflow.TypeArgumentException.html#Venflow_TypeArgumentException__ctor_System_String_System_String_\n  commentId: M:Venflow.TypeArgumentException.#ctor(System.String,System.String)\n  fullName: Venflow.TypeArgumentException.TypeArgumentException(System.String, System.String)\n  nameWithType: TypeArgumentException.TypeArgumentException(String, String)\n- uid: Venflow.TypeArgumentException.#ctor*\n  name: TypeArgumentException\n  href: api/Venflow.TypeArgumentException.html#Venflow_TypeArgumentException__ctor_\n  commentId: Overload:Venflow.TypeArgumentException.#ctor\n  isSpec: \"True\"\n  fullName: Venflow.TypeArgumentException.TypeArgumentException\n  nameWithType: TypeArgumentException.TypeArgumentException\n- uid: Venflow.VenflowConfiguration\n  name: VenflowConfiguration\n  href: api/Venflow.VenflowConfiguration.html\n  commentId: T:Venflow.VenflowConfiguration\n  fullName: Venflow.VenflowConfiguration\n  nameWithType: VenflowConfiguration\n- uid: Venflow.VenflowConfiguration.ShouldUseDeepValidation\n  name: ShouldUseDeepValidation\n  href: api/Venflow.VenflowConfiguration.html#Venflow_VenflowConfiguration_ShouldUseDeepValidation\n  commentId: P:Venflow.VenflowConfiguration.ShouldUseDeepValidation\n  fullName: Venflow.VenflowConfiguration.ShouldUseDeepValidation\n  nameWithType: VenflowConfiguration.ShouldUseDeepValidation\n- uid: Venflow.VenflowConfiguration.ShouldUseDeepValidation*\n  name: ShouldUseDeepValidation\n  href: api/Venflow.VenflowConfiguration.html#Venflow_VenflowConfiguration_ShouldUseDeepValidation_\n  commentId: Overload:Venflow.VenflowConfiguration.ShouldUseDeepValidation\n  isSpec: \"True\"\n  fullName: Venflow.VenflowConfiguration.ShouldUseDeepValidation\n  nameWithType: VenflowConfiguration.ShouldUseDeepValidation\n- uid: Venflow.VenflowConfiguration.UseDeepValidation(System.Boolean)\n  name: UseDeepValidation(Boolean)\n  href: api/Venflow.VenflowConfiguration.html#Venflow_VenflowConfiguration_UseDeepValidation_System_Boolean_\n  commentId: M:Venflow.VenflowConfiguration.UseDeepValidation(System.Boolean)\n  fullName: Venflow.VenflowConfiguration.UseDeepValidation(System.Boolean)\n  nameWithType: VenflowConfiguration.UseDeepValidation(Boolean)\n- uid: Venflow.VenflowConfiguration.UseDeepValidation*\n  name: UseDeepValidation\n  href: api/Venflow.VenflowConfiguration.html#Venflow_VenflowConfiguration_UseDeepValidation_\n  commentId: Overload:Venflow.VenflowConfiguration.UseDeepValidation\n  isSpec: \"True\"\n  fullName: Venflow.VenflowConfiguration.UseDeepValidation\n  nameWithType: VenflowConfiguration.UseDeepValidation\n"
  },
  {
    "path": "docs/guides/advanced/aspnetcore.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Asp.Net Core with Venflow | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Asp.Net Core with Venflow | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"../toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../../\">\n    <link rel=\"preload\" href=\"../../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Guides.Advanced.AspNetCore\">\n<h1 id=\"aspnet-core-with-venflow\">Asp.Net Core with Venflow</h1>\n\n<p>Venflow natively adds container support for Asp.Net Core through the <code>Venflow.AspNetCore</code> NuGet package. It allows to directly register a <a class=\"xref\" href=\"../../api/Venflow.Database.html\"><code>Database</code></a> to your <code>IServiceCollection</code> through the <code>AddDatabase</code> method.</p>\n<div class=\"WARNING\">\n<h5>Warning</h5>\n<p>Although this is fairly straightforward, you should ensure that your <a class=\"xref\" href=\"../../api/Venflow.Database.html\"><code>Database</code></a> class has a public constructor with a <a class=\"xref\" href=\"../../api/Venflow.DatabaseOptionsBuilder-1.html\"><code>DatabaseOptionsBuilder&lt;T&gt;</code></a> as a parameter which is getting passed to the appropriate base constructor. Otherwise it will ignore any options you configured.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/docs/docfx/guides/advanced/aspnetcore.md/#L1\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/guides/advanced/enums.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Enums with Venflow | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Enums with Venflow | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"../toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../../\">\n    <link rel=\"preload\" href=\"../../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Guides.Advanced.Enums\">\n<h1 id=\"enums-with-venflow\">Enums with Venflow</h1>\n\n<p>Enums are quite heavily used in C# and PostgreSQL, there are two different options of mapping you can choose from. By default any enum will be mapped as the underlying numeric data type in the database. However if you want to use a native PostgreSQL enum you have to specify that in the Configuration of your entity.</p>\n<pre><code class=\"lang-cs\">public class FooConfiguration : EntityConfiguration&lt;Foo&gt;\n{\n    protected override void Configure(IEntityBuilder&lt;Foo&gt; entityBuilder)\n    {\n        entityBuilder.MapPostgresEnum(x =&gt; x.Bar);\n    }\n}\n</code></pre>\n<div class=\"NOTE\">\n<h5>Note</h5>\n<p>It is enough to map your PostgreSQL enum once in an assembly. However, if you prefer, you can also configure it multiple times.</p>\n</div>\n<div class=\"NOTE\">\n<h5>Note</h5>\n<p>By default the name of the enum within C# will be converted to a lower-cased <code>_</code> separated name. That means <code>FooBaz</code> would be converted to <code>foo_baz</code>. If you want to override any of the naming behaviours you can pass a valid value to the <code>name</code>/<code>npgsqlNameTranslator</code> parameters.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/docs/docfx/guides/advanced/enums.md/#L1\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/guides/advanced/interpolation.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Interpolation with Venflow | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Interpolation with Venflow | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"../toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../../\">\n    <link rel=\"preload\" href=\"../../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Guides.Advanced.Interpolation\">\n<h1 id=\"interpolation-with-venflow\">Interpolation with Venflow</h1>\n\n<p><em>If you never heard about string interpolation you should check the <a href=\"https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/tokens/interpolated\">official docs</a>.</em></p>\n<p>Writing SQL can be a real pain especially while writing in by hand and keeping it injection safe. However Venflow tries to help you with all of that, especially by providing a simple way to write injection safe SQL. All API's which allow for SQL with parameters also have a counterpart called something along the lines of *Interpolation*. They accept a <a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.formattablestring\"><code>FormattableString</code></a> which allow for interpolated strings. Lets take a look at how this would like with a query, that queries all blogs with a similar one to the name provided by the user.</p>\n<pre><code class=\"lang-cs\">var name = Console.ReadLine(); // The name of the blogs to find with a similar name\n\nvar blogs = await database.Blogs.QueryInterpolatedBatch($@&quot;SELECT * FROM &quot;&quot;Blogs&quot;&quot; WHERE &quot;&quot;Name&quot;&quot; LIKE {name}&quot;)\n                                .QueryAsync();\n</code></pre>\n<div class=\"WARNING\">\n<h5>Warning</h5>\n<p>This way of injecting parameters is totally safe, however you need to be very careful to <strong>always</strong> choose the interpolation methods while doing this.</p>\n</div>\n<h3 id=\"extract-interpolated-sql-into-variables\">Extract interpolated SQL into variables</h3>\n<p>If your SQL statement is a little bit larger than usual you might want to extract your string to a local variable or similar. However you need to be careful while choosing the variable type. Your habits might want to tell you to choose a <a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.string\"><code>string</code></a> or <a href=\"https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/var\"><code>var</code></a> however you need to make sure that you explicitly set the variable type to <a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.formattablestring\"><code>FormattableString</code></a>. Otherwise the string interpolation happens inline and no parameterizing by Venflow will happen. Down below you will see a simple example of how that would look like.</p>\n<pre><code class=\"lang-cs\">FormattableString sql = $@&quot;SELECT * FROM &quot;&quot;Blogs&quot;&quot; WHERE &quot;&quot;Name&quot;&quot; LIKE {Console.ReadLine()}&quot;;\n\nvar blogs = await database.Blogs.QueryInterpolatedBatch(sql)\n                                .QueryAsync();\n</code></pre>\n<h2 id=\"supported-interpolation-types\">Supported interpolation types</h2>\n<p>At the current state you can use all types <a href=\"https://www.npgsql.org/doc/types/basic.html\">Npgsql supports</a>, as well as a few neat features Venflow implemented such as the support for <a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.uint64\"><code>ulong</code></a>, <a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.uint64\"><code>ulong?</code></a> and all types that implement <a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.collections.generic.ilist-1\"><code>IList&lt;T&gt;</code></a>, this includes types such as arrays and all collections that implement it. Lets look at its behaviour with an example.</p>\n<pre><code class=\"lang-cs\">var blogIds = new int[3] { 1, 2, 3 };\n\nFormattableString sql = $@&quot;SELECT * FROM &quot;&quot;Blogs&quot;&quot; WHERE &quot;&quot;Id&quot;&quot; IN ({blogIds})&quot;;\n\nvar blogs = await database.Blogs.QueryInterpolatedBatch(sql)\n                                .QueryAsync();\n</code></pre>\n<p>This will query all blogs with the ids <code>1</code>, <code>2</code> and <code>3</code>. The above written SQL statement will be converted to the following:</p>\n<pre><code class=\"lang-sql\">-- @p* will contain their repective values e.g. (1, 2, 3)\nSELECT * FROM &quot;Blogs&quot; WHERE &quot;Id&quot; IN (@p1, @p2, @p3)\n</code></pre>\n<p>Of course the numbers usually would be parametrized, however for the sake of this example it contains the values directly.</p>\n<h2 id=\"dynamic-sql\">Dynamic SQL</h2>\n<p>There might be situations in which you need to dynamically generate SQL with parameters, in which case the common <a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.text.stringbuilder\"><code>StringBuilder</code></a> isn't sufficient enough. Venflow provides you with the <a class=\"xref\" href=\"../../api/Venflow.FormattableSqlStringBuilder.html\"><code>FormattableSqlStringBuilder</code></a> class which acts like a  <a class=\"xref\" href=\"https://docs.microsoft.com/dotnet/api/system.text.stringbuilder\"><code>StringBuilder</code></a>, however it provides methods, which allow for interpolated SQL. Lets take a look at this with a more practical example.</p>\n<pre><code class=\"lang-cs\">public Task&lt;List&lt;Blogs&gt;&gt; GetBlogsAsync(string[]? names)\n{\n    var stringBuilder = new FormattableSqlStringBuilder();\n\t\n    stringBuilder.Append(@&quot;SELECT * FROM &quot;&quot;Blogs&quot;&quot;&quot;);\n    \n    if(names is not null &amp;&amp;\n\t   names.Length &gt; 0)\n    {\n        stringBuilder.Append(@&quot; WHERE &quot;&quot;Name&quot;&quot; IN (&quot;);\n        stringBuilder.AppendParameter(names);\n        stringBuilder.AppendInterpolated(@$&quot;) AND LENGTH(&quot;&quot;Name&quot;&quot;) &gt; {5}&quot;);\n    }\n    \n    return database.Blogs.QueryInterpolatedBatch(stringBuilder).QueryAsync();\n}\n</code></pre>\n<p>Obviously the query shown above is not too useful, however if names would be provided, it would only query those and additionally they would need to be longer than 5 characters.</p>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/docs/docfx/guides/advanced/interpolation.md/#L1\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/guides/advanced/logging.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Logging with Venflow | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Logging with Venflow | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"../toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../../\">\n    <link rel=\"preload\" href=\"../../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Guides.Advanced.Logging\">\n<h1 id=\"logging-with-venflow\">Logging with Venflow</h1>\n\n<p>Logging in general is a very important topic, especially in a scenario like this, in which the ORM partially creates SQL. At the current state, Venflow only supports logging executed commands, rather than the logging of internal events.</p>\n<h2 id=\"setup-the-logging-provider\">Setup the logging provider</h2>\n<p>You configure your logging provider on a <a class=\"xref\" href=\"../../api/Venflow.Database.html\"><code>Database</code></a> basis, by overriding the <a href=\"xref:Venflow.Database.Configure(Venflow.DatabaseOptionsBuilder)\"><code>Configure</code></a> method. For this example, lets use the database which you already know from the <a href=\"../getting_started/setup.html\">Setup Guide</a>. By using the provided <a href=\"xref:Venflow.DatabaseOptionsBuilder\"><code>DatabaseOptionsBuilder</code></a>, you can call the <a href=\"xref:Venflow.DatabaseOptionsBuilder.LogTo(Venflow.LoggerCallback)\"><code>LogTo</code></a> method on it. The delegate defines three parameters, the executed <a href=\"xref:Npgsql.NpgsqlCommand\"><code>NpgsqlCommand</code></a>, the  <a class=\"xref\" href=\"../../api/Venflow.Enums.CommandType.html\"><code>CommandType</code></a> executed as well as the exception if any occurred. However it is important to note that Venflow, at least at the current state, only logs the executed commands and nothing else.</p>\n<div class=\"NOTE\">\n<h5>Note</h5>\n<p>The sensitive data logging is a bit special, since it populates the parameters on the client, rather than on the server. This means, that the <em>populated</em> SQL might not always be 100% accurate. To get the the sensitive data call the <a href=\"xref:Venflow.NpgsqlCommandExtensions.SetInterpolatedCommandText(Npgsql.NpgsqlCommand,System.FormattableString)\"><code>NpgsqlCommandExtensions.GetUnParameterizedCommandText</code></a> extension method on the provided <a href=\"xref:Npgsql.NpgsqlCommand\"><code>NpgsqlCommand</code></a> instance. However, it also got some other caveats, you can get more information by further inspecting the API reference.</p>\n</div>\n<pre><code class=\"lang-cs\">public class BlogDatabase : Database\n{\n    public Table&lt;Blog&gt; Blogs { get; set; }\n    public Table&lt;Post&gt; Posts { get; set; }\n\n    public BlogDatabase() : base(&quot;Your connection string.&quot;)\n    {\n        \n    }\n    \n    protected override void Configure(DatabaseOptionsBuilder optionsBuilder)\n    {\n        // You can also configure multiple loggers.\n        optionsBuilder.LogTo((command, type, exception) =&gt; Console.WriteLine(command.CommandText));\n    }\n}\n</code></pre>\n<h2 id=\"setup-the-logging-provider-in-a-more-specific-manner\">Setup the logging provider in a more specific manner</h2>\n<p>You don't always want the ORM to log every single SQL statement ever to be executed, in this case Venflow allows to individually override the logging behaviour on a command basis by calling <a href=\"xref:Venflow.Commands.ISpecficVenflowCommandBuilder%602.LogTo(System.Boolean)\"><code>LogTo</code></a> on the method chain. In the example down below, all globally defined loggers will be overridden by the loggers configured on the command.</p>\n<pre><code class=\"lang-cs\">FormattableString sql = $@&quot;SELECT * FROM &quot;&quot;Blogs&quot;&quot; WHERE &quot;&quot;Id&quot;&quot; = {someId} LIMIT 1&quot;;\n\nvar blog = await database.Blogs.QueryInterpolatedSingle(sql)\n    \t\t\t\t\t\t   // You can also configure multiple loggers.\n                               .LogTo((command, type, exception) =&gt; Console.WriteLine(command.CommandText))\n                               .QueryAsync();\n</code></pre>\n<p>However, lets assume you wouldn't want to configure the logger on a command basis, but would rather cherry pick the commands. In that case you would need to set the  <a href=\"xref:Venflow.DatabaseOptionsBuilder.DefaultLoggingBehavior\"><code>DatabaseOptionsBuilder.DefaultLoggingBehavior</code></a> to <a class=\"xref\" href=\"../../api/Venflow.Enums.LoggingBehavior.html#Venflow_Enums_LoggingBehavior_Never\"><code>DefaultLoggingBehavior.Never</code></a> in the same method you configured the global logger. Then you would want to call <a href=\"xref:Venflow.Commands.ISpecficVenflowCommandBuilder%602.LogTo(System.Boolean)\"><code>LogTo</code></a> on all commands you would want to be logged.</p>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/docs/docfx/guides/advanced/logging.md/#L1\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/guides/advanced/logging_extensions.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Logging with Venflow and Microsoft.Extensions.Logging | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Logging with Venflow and Microsoft.Extensions.Logging | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"../toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../../\">\n    <link rel=\"preload\" href=\"../../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Guides.Advanced.Logging.Extensions\">\n<h1 id=\"logging-with-venflow-and-microsoftextensionslogging\">Logging with Venflow and Microsoft.Extensions.Logging</h1>\n\n<p>Venflow has out of the box support for <a href=\"https://www.nuget.org/packages/Microsoft.Extensions.Logging\"><code>Microsoft.Extensions.Logging</code></a>, however it needs an add-in package called <a href=\"https://www.nuget.org/packages/Venflow.Extensions.Logging\"><code>Venflow.Extensions.Logging</code></a> which can be downloaded through the NuGet Package Manager.</p>\n<p>After installing you will be able to use the extensions method <a href=\"xref:Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.UseLoggerFactory(Venflow.DatabaseOptionsBuilder,Microsoft.Extensions.Logging.ILoggerFactory,System.Boolean)\"><code>UseLoggerFactory</code></a> on your <a href=\"xref:Venflow.DatabaseOptionsBuilder\"><code>DatabaseOptionsBuilder</code></a> instance as shown in the example below. The Boolean parameter specifies whether or not to include sensitive information in the formatted log.</p>\n<pre><code class=\"lang-cs\">public class BlogDatabase : Database\n{\n    // Omitted for brevity.\n    \n    private readonly ILoggerFactory _loggerFactory;\n    \n    public BlogDatabase(ILoggerFactory loggerFactory) : base(&quot;Your connection string.&quot;)\n    {\n        _loggerFactory = loggerFactory;\n    }\n    \n    protected override void Configure(DatabaseOptionsBuilder optionsBuilder)\n    {\n        optionsBuilder.UseLoggerFactory(_loggerFactory, true);\n    }\n}\n</code></pre>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/docs/docfx/guides/advanced/logging_extensions.md/#L1\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/guides/advanced/nullables.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Nullables with Venflow | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Nullables with Venflow | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"../toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../../\">\n    <link rel=\"preload\" href=\"../../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Guides.Advanced.Nullables\">\n<h1 id=\"nullables-with-venflow\">Nullables with Venflow</h1>\n\n<p>Since C#8 null-able reference types are supported which help you writing better code and improves the IntelliSense. However for Venflow this also is a big deal. If you have specified <code>&lt;Nullable&gt;enable&lt;/Nullable&gt;</code> in your <code>.csproj</code> file you opt-in for this feature. You will then be forced to mark all fields as null-able which are also marked as null-able in your database. That way Venflow can produce way more optimized code.</p>\n<div class=\"WARNING\">\n<h5>Warning</h5>\n<p>You will also be forced to apply the null-able identifiers for all foreign-keys and navigation properties, if they are indeed null-able.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/docs/docfx/guides/advanced/nullables.md/#L1\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/guides/advanced/prepared_statements.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Statement Preparation with Venflow | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Statement Preparation with Venflow | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"../toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../../\">\n    <link rel=\"preload\" href=\"../../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Guides.Advanced.Preparation\">\n<h1 id=\"statement-preparation-with-venflow\">Statement Preparation with Venflow</h1>\n\n<p>You can also prepare Query statements with Venflow through the Query Builder. This would look something like the following.</p>\n<pre><code class=\"lang-cs\">var someId = 10;\nvar query = await database.Blogs.QueryInterpolatedBatch($@&quot;SELECT * FROM &quot;&quot;Blogs&quot;&quot; WHERE &quot;&quot;Id&quot;&quot; = {someId}&quot;, false)\n    \t\t\t\t\t  \t\t.Build()\n    \t\t\t\t\t  \t\t.PrepareAsync(); \n// You need to store this stamenet in a field or similar and reuse it, every time you want to query through this prepared statment.\n\nvar blogs = await _database.Blogs.QueryAsync(query); // You can also inline this with the line above.\n</code></pre>\n<div class=\"NOTE\">\n<h5>Note</h5>\n<p>Also do not forget to call <code>UnprepareAsync</code> or <code>DisposeAsync</code> on this command once you no longer need it.</p>\n</div>\n<div class=\"NOTE\">\n<h5>Note</h5>\n<p>One handy feature that comes in for you, is that you can use this prepared command with any <code>Database</code> instance.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/docs/docfx/guides/advanced/prepared_statements.md/#L1\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/guides/advanced/query_command_cache.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Caching Command Queries | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Caching Command Queries | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"../toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../../\">\n    <link rel=\"preload\" href=\"../../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Guides.Advanced.CommandQueryCache\">\n<h1 id=\"caching-command-queries\">Caching Command Queries</h1>\n\n<p>Do note, that this guide is not about Query Response Caching, but rather about caching the underlying command.</p>\n<p>Venflow uses different methods to cache the underlying query result parser aka. query materializer. There are two layers to this caching mechanism, where the first one is by SQL query string and the second one by the actual properties of the query such as returned columns. There is not much for you to configure, however if you do wish you can configure the cache expiration time of the first layer. This is important, in order to prevent too much memory allocation by the SQL query strings.</p>\n<p>In the example shown below, the cache expiration time is set to 10 minutes instead of the default of 5 minutes.</p>\n<pre><code class=\"lang-cs\">VenflowConfiguration.SetDynamicCacheExpirationTime(TimeSpan.FromMinutes(10));\n</code></pre>\n<div class=\"NOTE\">\n<h5>Note</h5>\n<p>Once a SQL query reached its expiration time, it will indeed be removed from the first layer cache, however once it will be executed again, it will NOT need to recompile the query materializer, since it calls the slower, but memory-lighter second layer cache instead.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/docs/docfx/guides/advanced/query_command_cache.md/#L1\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/guides/advanced/strong_key.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Strongly-typed Ids with Venflow | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Strongly-typed Ids with Venflow | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"../toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../../\">\n    <link rel=\"preload\" href=\"../../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Guides.Advanced.StrongKeys\">\n<h1 id=\"strongly-typed-ids-with-venflow\">Strongly-typed Ids with Venflow</h1>\n\n<p>Usually when interacting with any SQL database ids are quite common, especially when you have to write the SQL on your own. One might now ask themselves, why there even would be a need for strongly-typed ids, lets look at the example below.</p>\n<pre><code class=\"lang-cs\">var blogId = 10;\nvar postId = 14;\n\nvar post = GetPostByBlog(postId, blogId);\n\npublic Post GetPostByBlog(int blogId, int postId)\n{\n    // Omitted for brevity \n}\n</code></pre>\n<p>This code will compile just fine, however as you might have spotted, the <code>postId</code> and <code>blogId</code> are in the wrong order and therefore might not give us the expected result. This can be a real nightmare to fix as it is rather hard to spot in a large codebase with a lot of different entities. Luckily Venflow directly provides you with a build in solution called strongly-typed ids, through the <a class=\"xref\" href=\"../../api/Venflow.Key-2.html\"><code>Key&lt;T,TKey&gt;</code></a> API. Lets look at a full implementation.</p>\n<pre><code class=\"lang-cs\">public class Blog\n{\n    public Key&lt;Blog, int&gt; Id { get; set; } // Using Key instead of int\n    public string Name { get; set; }\n    \n    public IList&lt;Post&gt; Posts { get; }\n    \n    public Blog()\n    {\n        Posts = new List&lt;Post&gt;();\n    }\n}\n\npublic class Post\n{\n    public Key&lt;Post, int&gt; Id { get; set; } // Using Key instead of int\n    public string Title { get; set; }\n    public string Content { get; set; }\n    \n    public Key&lt;Blog, int&gt; BlogId { get; set; } // Using Key instead of int\n    public Blog Blog { get; set; }\n}\n</code></pre>\n<p>Not only do primary-keys benefit from this, but also all the columns/properties which take any kind of id, such as foreign-keys. Not only do we now have type-safety, but also close to zero effort, since equality operators as well as implicit cast operators are predefined. Lets take the example from before and see what changes.</p>\n<pre><code class=\"lang-cs\">Key&lt;Blog, int&gt; blogId = 10;\nKey&lt;Post, int&gt; postId = 14;\n\nvar post = GetPostByBlog(postId, blogId);\n\npublic Post GetPostByBlog(Key&lt;Blog, int&gt; blogId, Key&lt;Post, int&gt; postId)\n{\n    // Omitted for brevity \n}\n</code></pre>\n<p>This will no longer compile, due to the fact, that the  <code>Key&lt;Post, int&gt;</code> stored in <code>postId</code> can not be implicitly converted to the\n<code>Key&lt;Blog, int&gt;</code> parameter defined in the by the <code>GetPostByBlog</code> method.</p>\n<h2 id=\"reducing-the-boilerplate\">Reducing the boilerplate</h2>\n<p>This is already an improvement, but it is somewhat annoying to always specify the type the key belongs to as well as the type of the key. In most databases you will most likely end up with the same type of id for all of your tables. Therefor it is rather unnecessary to specify it every time in code. Venflow provides you with a Source Generator to create a strongly-typed id with a fixed type for us. However, do note that Source Generators are only available through C#9.</p>\n<pre><code class=\"lang-cs\">[Venflow.GeneratedKey(typeof(int))]\npublic partial struct Key&lt;T&gt; { }\n</code></pre>\n<p>From now on you would be able to create all your strongly-typed ids as shown below.</p>\n<pre><code class=\"lang-cs\">public class Post\n{\n    public Key&lt;Post&gt; Id { get; set; } // Using Key&lt;T&gt; instead of Key&lt;T, TKey&gt;\n    public string Title { get; set; }\n    public string Content { get; set; }\n    \n    public Key&lt;Blog&gt; BlogId { get; set; } // Using Key&lt;T&gt; instead of Key&lt;T, TKey&gt;\n    public Blog Blog { get; set; }\n}\n</code></pre>\n<p>If required you could also create multiple strongly-typed ids with a fixed types, by naming them differently, for example <code>IntKey&lt;T&gt;</code> or <code>GuidKey&lt;T&gt;</code>.</p>\n<div class=\"NOTE\">\n<h5>Note</h5>\n</div>\n<p>If you want to use Strongly-typed id's without referencing the whole ORM, you can install Venflow.Keys from NuGet.</p>\n<h2 id=\"support-for-json\">Support for JSON</h2>\n<p>Venflow natively supports <code>System.Text.Json</code> and <code>Newtonsoft.Json</code>, however if you do want to use <code>Newtonsoft.Json</code> you will need to additionally add <code>Venflow.NewtonsoftJson</code>.</p>\n<h3 id=\"systemtextjson\">System.Text.Json</h3>\n<p>You will need to tell the serializer and de-serializer how to handle the new type, you can do this by adding the following line to your <code>JsonOptions</code>.</p>\n<pre><code class=\"lang-cs\">var options = new JsonOptions();\n\noptions.Converters.Add(new JsonKeyConverterFactory());\n</code></pre>\n<h3 id=\"newtonsoftjson\">Newtonsoft.Json</h3>\n<p>You will need to tell the serializer and de-serializer how to handle the new type, you can do this by adding the following line to your <code>JsonSerializerSettings</code>.</p>\n<pre><code class=\"lang-cs\">var settings = new JsonSerializerSettings();\n\nsettings.Converters.Add(new NewtonsoftJsonKeyConverter());\n</code></pre>\n<h2 id=\"support-for-aspnet-core\">Support for Asp.Net Core</h2>\n<p>Venflow natively supports <code>System.Text.Json</code> with Asp.Net Core through the <code>Venflow.AspNetCore</code> NuGet package. In your <code>Startup.cs</code> file you can add the code below in your <code>ConfigureServices</code> method.</p>\n<pre><code class=\"lang-cs\">servics.AddVenflowJson();\n</code></pre>\n<h3 id=\"newtonsoftjson-1\">Newtonsoft.Json</h3>\n<p>At the moment you still have to write your own implementation for <code>Newtonsoft.Json</code>, an example can be found below.</p>\n<pre><code class=\"lang-cs\">servics.AddNewtonsoftJson(options =&gt;\n        {\n            options.SerializerSettings.Converters.Add(new NewtonsoftJsonKeyConverter());\n        });\n</code></pre>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/docs/docfx/guides/advanced/strong_key.md/#L1\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/guides/advanced/validation.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Validation with Venflow | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Validation with Venflow | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"../toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../../\">\n    <link rel=\"preload\" href=\"../../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Guides.Advanced.Validation\">\n<h1 id=\"validation-with-venflow\">Validation with Venflow</h1>\n\n<p>Venflow performs a lot of validation under the hood, to perform the best possible UX. However this comes at a performance trade-off. Therefore Venflow only performs these validation, if you are using Venflow in a <code>DEBUG</code> build. If you would compile your assembly to <code>RELEASE</code> these validations wouldn't be performed. In order to manually override this behaviour you can configure this setting with the static <a class=\"xref\" href=\"../../api/Venflow.VenflowConfiguration.html\"><code>VenflowConfiguration</code></a> class.</p>\n<p>In the below example we would tell Venflow, to always use 'Deep Validation', no matter the configuration. You should place this at very beginning of your program, however you can change this value whenever you want.</p>\n<pre><code class=\"lang-cs\">VenflowConfiguration.UseDeepValidation(true);\n</code></pre>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/docs/docfx/guides/advanced/validation.md/#L1\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/guides/getting_started/installation.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Installing Venflow | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Installing Venflow | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"../toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../../\">\n    <link rel=\"preload\" href=\"../../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Guides.GettingStarted.Installation\">\n<h1 id=\"venflow-installation\">Venflow Installation</h1>\n\n<h2 id=\"supported-platforms\">Supported Platforms</h2>\n<p>Venflow supports <code>.Net Framework 4.8</code>, <code>.Net Standard 2.1</code>, <code>.Net Core 3.1</code>, <code>.Net 5</code> and <code>.Net 6</code>.</p>\n<h2 id=\"installation-from-nuget\">Installation from NuGet</h2>\n<p>Venflow is distributed through the official NuGet feed as a lot of the other packages, which makes its install as easy as its get.</p>\n<div class=\"tabGroup\" id=\"tabgroup_CeZOj-G++Q\">\n<ul role=\"tablist\">\n<li role=\"presentation\">\n<a href=\"#tabpanel_CeZOj-G++Q_visualstudio-install\" role=\"tab\" aria-controls=\"tabpanel_CeZOj-G++Q_visualstudio-install\" data-tab=\"visualstudio-install\" tabindex=\"0\" aria-selected=\"true\">Using Visual Studio</a>\n</li>\n<li role=\"presentation\">\n<a href=\"#tabpanel_CeZOj-G++Q_npm-install\" role=\"tab\" aria-controls=\"tabpanel_CeZOj-G++Q_npm-install\" data-tab=\"npm-install\" tabindex=\"-1\">Using the Nuget Package Manager</a>\n</li>\n</ul>\n<section id=\"tabpanel_CeZOj-G++Q_visualstudio-install\" role=\"tabpanel\" data-tab=\"visualstudio-install\">\n\n<ol>\n<li><p>Right click on 'References', and select 'Manage NuGet packages'</p>\n</li>\n<li><p>In the &quot;Browse&quot; tab, search for Venflow</p>\n</li>\n<li><p>Click install.</p>\n</li>\n</ol>\n</section>\n<section id=\"tabpanel_CeZOj-G++Q_npm-install\" role=\"tabpanel\" data-tab=\"npm-install\" aria-hidden=\"true\" hidden=\"hidden\">\n\n<ol>\n<li><p>Click on 'Tools', 'Nuget Package Manager' and 'Package Manager Console'</p>\n</li>\n<li><p>Enter <code>Install-Package Venflow</code></p>\n</li>\n</ol>\n</section>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/docs/docfx/guides/getting_started/installation.md/#L1\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/guides/getting_started/setup.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Setup Venflow | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Setup Venflow | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"../toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../../\">\n    <link rel=\"preload\" href=\"../../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Guides.GettingStarted.Setup\">\n<h1 id=\"venflow-setup\">Venflow Setup</h1>\n\n<h2 id=\"configure-the-database\">Configure the Database</h2>\n<div class=\"WARNING\">\n<h5>Warning</h5>\n<p>Be aware, that LINQPad may throw unexpected errors and you therefore should use a real .Net Project instead.</p>\n</div>\n<p>In Venflow you are reflecting your PostgreSQL database with the <code>Database</code> class, which will host all of your tables. In the following example we will configure a database containing two tables, <code>Blogs</code> and <code>Posts</code>. One Blog contains many posts and a post contains a single Blog.</p>\n<pre><code class=\"lang-cs\">public class BlogDatabase : Database\n{\n    public Table&lt;Blog&gt; Blogs { get; set; }\n    public Table&lt;Post&gt; Posts { get; set; }\n\n    public BlogDatabase() : base(&quot;Your connection string.&quot;)\n    {\n    }\n}\n</code></pre>\n<div class=\"NOTE\">\n<h5>Note</h5>\n<p>Usually you would use your <code>Database</code> with an IOC Container and register it as a <code>Transient</code>/<code>Scoped</code> depending on the use.</p>\n</div>\n<div class=\"WARNING\">\n<h5>Warning</h5>\n<p>This class represents a connection to your database and therefore doesn't support multi threaded use.</p>\n</div>\n<h2 id=\"entities\">Entities</h2>\n<p>Entities represent a row inside a table of your database, for our current example this would look something like the following. Entities have to follow a specific schema:</p>\n<ul>\n<li>The Entity itself has to be public.</li>\n<li>All properties representing a column have to be public and need to have a public setter.</li>\n</ul>\n<pre><code class=\"lang-cs\">public class Blog\n{\n    public int Id { get; set; }\n    public string Name { get; set; }\n    \n    public IList&lt;Post&gt; Posts { get; }\n    \n    public Blog()\n    {\n        Posts = new List&lt;Post&gt;();\n    }\n}\n\npublic class Post\n{\n    public int Id { get; set; }\n    public string Title { get; set; }\n    public string Content { get; set; }\n    \n    public int BlogId { get; set; }\n    public Blog Blog { get; set; }\n}\n</code></pre>\n<div class=\"NOTE\">\n<h5>Note</h5>\n<p>You don't necessarily need to instantiate the <code>Posts</code> navigation property on the <code>Blog</code> Entity, since Venflow will instantiate them otherwise. However in most cases it is more convenient to instantiate them on your own, otherwise foreign collections might be <code>null</code>!</p>\n</div>\n<div class=\"WARNING\">\n<h5>Warning</h5>\n<p>All properties which you want to be updateable by change-tracking have to be marked as virtual!</p>\n</div>\n<h2 id=\"configuring-entities\">Configuring Entities</h2>\n<p>Now lets configure the actual relation between Blogs and Posts through the <code>EntityConfiguration&lt;T&gt;</code> class. In the <code>Configure</code> , method you can configure several things such as the name of the table this entity should map to and much more. These configuration classes do automatically get discovered, if they are in the same assembly as the <code>Database</code> class. If they are not in the same assembly, you can override the <code>Configure</code> method in the <code>Database</code> class which passes in a <code>DatabaseOptionsBuilder</code>, which will allow you to specify assemblies which should also be searched for entity configurations.</p>\n<pre><code class=\"lang-cs\">public class BlogConfiguration : EntityConfiguration&lt;Blog&gt;\n{\n    protected override void Configure(IEntityBuilder&lt;Blog&gt; entityBuilder)\n    {\n        entityBuilder.HasMany(b =&gt; b.Posts)\n                     .WithOne(p =&gt; p.Blog)\n                     .UsingForeignKey(p =&gt; p.BlogId);\n    }\n}\n</code></pre>\n<div class=\"NOTE\">\n<h5>Note</h5>\n<p>Most of the configurations have to be configured with the <code>IEntityConfiguration&lt;T&gt;</code> interface, however there are a few exceptions to this rule.</p>\n<ul>\n<li>Primary Keys get automatically mapped if they are named <code>Id</code> or decorated with the <code>KeyAttribute</code>.</li>\n<li>A property can also be ignored with the <code>NotMappedAttribute</code>.</li>\n</ul>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/docs/docfx/guides/getting_started/setup.md/#L1\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/guides/introduction/intro.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Introduction to Venflow | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Introduction to Venflow | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"../toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../../\">\n    <link rel=\"preload\" href=\"../../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Guides.Introduction\">\n<h1 id=\"introduction\">Introduction</h1>\n\n<p>Welcome to the documentation, there are a few requirements your skills should meet.</p>\n<ul>\n<li><p>Pretty solid understanding of C#, if not take a look at the <a href=\"https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/\">C# Programming Guide</a></p>\n</li>\n<li><p>Experience with SQL Queries and PostgreSQL in general</p>\n</li>\n</ul>\n<p>In the guides section you can find information on how to install Venflow and articles which help you to get started.</p>\n<h2 id=\"you-need-more-help\">You need more help?</h2>\n<p>Feel free to create a <a href=\"https://github.com/TwentyFourMinutes/Venflow/issues/\">GitHub issue</a> or join the Discord Server <a href=\"https://discordapp.com/invite/EYKxkce\"><img alt=\"Discord\" src=\"https://discordapp.com/api/guilds/275377268728135680/widget.png\" style=\"margin: 0; vertical-align: middle; \"></a>.</p>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/docs/docfx/guides/introduction/intro.md/#L1\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/guides/operations/count.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Count with Venflow | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Count with Venflow | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"../toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../../\">\n    <link rel=\"preload\" href=\"../../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Guides.Operations.Count\">\n<h1 id=\"count-rows-with-venflow\">Count Rows with Venflow</h1>\n\n<p>Your <code>Database</code> class exposes <code>Table&lt;T&gt;</code> properties which expose count operations. In Venflow counts are always automatically generated. For this example, we want to get the amount of rows in the Posts table.</p>\n<pre><code class=\"lang-cs\">await database.Posts.CountAsync();\n</code></pre>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/docs/docfx/guides/operations/count.md/#L1\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/guides/operations/delete.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Delete with Venflow | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Delete with Venflow | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"../toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../../\">\n    <link rel=\"preload\" href=\"../../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Guides.Operations.Delete\">\n<h1 id=\"delete-data-with-venflow\">Delete Data with Venflow</h1>\n\n<p>Your <code>Database</code> class exposes <code>Table&lt;T&gt;</code> properties which expose delete operations. In Venflow deletes are always automatically generated. For this example, we want to delete a blog with all of its posts at once.</p>\n<pre><code class=\"lang-cs\">var blog = await database.Blogs.QuerySingle(@&quot;SELECT * FROM &quot;&quot;Blogs&quot;&quot; LIMIT 1&quot;).QueryAsync();\n\nawait database.Blogs.DeleteAsync(blog);\n</code></pre>\n<p>As an alternative, if you already have the primary key of the blog you want to delete you can create a new <code>Blog</code> instance.</p>\n<pre><code class=\"lang-cs\">await database.Blogs.DeleteAsync(new Blog { Id = 1 });\n</code></pre>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/docs/docfx/guides/operations/delete.md/#L1\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/guides/operations/execute.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Execute with Venflow | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Execute with Venflow | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"../toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../../\">\n    <link rel=\"preload\" href=\"../../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Guides.Operations.Execute\">\n<h1 id=\"execute-sql-with-venflow\">Execute SQL with Venflow</h1>\n\n<div class=\"WARNING\">\n<h5>Warning</h5>\n<p>Be carful while dealing with raw SQL and ensure that you never pass user modified SQL to any of the methods. Instead use parameterized  overloads or the <code>Interpolated</code> siblings.</p>\n</div>\n<p>Your <code>Database</code> class exposes <code>Execute</code>methods which allow for fully custom SQL. In this example we drop a table.</p>\n<pre><code class=\"lang-cs\">await database.ExecuteAsync(@&quot;DROP TABLE &quot;&quot;Foo&quot;&quot;&quot;);\n</code></pre>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/docs/docfx/guides/operations/execute.md/#L1\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/guides/operations/insert.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Insert with Venflow | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Insert with Venflow | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"../toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../../\">\n    <link rel=\"preload\" href=\"../../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Guides.Operations.Insert\">\n<h1 id=\"insert-data-with-venflow\">Insert Data with Venflow</h1>\n\n<p>Your <code>Database</code> class exposes <code>Table&lt;T&gt;</code> properties which expose insert operations. In Venflow insert are always automatically generated. For this example, we want to insert a blog with a few posts at once.</p>\n<pre><code class=\"lang-cs\">var blog = new Blog\n{\n    Name = &quot;My new Blog&quot;,\n    Posts = new List&lt;Post&gt;\n    {\n        new Post \n        {\n            Title = &quot;This is my first Post&quot;,\n            Content = &quot;Hey there.&quot;\n        },\n        new Post \n        {\n            Title = &quot;This is my second Post&quot;,\n            Content = &quot;Hey there again!&quot;\n        }\n    }\n};\n\nawait database.Blogs.InsertAsync(blog);\n</code></pre>\n<h2 id=\"insert-data-without-relations\">Insert Data without relations</h2>\n<p>One of the nice things with Venflow is, that you don't need to set all navigation properties to null, if you don't want to insert them. In this example we would have posts with a blog, but we only want to insert the blog.</p>\n<pre><code class=\"lang-cs\">var blog = new Blog\n{\n    Name = &quot;My new Blog&quot;,\n    Posts = new List&lt;Post&gt;\n    {\n        new Post \n        {\n            Title = &quot;This is my first Post&quot;,\n            Content = &quot;Hey there.&quot;\n        },\n        new Post \n        {\n            Title = &quot;This is my second Post&quot;,\n            Content = &quot;Hey there again!&quot;\n        }\n    }\n};\n\nawait database.Blogs.Insert().InsertAsync(blog);\n</code></pre>\n<div class=\"NOTE\">\n<h5>Note</h5>\n<p>This builder exposes similar methods to the Query builder, you can use <code>InsertWith</code> and <code>AndWith</code> to further configure the insert.</p>\n</div>\n<div class=\"NOTE\">\n<h5>Note</h5>\n<p>The method <code>InsertWithAll</code> will insert with all populated and reachable relations. This is the equivalent to calling <code>database.Blogs.InsertAsync()</code>.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/docs/docfx/guides/operations/insert.md/#L1\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/guides/operations/query.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Query with Venflow | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Query with Venflow | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"../toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../../\">\n    <link rel=\"preload\" href=\"../../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Guides.Operations.Query\">\n<h1 id=\"query-data-with-venflow\">Query Data with Venflow</h1>\n\n<div class=\"WARNING\">\n<h5>Warning</h5>\n<p>Be carful while dealing with raw SQL and ensure that you never pass user modified SQL to any of the methods. Instead use parameterized and lambda overloads, or the <code>Interpolated</code> siblings.</p>\n</div>\n<div class=\"WARNING\">\n<h5>Warning</h5>\n<p>The primary key always has to be present and it has to be the first column of any given table returned by a SQL Query.</p>\n</div>\n<h2 id=\"query-data-without-relations\">Query data without relations</h2>\n<p>Your <code>Database</code> class exposes <code>Table&lt;T&gt;</code> properties which expose query operations. In Venflow queries are based on hand-written SQL. In this case we query the first 10 blogs in the database.</p>\n<pre><code class=\"lang-cs\">await using var database = new BlogDatabase(); // You should register this in a Transient/Scoped your IOC Container.\n\n// You can re-use this in different BlogDatabase instances through the database.Blogs.QueryAsync() method\n// If you intend to reuse the query below you need to pass the QueryBatch method false for the disposeCommand,\n// otherwise the underyling command will be disposed after the first use.\nvar query = database.Blogs.QueryBatch(@&quot;SELECT * FROM &quot;&quot;Blogs&quot;&quot; LIMIT 10&quot;).Build(); \n\nvar blogs = await query.QueryAsync(); // You can also inline this with the line above.\n</code></pre>\n<p>Additionally if you do not intend to reuse the the command instance you can omit the <code>Build</code> method call and directly call <code>QueryAsync</code>.</p>\n<p>Also, if you instead only wanted to query the first result, you can use the <code>QuerySingle</code> API.</p>\n<pre><code class=\"lang-cs\">var blog = await database.Blogs.QuerySingle(@&quot;SELECT * FROM &quot;&quot;Blogs&quot;&quot; LIMIT 1&quot;).QueryAsync();\n</code></pre>\n<h3 id=\"query-data-with-relations\">Query data with relations</h3>\n<p>In this case we want to get the first 5 blogs with all of their posts. If you want to perform a join, the builder exposes the <code>JoinWith</code> and the <code>ThenWith</code> method to perform nested joins.</p>\n<pre><code class=\"lang-cs\">const string sql = \n@&quot;SELECT * FROM \n(\n\tSELECT * FROM &quot;&quot;Blogs&quot;&quot;\n\tLIMIT 5\n) AS &quot;&quot;Blogs&quot;&quot; \nJOIN &quot;&quot;Posts&quot;&quot; ON &quot;&quot;Posts&quot;&quot;.&quot;&quot;BlogId&quot;&quot; = &quot;&quot;Blogs&quot;&quot;.&quot;&quot;Id&quot;&quot;&quot;;\n\nvar blogs = await database.Blogs.QueryBatch(sql).JoinWith(x =&gt; x.Posts).QueryAsync();\n</code></pre>\n<p>If you instead only wanted to query the first blog with all of its posts, you can again use the <code>QuerySingle</code> API.</p>\n<pre><code class=\"lang-cs\">var blog = await database.Blogs.QuerySingle().JoinWith(x =&gt; x.Posts).QueryAsync();\n</code></pre>\n<div class=\"WARNING\">\n<h5>Warning</h5>\n<p>When joining with multiple relations, ensure that the order of joins configured with Venflow, are equal to the order of joins in the SQL.</p>\n</div>\n<h2 id=\"queries-with-parameters\">Queries with parameters</h2>\n<p>Most of the times your query contains some sort of parameters. With Venflow you have two options, either by using the raw <code>NpgsqlParameter</code> class and the matching <code>QuerySingle</code>/<code>QueryBatch</code> overloads or the Interpolated SQL methods. You can learn more about string interpolation in <a href=\"../advanced/interpolation.html\">this guide</a>.</p>\n<p>In this example, we try to query the first blog with the id <code>5</code> with all of its posts.</p>\n<pre><code class=\"lang-cs\">FormattableString sql =\n$@&quot;SELECT * FROM \n(\n\tSELECT * FROM &quot;&quot;Blogs&quot;&quot;\n\tWHERE &quot;&quot;Id&quot;&quot; = {5}\n\tLIMIT 1\n) AS &quot;&quot;Blogs&quot;&quot; \nJOIN &quot;&quot;Posts&quot;&quot; ON &quot;&quot;Posts&quot;&quot;.&quot;&quot;BlogId&quot;&quot; = &quot;&quot;Blogs&quot;&quot;.&quot;&quot;Id&quot;&quot;&quot;;\n\nvar blog = await database.Blogs.QueryInterpolatedSingle(sql).JoinWith(x =&gt; x.Posts).QueryAsync();\n</code></pre>\n<div class=\"NOTE\">\n<h5>Note</h5>\n<p>Most of the methods in Venflow which accept raw SQL do have a sibling method called <code>*Interpolated*</code>.</p>\n</div>\n<h2 id=\"query-with-refactorable-sql\">Query with refactorable SQL</h2>\n<p>All <code>Query*</code> methods do contain an overload with a <code>Func&lt;T, FormattableString&gt;</code> parameter. This will not only allow for usual string interpolation like the <code>Query*Interpolated</code> methods, but also for refactorable SQL.</p>\n<pre><code class=\"lang-cs\">var id = 1;\n\nvar blog = await Database.Blogs.QuerySingle(b =&gt; $&quot;SELECT * FROM {b} WHERE {b.Id} = {id}&quot;).QueryAsync();\n</code></pre>\n<p>This would result in the following SQL:</p>\n<pre><code class=\"lang-sql\">-- @p1 will contain the value '1'\nSELECT * FROM &quot;Blogs&quot; WHERE &quot;Blogs&quot;.&quot;Id&quot; = @p1 \n</code></pre>\n<div class=\"NOTE\">\n<h5>Note</h5>\n<p>As the lambda is converted to an expression tree under the hood, try to keep computations as low as possible inside the interpolated string itself e.g. <code>{}</code>, in order to reduce the memory footprint as well as to improve the performance. Instead try to compute everything before querying and store these results in locals which then can used inside the interpolated SQL.</p>\n</div>\n<h3 id=\"query-relations-with-refactorable-sql\">Query relations with refactorable SQL</h3>\n<p>Querying with relations works quite similar as in the example above.</p>\n<pre><code class=\"lang-cs\">var id = 1;\n\nvar blog = await Database.Blogs.QuerySingle&lt;Post&gt;(\n\t(b, p) =&gt; \n\t$&quot;SELECT * FROM {b} LEFT JOIN {p} ON {p.BlogId} = {b.Id} WHERE {b.Id} = {id}&quot;\n\t).JoinWith(x =&gt; x.Posts).QueryAsync();\n</code></pre>\n<p>This would result in the following SQL:</p>\n<pre><code class=\"lang-sql\">-- @p1 will contain the value '1'\nSELECT * FROM &quot;Blogs&quot; \nLEFT JOIN &quot;Posts&quot; ON &quot;Posts&quot;.&quot;BlogId&quot; = &quot;Blogs&quot;.&quot;Id&quot;\nWHERE &quot;Blogs&quot;.&quot;Id&quot; = @p1 \n</code></pre>\n<div class=\"NOTE\">\n<h5>Note</h5>\n<p>As the lambda is converted to  an expression tree under the hood, try to keep computations as low as possible inside the interpolated string itself e.g. <code>{}</code>, in order to reduce the memory footprint as well as to improve the performance. Instead try to compute everything before querying and store these results in locals which then can used inside the interpolated SQL.</p>\n</div>\n<h2 id=\"query-partial-data\">Query partial data</h2>\n<p>The beautiful thing about Venflow is that you can only query for partial data, which means that a query doesn't necessarily  has to return all column. There are only two thing you need to be aware of:</p>\n<ul>\n<li>The primary key always needs to be returned</li>\n<li>Assuming you have two tables, table A and table B, which you are joining together. Table A isn't allowed to contain a column (other than the primary key) to have the same name as the primary key of table B. Otherwise Venflow won't be able to know when to spilt the SQL result.</li>\n</ul>\n<p>A simple example of that would be something like the following, where we just query the name and the primary key of all blogs.</p>\n<pre><code class=\"lang-cs\">const string sql = @&quot;SELECT &quot;&quot;Id&quot;&quot;, &quot;&quot;Name&quot;&quot; FROM &quot;&quot;Blogs&quot;&quot;&quot;;\n\nvar blogs = await database.Blogs.QueryBatch(sql).QueryAsync();\n</code></pre>\n<h2 id=\"queries-which-dont-return-entities\">Queries which don't return entities</h2>\n<p>In Venflow you have the option to construct queries which don't necessarily return a row of a table, in this case you can use the <code>Custom&lt;T&gt;</code> method on your <code>Database</code> class.</p>\n<p>In the following example we want to return the amount of rows in the Blogs table.</p>\n<pre><code class=\"lang-cs\">public class CountReturn\n{\n    public int Count { get; set; }\n}\n\nawait database.Custom&lt;CountReturn&gt;().QuerySingle(@&quot;SELECT COUNT(*) FROM &quot;&quot;Blogs&quot;&quot;&quot;).QueryAsync();\n</code></pre>\n<div class=\"WARNING\">\n<h5>Warning</h5>\n<p>This API does not support any of the usual methods available on regular entities, such as change tracking or joins.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/docs/docfx/guides/operations/query.md/#L1\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/guides/operations/truncate.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Truncate with Venflow | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Truncate with Venflow | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"../toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../../\">\n    <link rel=\"preload\" href=\"../../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Guides.Operations.Truncate\">\n<h1 id=\"truncate-table-with-venflow\">Truncate Table with Venflow</h1>\n\n<p>Your <code>Database</code> class exposes <code>Table&lt;T&gt;</code> properties which expose truncate operations. In Venflow truncates are always automatically. For this example, we want to truncate the Blogs table.</p>\n<pre><code class=\"lang-cs\">await database.Blogs.TruncateAsync();\n</code></pre>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/docs/docfx/guides/operations/truncate.md/#L1\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/guides/operations/update.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Update with Venflow | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Update with Venflow | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"../../toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"../toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"../../\">\n    <link rel=\"preload\" href=\"../../styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"../../fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"../../favicon.ico\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/master.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/main.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/material.css\">\n    <link rel=\"stylesheet\" href=\"../../styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"../../\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"../../index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"../../venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        \n        <div class=\"sidenav hide-when-search\">\n          <a class=\"btn toc-toggle collapse\" data-toggle=\"collapse\" href=\"#sidetoggle\" aria-expanded=\"false\" aria-controls=\"sidetoggle\">Show / Hide Table of Contents</a>\n          <div class=\"sidetoggle collapse\" id=\"sidetoggle\">\n            <div id=\"sidetoc\"></div>\n          </div>\n        </div>\n        <div class=\"article row grid-right\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"Guides.Operations.Update\">\n<h1 id=\"update-data-with-venflow\">Update Data with Venflow</h1>\n\n<p>Your <code>Database</code> class exposes <code>Table&lt;T&gt;</code> properties which expose update operations. In Venflow updates are always automatically generated. Updates of data happen through change-tracking of entities, however this does not include navigation properties. For this example, we want to update the title of a post.</p>\n<div class=\"WARNING\">\n<h5>Warning</h5>\n<p>All properties which you want to be updateable by change-tracking have to  be marked as virtual!</p>\n</div>\n<p>In order to get a change-tracked entity you can choose either of two ways. You can use the <code>TrackChanges</code> method on the query builder to immediately get change tracked entities.</p>\n<pre><code class=\"lang-cs\">var post = await database.Posts.QuerySingle().TrackChanges().QueryAsync();\n\npost.Title = &quot;This post was updated!&quot;;\n\nawait database.Posts.UpdateAsync(post);\n</code></pre>\n<p>Or you change track an entity after it was created.</p>\n<pre><code class=\"lang-cs\">var post = new Post { Id = 1 };\n\ndatabase.Posts.TrackChanges(ref post);\n\npost.Title = &quot;This post was updated!&quot;;\n\nawait database.Posts.UpdateAsync(post);\n</code></pre>\n<div class=\"NOTE\">\n<h5>Note</h5>\n<p>Change tracking is not limited to one <code>Database</code> instance, additionally updating a change tracked entity is thread save.</p>\n</div>\n<div class=\"WARNING\">\n<h5>Warning</h5>\n<p>Change tracking won't compare the old value and the new value of a property, this means that if you assign a property, no matter the value, it is considered to be changed.</p>\n</div>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/docs/docfx/guides/operations/update.md/#L1\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"../../styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"../../styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/guides/toc.html",
    "content": "﻿\n<div id=\"sidetoggle\">\n  <div>\n    <div class=\"sidefilter\">\n      <form class=\"toc-filter\">\n        <span class=\"glyphicon glyphicon-filter filter-icon\"></span>\n        <span class=\"glyphicon glyphicon-remove clear-icon\" id=\"toc_filter_clear\"></span>\n        <input type=\"text\" id=\"toc_filter_input\" placeholder=\"Enter here to filter...\" onkeypress=\"if(event.keyCode==13) {return false;}\">\n      </form>\n    </div>\n    <div class=\"sidetoc\">\n      <div class=\"toc\" id=\"toc\">\n          \n          <ul class=\"nav level1\">\n                <li>\n                    <a href=\"introduction/intro.html\" name=\"\" title=\"Introduction\">Introduction</a>\n                </li>\n                <li>\n                    <span class=\"expand-stub\"></span>\n                    <a>Getting Started</a>\n                    \n                    <ul class=\"nav level2\">\n                          <li>\n                              <a href=\"getting_started/installation.html\" name=\"\" title=\"Installation\">Installation</a>\n                          </li>\n                          <li>\n                              <a href=\"getting_started/setup.html\" name=\"\" title=\"Setup\">Setup</a>\n                          </li>\n                    </ul>\n                </li>\n                <li>\n                    <span class=\"expand-stub\"></span>\n                    <a>Operations</a>\n                    \n                    <ul class=\"nav level2\">\n                          <li>\n                              <a href=\"operations/query.html\" name=\"\" title=\"Query\">Query</a>\n                          </li>\n                          <li>\n                              <a href=\"operations/update.html\" name=\"\" title=\"Update\">Update</a>\n                          </li>\n                          <li>\n                              <a href=\"operations/insert.html\" name=\"\" title=\"Insert\">Insert</a>\n                          </li>\n                          <li>\n                              <a href=\"operations/delete.html\" name=\"\" title=\"Delete\">Delete</a>\n                          </li>\n                          <li>\n                              <a href=\"operations/count.html\" name=\"\" title=\"Count\">Count</a>\n                          </li>\n                          <li>\n                              <a href=\"operations/truncate.html\" name=\"\" title=\"Truncate\">Truncate</a>\n                          </li>\n                          <li>\n                              <a href=\"operations/execute.html\" name=\"\" title=\"Execute\">Execute</a>\n                          </li>\n                    </ul>\n                </li>\n                <li>\n                    <span class=\"expand-stub\"></span>\n                    <a>Advanced</a>\n                    \n                    <ul class=\"nav level2\">\n                          <li>\n                              <a href=\"advanced/interpolation.html\" name=\"\" title=\"Interpolation\">Interpolation</a>\n                          </li>\n                          <li>\n                              <a href=\"advanced/enums.html\" name=\"\" title=\"Enums\">Enums</a>\n                          </li>\n                          <li>\n                              <a href=\"advanced/nullables.html\" name=\"\" title=\"Nullables\">Nullables</a>\n                          </li>\n                          <li>\n                              <a href=\"advanced/prepared_statements.html\" name=\"\" title=\"Statement Preparation\">Statement Preparation</a>\n                          </li>\n                          <li>\n                              <a href=\"advanced/validation.html\" name=\"\" title=\"Validation\">Validation</a>\n                          </li>\n                          <li>\n                              <a href=\"advanced/logging.html\" name=\"\" title=\"Logging\">Logging</a>\n                          </li>\n                          <li>\n                              <a href=\"advanced/logging_extensions.html\" name=\"\" title=\"Microsoft.Extensions.Logging\">Microsoft.Extensions.Logging</a>\n                          </li>\n                          <li>\n                              <a href=\"advanced/strong_key.html\" name=\"\" title=\"Strongly-typed Ids\">Strongly-typed Ids</a>\n                          </li>\n                          <li>\n                              <a href=\"advanced/aspnetcore.html\" name=\"\" title=\"Asp.Net Core\">Asp.Net Core</a>\n                          </li>\n                          <li>\n                              <a href=\"advanced/query_command_cache.html\" name=\"\" title=\"Query Command Caching\">Query Command Caching</a>\n                          </li>\n                    </ul>\n                </li>\n          </ul>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "docs/index.html",
    "content": "﻿<!DOCTYPE html>\n<!--[if IE]><![endif]-->\n<html>\n  \n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <title>Venflow | Venflow Documentation </title>\n    <meta name=\"viewport\" content=\"width=device-width\">\n    <meta property=\"og:title\" content=\"Venflow | Venflow Documentation \">\n    \n    <meta property=\"og:locale\" content=\"en-us\">\n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Venflow Docs\">\n    <meta property=\"og:image\" content=\"\">\n    <meta property=\"og:image:alt\" content=\"Venflow Logo\">\n    <meta name=\"theme-color\" content=\"#995EA7\">\n    <meta name=\"generator\" content=\"docfx 2.56.7.0\">\n    <meta property=\"docfx:navrel\" content=\"toc.html\">\n    <meta property=\"docfx:tocrel\" content=\"toc.html\">\n    <meta id=\"docfx-style:rel\" content=\"\">\n    <link rel=\"preload\" href=\"styles/search-worker.js\" as=\"script\">\n    <link rel=\"preload\" href=\"fonts/glyphicons-halflings-regular.woff2\" as=\"font\" type=\"font/woff2\" crossorigin=\"anonymous\">\n    <link rel=\"shortcut icon\" href=\"favicon.ico\">\n    <link rel=\"stylesheet\" href=\"styles/docfx.vendor.minify.css\">\n    <link rel=\"stylesheet\" href=\"styles/docfx.css\">\n    <link rel=\"stylesheet\" href=\"styles/master.css\">\n    <link rel=\"stylesheet\" href=\"styles/main.css\">\n    <link rel=\"stylesheet\" href=\"styles/material.css\">\n    <link rel=\"stylesheet\" href=\"styles/theme-switcher.css\">\n    <link href=\"https://cdn.rawgit.com/noelboss/featherlight/1.7.6/release/featherlight.min.css\" type=\"text/css\" rel=\"stylesheet\">\n    \n    <meta property=\"docfx:rel\" content=\"\">\n    \n  </head>\n  <body data-spy=\"scroll\" data-target=\"#affix\" data-offset=\"120\">\n    <div id=\"wrapper\">\n      <header>\n        \n        <nav id=\"autocollapse\" class=\"navbar navbar-inverse ng-scope\" role=\"navigation\">\n          <div class=\"container\">\n            <div class=\"navbar-header\">\n              <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar\">\n                <span class=\"sr-only\">Toggle navigation</span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n                <span class=\"icon-bar\"></span>\n              </button>\n              \n              <a class=\"navbar-brand\" href=\"index.html\">\n                <img id=\"logo\" class=\"svg\" src=\"venflow.svg\" alt=\"\">\n              </a>\n            </div>\n            <div class=\"collapse navbar-collapse\" id=\"navbar\">\n              <form class=\"navbar-form navbar-right\" role=\"search\" id=\"search\">\n                <div class=\"form-group\">\n                  <input type=\"text\" class=\"form-control\" id=\"search-query\" placeholder=\"Search\" autocomplete=\"off\">\n                </div>\n              </form>\n            </div>\n          </div>\n        </nav>\n        \n        <div class=\"subnav navbar navbar-default\">\n          <div class=\"container hide-when-search\" id=\"breadcrumb\">\n            <ul class=\"breadcrumb\">\n              <li></li>\n            </ul>\n          </div>\n        </div>\n      </header>\n      <div class=\"container body-content\">\n        \n        <div id=\"search-results\">\n          <div class=\"search-list\">Search Results for <span></span></div>\n          <div class=\"sr-items\">\n            <p><i class=\"glyphicon glyphicon-refresh index-loading\"></i></p>\n          </div>\n          <ul id=\"pagination\" data-first=\"First\" data-prev=\"Previous\" data-next=\"Next\" data-last=\"Last\"></ul>\n        </div>\n      </div>\n      <div role=\"main\" class=\"container body-content hide-when-search\">\n        <div class=\"article row grid\">\n          <div class=\"col-md-10\">\n            <article class=\"content wrap\" id=\"_content\" data-uid=\"\">\n\n<p align=\"center\">\n <h1 align=\"center\">Venflow</h1>\n <p align=\"center\">A brand new, fast, and lightweight ORM. | <a href=\"https://twentyfourminutes.github.io/Venflow/\">Documentation</a></p>\n</p>\n<p align=\"center\">\n<a href=\"https://www.nuget.org/packages/Venflow\"><img alt=\"Nuget\" src=\"https://img.shields.io/nuget/v/Venflow\"></a> <a href=\"https://www.nuget.org/packages/Venflow\"><img alt=\"Nuget\" src=\"https://img.shields.io/nuget/dt/Venflow\"></a> <a href=\"https://github.com/TwentyFourMinutes/Venflow/issues\"><img alt=\"GitHub issues\" src=\"https://img.shields.io/github/issues-raw/TwentyFourMinutes/Venflow\"></a> <a href='https://coveralls.io/github/TwentyFourMinutes/Venflow?branch=dev'><img src='https://coveralls.io/repos/github/TwentyFourMinutes/Venflow/badge.svg?branch=dev' alt='Coverage Status'></a> <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/master/LICENSE\"><img alt=\"GitHub\" src=\"https://img.shields.io/github/license/TwentyFourMinutes/DulcisX\"></a> <a href=\"https://discordapp.com/invite/EYKxkce\"><img alt=\"Discord\" src=\"https://discordapp.com/api/guilds/275377268728135680/widget.png\"></a>\n</p>\n<h2 id=\"about\">About</h2>\n<p>Venflow is a brand new ORM, written from the ground up to try and provide an alternative to EF-Core and many other ORMs. It allows you to define Models and their relations with each other. Additionally it maps all queries on its own while still maintaining great performance.</p>\n<p>Lets face it, EF-Core is awesome, but it can be slow, really slow. However this library tries to overcome that by providing similar features while maintaining great performance. Venflow comes with a very similar UX to Dapper and EF-Core, in order to keep the learning curve as low as possible.</p>\n<h4 id=\"features\">Features</h4>\n<ul>\n<li>Simple change-tracking for update operations</li>\n<li>Autogenerated Inserts</li>\n<li>Autogenerated Deletes</li>\n<li>Autogenerated Query Materializer, Join Generator</li>\n<li>SQL Injection safe string Interpolated SQL</li>\n</ul>\n<h3 id=\"collaboration\">Collaboration</h3>\n<p>The simplest way to do so, is by giving the project a ⭐ and sharing the project to others. How you can help other than that? This can be done in numerous ways, over on the issue section, such as:</p>\n<ul>\n<li>Creating feature requests</li>\n<li>Creating pull requests</li>\n<li>Reporting bugs</li>\n</ul>\n<p>For more information take a look at our <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/CONTRIBUTING.md\">contribution guideline</a>.</p>\n<h2 id=\"installation\">Installation</h2>\n<p>Venflow can currently be downloaded on <a href=\"https://www.nuget.org/packages/Venflow\">nuget.org</a>.</p>\n<p>Also you can install it via the <strong>P</strong>ackage <strong>M</strong>anager <strong>C</strong>onsole:</p>\n<pre><code>Install-Package Venflow\n</code></pre>\n<h2 id=\"comparison\">Comparison</h2>\n<p>Benchmarking ORM's isn't an easy task, since there are a bunch of different factors which can alter the result in one way or another. I do not present any beautiful graphs here simply because they would get too complex and it would require too many graphs to remain practical. This is also the reason why I tried to come up with a composite number based on benchmark results. If you still want check all the individual benchmarks, which you definitely should, the source code can be found <a href=\"../../src/Venflow/Venflow.Benchmarks\">here</a> and the results as <code>.csv</code> and <code>.md</code> are over <a href=\"../../benchmarks\">here</a>.</p>\n<p>Lets just directly hop into the composite numbers of each tested ORM.</p>\n<!--Benchmark Start-->\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">ORM Name</th>\n<th style=\"text-align: center;\">Composite Score*</th>\n<th style=\"text-align: center;\">Mean Score*</th>\n<th style=\"text-align: center;\">Allocation Score*</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\">#1 <a href=\"https://github.com/StackExchange/Dapper\">Dapper</a></td>\n<td style=\"text-align: center;\">2,917</td>\n<td style=\"text-align: center;\">2,813</td>\n<td style=\"text-align: center;\">0,104</td>\n</tr>\n<tr>\n<td style=\"text-align: left;\">#2 <a href=\"https://github.com/TwentyFourMinutes/Venflow\">Venflow</a></td>\n<td style=\"text-align: center;\">4,567</td>\n<td style=\"text-align: center;\">3,851</td>\n<td style=\"text-align: center;\">0,716</td>\n</tr>\n<tr>\n<td style=\"text-align: left;\">#3 <a href=\"https://github.com/mikependon/RepoDb\">RepoDb</a></td>\n<td style=\"text-align: center;\">50,295</td>\n<td style=\"text-align: center;\">48,043</td>\n<td style=\"text-align: center;\">2,252</td>\n</tr>\n<tr>\n<td style=\"text-align: left;\">#4 <a href=\"https://github.com/dotnet/efcore\">EFCore</a></td>\n<td style=\"text-align: center;\">109,965</td>\n<td style=\"text-align: center;\">91,581</td>\n<td style=\"text-align: center;\">18,385</td>\n</tr>\n</tbody>\n</table>\n<!--Benchmark End-->\n<p>* Lower is considered to be better <br>\n** Do have missing benchmark entries for specific benchmark groups and therefor might have either better or worse scores.</p>\n<p>Now how do I calculate this <em>magic number</em>? The formula is as following:</p>\n<pre><code>compositeScore = Σ((meanTime / lowestMeanTimeOfGroup - 1) + (allocation / lowestAllocationOfGroup - 1) / 10)\n</code></pre>\n<p>A group is considered to be a list of benchmark entries which are inside the same file and have the same count and target framework. Now as some ORM's don't have any benchmarks entries for specific benchmark groups it will instead take the <em>lowest</em> mean and the <em>lowest</em>  allocation from this group. The source code of the calculation can be found <a href=\"../../src/Venflow/Venflow.Score\">here</a>.</p>\n<h4 id=\"disclaimer\">Disclaimer</h4>\n<p>The benchmarks themselves or even the calculation of the composite numbers may not be right and contain bugs. Therefor take these results with a grain of salt. If you find any bugs inside the calculations or in the benchmarks please create an issue and I'll try to fix it ASAP.</p>\n<h2 id=\"is-this-package-for-you\">Is this package for you?</h2>\n<p>Especially for ORM's it is becoming a harder challenge than ever before, to choose the right one for you. This project tries to be as transparent as possible, so if any of the following points apply to you or your project, choose a different ORM at least for your current project.</p>\n<ul>\n<li>You are feeling unsure about writing raw SQL.</li>\n<li><sup>†</sup> You are using a database other than PostgreSQL.</li>\n<li><sup>†</sup> You rely on a code-first implementation.</li>\n<li>You require Linq2Sql.</li>\n</ul>\n<p><em><sup>†</sup> indicates that this point might change it the future</em></p>\n<h4 id=\"but-why-should-i-use-venflow-over-ef-core-anyway\">But why should I use Venflow over EF-Core anyway?</h4>\n<p>Obviously this project is nowhere near as mature as EF-Core as it already covers all your needs. However Venflow is all about performance in every way. You might ask yourself now, why would I even care? Well, especially for Web-Apps it really matters! Your response times for all requests involving some sort of Database interaction will immediately decrease. This also means that your application will not take up as much resources on your server. Obviously this only is applicable, if the website encounters somewhat high traffic.</p>\n<h4 id=\"but-why-should-i-use-venflow-over-dapper-anyway\">But why should I use Venflow over Dapper anyway?</h4>\n<p>Venflow supports a lot more things out of the box, such as automatically generated Delete/Insert statements, as well as simple change tracking to easily update specific entities. Another big factor, which probably is one of the biggest differences to Dapper, are the automatically generated materializers for queries. A lot of the times a materializer generated by Venflow will be faster, especially for bigger tables, than a hand written Dapper one. This is due to the nature of how Dapper and Venflow handle parsing of SQL results.</p>\n<h2 id=\"basic-usage\">Basic usage</h2>\n<p>As already mentioned, Venflow tries to keep the learning curve from other ORM's as low as possible, therefore a lot of patterns will seem familiar to either EFCore or Dapper.</p>\n<h3 id=\"basic-configuration\">Basic configuration</h3>\n<p><em>The official documentation and guides can be found <a href=\"https://twentyfourminutes.github.io/Venflow/\">here</a></em></p>\n<p>In Venflow you are reflecting your PostgreSQL database with the <code>Database</code> class, which will host all of your tables. This class represents a connection to your database and therefor doesn't support multi threaded use. In the following example we will configure a database containing two tables, <code>Blogs</code> and <code>Posts</code>. One Blog contains many posts and a post contains a single Blog.</p>\n<pre><code class=\"lang-cs\">public class BlogDatabase : Database\n{\n    public Table&lt;Blog&gt; Blogs { get; set; }\n    public Table&lt;Post&gt; Posts { get; set; }\n\n    public BlogDatabase() : base(&quot;Your connection string.&quot;)\n    {\n    }\n}\n</code></pre>\n<p>Now lets configure the actual relation between Blogs and Posts through the <code>EntityConfiguration&lt;T&gt;</code> class. In the <code>Configure</code> , method you can configure several things such as the name of the table this entity should map to and much more. These configuration classes do automatically get discovered, if they are in the same assembly as the <code>Database</code> class. If they are not in the same assembly, you can override the <code>Configure</code> method in the <code>Database</code> class which passes in a <code>DatabaseOptionsBuilder</code>, which will allow you to specify assemblies which should also be searched for entity configurations.</p>\n<pre><code class=\"lang-cs\">public class BlogConfiguration : EntityConfiguration&lt;Blog&gt;\n{\n    protected override void Configure(IEntityBuilder&lt;Blog&gt; entityBuilder)\n    {\n        entityBuilder.HasMany(b =&gt; b.Posts)\n                     .WithOne(p =&gt; p.Blog)\n                     .UsingForeignKey(p =&gt; p.PostId);\n    }\n}\n</code></pre>\n<p>An instance of your <code>Database</code> class exposes the underlying connection and the actual CRUD builders. In the example below you can see how you would query a set of Blogs with their posts.</p>\n<pre><code class=\"lang-cs\">await using var database = new BlogDatabase(); // You should register a Transient/Scoped your DI Container.\n\nconst string sql = @&quot;SELECT * FROM &quot;&quot;Blogs&quot;&quot; JOIN &quot;&quot;Posts&quot;&quot; ON &quot;&quot;Posts&quot;&quot;.&quot;&quot;BlogId&quot;&quot; = &quot;&quot;Blogs&quot;&quot;.&quot;&quot;Id&quot;&quot;&quot;;\n\n// You can re-use this in different BlogDatabase instances through the database.Blogs.QueryAsync() method\n// If you intend to reuse the query below you need to pass the QueryBatch method false for the disposeCommand,\n// otherwise the underyling command will be disposed after the first use.\nvar blogs = database.Blogs.QueryBatch(sql).JoinWith(x =&gt; x.Posts).QueryAsync();\n</code></pre>\n<p>Subsequent joins can be configured using the <code>ThenWith</code> method. Do note, that one handy feature of Venflow is string interpolated SQL. This means that most of the methods which accept SQL also have a sibling named <code>*Interpolated*</code> which will automatically extract the used variables and use a parameterized query instead.</p>\n<h2 id=\"road-map\">Road map</h2>\n<ul>\n<li>Composed PK support</li>\n<li>Direct support for many to many relations</li>\n<li>Support for materialized Views</li>\n<li>Bulk operation support from <a href=\"https://github.com/TwentyFourMinutes/PostgreSQL.Bulk\"><code>PostgreSQL.Bulk</code></a></li>\n<li>Code-First</li>\n<li>AOT proxy/entity generation with Source Generators</li>\n</ul>\n<h3 id=\"acknowledgements\">Acknowledgements</h3>\n<p>I also want to mention all the other great packages out there, build by awesome people, which helped with building Venflow in one way or another such as being open-source.</p>\n<ul>\n<li><a href=\"https://github.com/npgsql/npgsql\">Npgsql</a> by <a href=\"https://github.com/npgsql/\">the Npgsql core contributers</a> for providing an awesome and fast PostgreSQL data provider.</li>\n<li><a href=\"https://github.com/ashmind/SharpLab\">Sharplab</a> by <a href=\"https://github.com/ashmind\">ashmind</a> and the <a href=\"https://sharplab.io\">sharplab.io</a> website for immensely simplify the generation for IL.</li>\n<li><a href=\"https://github.com/dotnet/efcore\">EF-Core</a> by <a href=\"https://github.com/dotnet\">Microsoft and the .Net team</a> for providing the inspiration for such an awesome surface API.</li>\n<li><a href=\"https://github.com/mikependon/RepoDb\">RepoDb</a> by <a href=\"https://github.com/mikependon\">mikependon</a> for providing the idea of generating runtime IL/Expressions to boost performance.</li>\n<li><a href=\"https://github.com/Fody/Fody\">Fody</a> by <a href=\"https://github.com/Fody\">the Fody core contributers</a> for providing an easy way to IL weave Venflow.</li>\n<li><a href=\"https://github.com/\">GitHub</a> for hosting the documentation with <a href=\"https://pages.github.com/\">GitHub Pages</a> and the repository itself.</li>\n<li><a href=\"https://github.com/dotnet/docfx\">DocFX</a> by <a href=\"https://github.com/dotnet\">Microsoft and the .Net team</a> for providing a great any easy static markdown/documentation html generator.</li>\n<li><a href=\"https://typora.io/\">Typora</a> for being a fully extensive and great markdown editor.</li>\n<li><a href=\"https://www.gitkraken.com/\">GitKraken</a> for providing a full fledged git UI with a bunch of great features.</li>\n<li><a href=\"https://shields.io/\">Shields</a> for providing awesome badges for the README.</li>\n</ul>\n<h4 id=\"awesome-people-which-helped-in-the-development\">Awesome people which helped in the development</h4>\n<ul>\n<li><a href=\"https://github.com/LunarLite\">LunarLite</a> for helping me with highly complex logically issues.</li>\n<li><a href=\"https://github.com/AnotherZane\">AnotherZane</a> for being one of the early preview testers.</li>\n<li><a href=\"https://github.com/jas777\">Jas</a> and <a href=\"https://github.com/AltriusRS\">Altrius</a> for providing general surface API ideas.</li>\n</ul>\n<h2 id=\"notes\">Notes</h2>\n<h3 id=\"contact-information\">Contact information</h3>\n<p>If you feel like something is not working as intended or you are experiencing issues, feel free to create an issue. Also for feature requests just create an issue. For further information feel free to send me an <a href=\"mailto:office@twenty-four.dev\">email</a> at <code>office@twenty-four.dev</code> or message me on Discord <code>24_minutes#7496</code>.</p>\n<h2 id=\"sponsors\">Sponsors</h2>\n<p>I wanna thank <a href=\"https://www.jetbrains.com/?from=DulcisX\">JetBrains</a> for providing me and the project with a free Open Source license for their whole JetBrains suite. Their tools greatly improve the development speed of this project. If you want to get a free Open Source license for your own project and their collaborators, visit their <a href=\"https://www.jetbrains.com/opensource/\">Open Source page</a>.</p>\n<p><a href=\"https://www.jetbrains.com/?from=DulcisX\"><img width=\"350px\" src=\"images/jetbrains_logo.png\"></a></p>\n</article>\n          </div>\n          \n          <div class=\"hidden-sm col-md-2\" role=\"complementary\">\n            <div class=\"sideaffix\">\n              <div class=\"theme-switch-field\">\n                <p>Theme</p>\n                <select id=\"theme-switcher\">\n                  <option value=\"dark\">Dark\n                  <option value=\"gray\">Gray\n                  <option value=\"light\">Light\n                </select>\n              </div>\n              <div class=\"contribution\">\n                <ul class=\"nav\">\n                  <li>\n                    <a href=\"https://github.com/TwentyFourMinutes/Venflow/blob/dev/docs/docfx/index.md/#L1\" class=\"contribution-link\">Improve this Doc</a>\n                  </li>\n                </ul>\n              </div>\n              <nav class=\"bs-docs-sidebar hidden-print hidden-xs hidden-sm affix\" id=\"affix\">\n              <!-- <p><a class=\"back-to-top\" href=\"#top\">Back to top</a><p> -->\n              </nav>\n            </div>\n          </div>\n        </div>\n      </div>\n      \n      <footer>\n        <div class=\"grad-bottom\"></div>\n        <div class=\"footer\">\n          <div class=\"container\">\n            <span class=\"pull-right\">\n              <a href=\"#top\">Back to top</a>\n            </span>\n            <span>Copyright © 2021 Twenty</span>\n            \n          </div>\n        </div>\n      </footer>\n    </div>\n    \n    <script type=\"text/javascript\" src=\"styles/docfx.vendor.js\"></script>\n    <script type=\"text/javascript\" src=\"styles/docfx.js\"></script>\n    <script type=\"text/javascript\" src=\"styles/main.js\"></script>\n    <script type=\"text/javascript\" src=\"styles/styleswitcher.js\"></script>  </body>\n</html>\n"
  },
  {
    "path": "docs/index.json",
    "content": "{\n  \"api/index.html\": {\n    \"href\": \"api/index.html\",\n    \"title\": \"The API Docs of Venflow | Venflow Documentation\",\n    \"keywords\": \"Welcome to the API Documentation of Venflow Here you will be able to find all the public API's and there descriptions.\"\n  },\n  \"api/System.Runtime.CompilerServices.html\": {\n    \"href\": \"api/System.Runtime.CompilerServices.html\",\n    \"title\": \"Namespace System.Runtime.CompilerServices | Venflow Documentation\",\n    \"keywords\": \"Namespace System.Runtime.CompilerServices Classes IgnoresAccessChecksToAttribute Do not use this attribute, if you are not absolutely sure what it does. NullableAttribute Do not use this attribute, it is reserved for the compiler. NullableContextAttribute Do not use this attribute, it is reserved for the compiler.\"\n  },\n  \"api/System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.html\": {\n    \"href\": \"api/System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.html\",\n    \"title\": \"Class IgnoresAccessChecksToAttribute | Venflow Documentation\",\n    \"keywords\": \"Class IgnoresAccessChecksToAttribute Do not use this attribute, if you are not absolutely sure what it does. Inheritance Object IgnoresAccessChecksToAttribute Namespace : System.Runtime.CompilerServices Assembly : Venflow.dll Syntax public class IgnoresAccessChecksToAttribute : Attribute Constructors | Improve this Doc View Source IgnoresAccessChecksToAttribute(String) Declaration public IgnoresAccessChecksToAttribute(string assemblyName) Parameters Type Name Description String assemblyName Properties | Improve this Doc View Source AssemblyName Declaration public string AssemblyName { get; } Property Value Type Description String\"\n  },\n  \"api/System.Runtime.CompilerServices.NullableAttribute.html\": {\n    \"href\": \"api/System.Runtime.CompilerServices.NullableAttribute.html\",\n    \"title\": \"Class NullableAttribute | Venflow Documentation\",\n    \"keywords\": \"Class NullableAttribute Do not use this attribute, it is reserved for the compiler. Inheritance Object NullableAttribute Namespace : System.Runtime.CompilerServices Assembly : Venflow.dll Syntax public sealed class NullableAttribute : Attribute Constructors | Improve this Doc View Source NullableAttribute(Byte) Declaration public NullableAttribute(byte flag) Parameters Type Name Description Byte flag | Improve this Doc View Source NullableAttribute(Byte[]) Declaration public NullableAttribute(byte[] flags) Parameters Type Name Description Byte [] flags Fields | Improve this Doc View Source NullableFlags Declaration public readonly byte[] NullableFlags Field Value Type Description Byte []\"\n  },\n  \"api/System.Runtime.CompilerServices.NullableContextAttribute.html\": {\n    \"href\": \"api/System.Runtime.CompilerServices.NullableContextAttribute.html\",\n    \"title\": \"Class NullableContextAttribute | Venflow Documentation\",\n    \"keywords\": \"Class NullableContextAttribute Do not use this attribute, it is reserved for the compiler. Inheritance Object NullableContextAttribute Namespace : System.Runtime.CompilerServices Assembly : Venflow.dll Syntax public sealed class NullableContextAttribute : Attribute Constructors | Improve this Doc View Source NullableContextAttribute(Byte) Declaration public NullableContextAttribute(byte flag) Parameters Type Name Description Byte flag Fields | Improve this Doc View Source Flag Declaration public readonly byte Flag Field Value Type Description Byte\"\n  },\n  \"api/Venflow.AspNetCore.html\": {\n    \"href\": \"api/Venflow.AspNetCore.html\",\n    \"title\": \"Namespace Venflow.AspNetCore | Venflow Documentation\",\n    \"keywords\": \"Namespace Venflow.AspNetCore Classes VenflowServiceCollectionExtensions Provides a set of useful extension methods for the interface.\"\n  },\n  \"api/Venflow.AspNetCore.VenflowServiceCollectionExtensions.html\": {\n    \"href\": \"api/Venflow.AspNetCore.VenflowServiceCollectionExtensions.html\",\n    \"title\": \"Class VenflowServiceCollectionExtensions | Venflow Documentation\",\n    \"keywords\": \"Class VenflowServiceCollectionExtensions Provides a set of useful extension methods for the interface. Inheritance Object VenflowServiceCollectionExtensions Namespace : Venflow.AspNetCore Assembly : Venflow.AspNetCore.dll Syntax public static class VenflowServiceCollectionExtensions : object Methods | Improve this Doc View Source AddDatabase<TDatabase>(IServiceCollection, Nullable<Action<IServiceProvider, DatabaseOptionsBuilder<TDatabase>>>, ServiceLifetime) Registers the TDatabase as a service in the services . Declaration public static IServiceCollection AddDatabase<TDatabase>(this IServiceCollection services, Action<IServiceProvider, DatabaseOptionsBuilder<TDatabase>>? optionsAction = null, ServiceLifetime databaseLifetime = null) where TDatabase : Database Parameters Type Name Description IServiceCollection services The to which the database will be registered. Nullable < Action < IServiceProvider , DatabaseOptionsBuilder <TDatabase>>> optionsAction Allows to configure a DatabaseOptionsBuilder<TDatabase> for the database. Note, that the specified TDatabase needs to have a public constructor with a DatabaseOptionsBuilder<TDatabase> parameter, which it passes to the base constructor. ServiceLifetime databaseLifetime The liftetime with which to register the TDatabase service in the container. Returns Type Description IServiceCollection The same service collection so that multiple calls can be chained. Type Parameters Name Description TDatabase The type of the database to be registered. | Improve this Doc View Source AddDatabase<TDatabase>(IServiceCollection, Nullable<Action<IServiceProvider, DatabaseOptionsBuilder<TDatabase>>>, ServiceLifetime, ServiceLifetime) Registers the TDatabase as a service in the services . Declaration public static IServiceCollection AddDatabase<TDatabase>(this IServiceCollection services, Action<IServiceProvider, DatabaseOptionsBuilder<TDatabase>>? optionsAction = null, ServiceLifetime databaseLifetime = null, ServiceLifetime optionsLifetime = null) where TDatabase : Database Parameters Type Name Description IServiceCollection services The to which the database will be registered. Nullable < Action < IServiceProvider , DatabaseOptionsBuilder <TDatabase>>> optionsAction Allows to configure a DatabaseOptionsBuilder<TDatabase> for the database. Note, that the specified TDatabase needs to have a public constructor with a DatabaseOptionsBuilder<TDatabase> parameter, which it passes to the base constructor. ServiceLifetime databaseLifetime The liftetime with which to register the TDatabase service in the container. ServiceLifetime optionsLifetime The liftetime with which to register the DatabaseOptionsBuilder<TDatabase> service in the container. Returns Type Description IServiceCollection The same service collection so that multiple calls can be chained. Type Parameters Name Description TDatabase The type of the database to be registered. | Improve this Doc View Source AddDatabase<TDatabase>(IServiceCollection, Nullable<Action<DatabaseOptionsBuilder<TDatabase>>>, ServiceLifetime) Registers the TDatabase as a service in the services . Declaration public static IServiceCollection AddDatabase<TDatabase>(this IServiceCollection services, Action<DatabaseOptionsBuilder<TDatabase>>? optionsAction = null, ServiceLifetime databaseLifetime = null) where TDatabase : Database Parameters Type Name Description IServiceCollection services The to which the database will be registered. Nullable < Action < DatabaseOptionsBuilder <TDatabase>>> optionsAction Allows to configure a DatabaseOptionsBuilder<TDatabase> for the database. Note, that the specified TDatabase needs to have a public constructor with a DatabaseOptionsBuilder<TDatabase> parameter, which it passes to the base constructor. ServiceLifetime databaseLifetime The liftetime with which to register the TDatabase service in the container. Returns Type Description IServiceCollection The same service collection so that multiple calls can be chained. Type Parameters Name Description TDatabase The type of the database to be registered. | Improve this Doc View Source AddVenflowJson(IServiceCollection) Adds support for Venflows build in strongly-typed id to System.Text.Json. Declaration public static IServiceCollection AddVenflowJson(this IServiceCollection services) Parameters Type Name Description IServiceCollection services The to which the handler will be registered. Returns Type Description IServiceCollection The same service collection so that multiple calls can be chained. Remarks If you are using Newtonsoft.Json, please use Venflow.NewtonsoftJson\"\n  },\n  \"api/Venflow.Commands.html\": {\n    \"href\": \"api/Venflow.Commands.html\",\n    \"title\": \"Namespace Venflow.Commands | Venflow Documentation\",\n    \"keywords\": \"Namespace Venflow.Commands Interfaces IBaseInsertRelationBuilder<TRelationEntity, TRootEntity> Represents a base insert relation builder to configure the insert. IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn> Represents a base query relation builder to configure the query. IDeleteCommand<TEntity> Represents a command which performs deletions of entities. IDeleteCommandBuilder<TEntity> Represents a command builder to configure the deletion. IInsertCommand<TEntity> Represents a command which performs insertions of entities. IInsertCommandBuilder<TEntity> Represents a command builder to configure the insertion. IInsertRelationBuilder<TRelationEntity, TRootEntity> Represents a insert relation builder to configure the insert. IPreCommandBuilder<TEntity, TReturn> Represents a pre-command builder to configure the query. IQueryCommand<TEntity, TReturn> Represents a command which performs queries and materialize the results to entities. IQueryCommandBuilder<TEntity, TReturn> Represents a command builder to configure the query. IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn> Represents a query relation builder to configure the query. ISpecficVenflowCommandBuilder<TCommand, TLogResult> Represents a generic command builder for all CRUD operations to finalize the configuration. IUpdateCommand<TEntity> Represents a command which performs updates of entities. IUpdateCommandBuilder<TEntity> Represents a command builder to configure the update. IVenflowCommand<TEntity> The base command for all other CRUD commands. IVenflowCommandBuilder<TEntity> Represents a generic command builder to create any CRUD command.\"\n  },\n  \"api/Venflow.Commands.IBaseInsertRelationBuilder-2.html\": {\n    \"href\": \"api/Venflow.Commands.IBaseInsertRelationBuilder-2.html\",\n    \"title\": \"Interface IBaseInsertRelationBuilder<TRelationEntity, TRootEntity> | Venflow Documentation\",\n    \"keywords\": \"Interface IBaseInsertRelationBuilder<TRelationEntity, TRootEntity> Represents a base insert relation builder to configure the insert. Inherited Members IInsertCommandBuilder<TRootEntity>.InsertAsync(TRootEntity, CancellationToken) IInsertCommandBuilder<TRootEntity>.InsertAsync(IList<TRootEntity>, CancellationToken) ISpecficVenflowCommandBuilder<IInsertCommand<TRootEntity>, IBaseInsertRelationBuilder<TRootEntity, TRootEntity>>.Build() ISpecficVenflowCommandBuilder<IInsertCommand<TRootEntity>, IBaseInsertRelationBuilder<TRootEntity, TRootEntity>>.Log(Boolean) ISpecficVenflowCommandBuilder<IInsertCommand<TRootEntity>, IBaseInsertRelationBuilder<TRootEntity, TRootEntity>>.LogTo(LoggerCallback) ISpecficVenflowCommandBuilder<IInsertCommand<TRootEntity>, IBaseInsertRelationBuilder<TRootEntity, TRootEntity>>.LogTo(LoggerCallback[]) Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IBaseInsertRelationBuilder<TRelationEntity, TRootEntity> : IInsertCommandBuilder<TRootEntity>, ISpecficVenflowCommandBuilder<IInsertCommand<TRootEntity>, IBaseInsertRelationBuilder<TRootEntity, TRootEntity>> where TRelationEntity : class, new() where TRootEntity : class, new() Type Parameters Name Description TRelationEntity The type of the entity which will be joined with. TRootEntity The root type of the entity. Methods | Improve this Doc View Source With<TToEntity>(Expression<Func<TRootEntity, TToEntity>>) Allows to configure the inserted relations with the current insert. Declaration IInsertRelationBuilder<TToEntity, TRootEntity> With<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRootEntity, TToEntity>> propertySelector A lambda expression representing the navigation property which should get inserted with the root entity during insertion. Returns Type Description IInsertRelationBuilder <TToEntity, TRootEntity> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the inserted entity. | Improve this Doc View Source With<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>) Allows to configure the inserted relations with the current insert. Declaration IInsertRelationBuilder<TToEntity, TRootEntity> With<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRootEntity, IList <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get inserted with the root entity during insertion. Returns Type Description IInsertRelationBuilder <TToEntity, TRootEntity> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the inserted entity. | Improve this Doc View Source With<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>) Allows to configure the inserted relations with the current insert. Declaration IInsertRelationBuilder<TToEntity, TRootEntity> With<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRootEntity, List <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get inserted with the root entity during insertion. Returns Type Description IInsertRelationBuilder <TToEntity, TRootEntity> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the inserted entity. | Improve this Doc View Source WithAll() Allows to configure the current insert, to insert all populated relations which can be reached. Declaration IBaseInsertRelationBuilder<TRootEntity, TRootEntity> WithAll() Returns Type Description IBaseInsertRelationBuilder <TRootEntity, TRootEntity> An object that can be used to further configure the operation.\"\n  },\n  \"api/Venflow.Commands.IBaseQueryRelationBuilder-3.html\": {\n    \"href\": \"api/Venflow.Commands.IBaseQueryRelationBuilder-3.html\",\n    \"title\": \"Interface IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn> | Venflow Documentation\",\n    \"keywords\": \"Interface IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn> Represents a base query relation builder to configure the query. Inherited Members IPreCommandBuilder<TRootEntity, TReturn>.AddFormatter() IQueryCommandBuilder<TRootEntity, TReturn>.TrackChanges(Boolean) IQueryCommandBuilder<TRootEntity, TReturn>.QueryAsync(CancellationToken) ISpecficVenflowCommandBuilder<IQueryCommand<TRootEntity, TReturn>, IBaseQueryRelationBuilder<TRootEntity, TRootEntity, TReturn>>.Build() ISpecficVenflowCommandBuilder<IQueryCommand<TRootEntity, TReturn>, IBaseQueryRelationBuilder<TRootEntity, TRootEntity, TReturn>>.Log(Boolean) ISpecficVenflowCommandBuilder<IQueryCommand<TRootEntity, TReturn>, IBaseQueryRelationBuilder<TRootEntity, TRootEntity, TReturn>>.LogTo(LoggerCallback) ISpecficVenflowCommandBuilder<IQueryCommand<TRootEntity, TReturn>, IBaseQueryRelationBuilder<TRootEntity, TRootEntity, TReturn>>.LogTo(LoggerCallback[]) Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn> : IPreCommandBuilder<TRootEntity, TReturn>, IQueryCommandBuilder<TRootEntity, TReturn>, ISpecficVenflowCommandBuilder<IQueryCommand<TRootEntity, TReturn>, IBaseQueryRelationBuilder<TRootEntity, TRootEntity, TReturn>> where TRelationEntity : class, new() where TRootEntity : class, new() where TReturn : class, new() Type Parameters Name Description TRelationEntity The type of the entity which will be joined with. TRootEntity The root type of the entity. TReturn The return type of the query. Methods | Improve this Doc View Source FullJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>) Allows to configure materialized full joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> FullJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRootEntity, TToEntity>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source FullJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>) Allows to configure materialized full joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> FullJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRootEntity, IList <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source FullJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>) Allows to configure materialized full joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> FullJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRootEntity, List <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source JoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>, JoinBehaviour) Allows to configure materialized joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> JoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRootEntity, TToEntity>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. JoinBehaviour joinBehaviour Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. | Improve this Doc View Source JoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>, JoinBehaviour) Allows to configure materialized joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> JoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRootEntity, IList <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. JoinBehaviour joinBehaviour Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. | Improve this Doc View Source JoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>, JoinBehaviour) Allows to configure materialized joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> JoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRootEntity, List <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. JoinBehaviour joinBehaviour Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. | Improve this Doc View Source LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>) Allows to configure materialized left joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRootEntity, TToEntity>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>) Allows to configure materialized left joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRootEntity, IList <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>) Allows to configure materialized left joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRootEntity, List <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source RightJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>) Allows to configure materialized right joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> RightJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRootEntity, TToEntity>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source RightJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>) Allows to configure materialized right joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> RightJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRootEntity, IList <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source RightJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>) Allows to configure materialized right joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> RightJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRootEntity, List <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.\"\n  },\n  \"api/Venflow.Commands.IDeleteCommand-1.html\": {\n    \"href\": \"api/Venflow.Commands.IDeleteCommand-1.html\",\n    \"title\": \"Interface IDeleteCommand<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Interface IDeleteCommand<TEntity> Represents a command which performs deletions of entities. Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IDeleteCommand<TEntity> : IVenflowCommand<TEntity>, IAsyncDisposable where TEntity : class, new() Type Parameters Name Description TEntity The type of the entity which will be deleted. Methods | Improve this Doc View Source DeleteAsync(TEntity, CancellationToken) Asynchronously deletes a single entity. Declaration ValueTask<int> DeleteAsync(TEntity entity, CancellationToken cancellationToken = null) Parameters Type Name Description TEntity entity The entity instance which should be deleted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description ValueTask < Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. | Improve this Doc View Source DeleteAsync(TEntity[], CancellationToken) Asynchronously deletes a set of entity. Declaration ValueTask<int> DeleteAsync(TEntity[] entities, CancellationToken cancellationToken = null) Parameters Type Name Description TEntity[] entities The entity instances which should be deleted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description ValueTask < Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. | Improve this Doc View Source DeleteAsync(IEnumerable<TEntity>, CancellationToken) Asynchronously deletes a set of entity. Declaration ValueTask<int> DeleteAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken = null) Parameters Type Name Description IEnumerable <TEntity> entities The entity instances which should be deleted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description ValueTask < Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. | Improve this Doc View Source DeleteAsync(IList<TEntity>, CancellationToken) Asynchronously deletes a set of entity. Declaration ValueTask<int> DeleteAsync(IList<TEntity> entities, CancellationToken cancellationToken = null) Parameters Type Name Description IList <TEntity> entities The entity instances which should be deleted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description ValueTask < Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. | Improve this Doc View Source DeleteAsync(List<TEntity>, CancellationToken) Asynchronously deletes a set of entity. Declaration ValueTask<int> DeleteAsync(List<TEntity> entities, CancellationToken cancellationToken = null) Parameters Type Name Description List <TEntity> entities The entity instances which should be deleted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description ValueTask < Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.\"\n  },\n  \"api/Venflow.Commands.IDeleteCommandBuilder-1.html\": {\n    \"href\": \"api/Venflow.Commands.IDeleteCommandBuilder-1.html\",\n    \"title\": \"Interface IDeleteCommandBuilder<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Interface IDeleteCommandBuilder<TEntity> Represents a command builder to configure the deletion. Inherited Members ISpecficVenflowCommandBuilder<IDeleteCommand<TEntity>, IDeleteCommandBuilder<TEntity>>.Build() ISpecficVenflowCommandBuilder<IDeleteCommand<TEntity>, IDeleteCommandBuilder<TEntity>>.Log(Boolean) ISpecficVenflowCommandBuilder<IDeleteCommand<TEntity>, IDeleteCommandBuilder<TEntity>>.LogTo(LoggerCallback) ISpecficVenflowCommandBuilder<IDeleteCommand<TEntity>, IDeleteCommandBuilder<TEntity>>.LogTo(LoggerCallback[]) Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IDeleteCommandBuilder<TEntity> : ISpecficVenflowCommandBuilder<IDeleteCommand<TEntity>, IDeleteCommandBuilder<TEntity>> where TEntity : class, new() Type Parameters Name Description TEntity The type of the entity which will be deleted. Methods | Improve this Doc View Source DeleteAsync(TEntity, CancellationToken) Asynchronously deletes a single entity. Declaration ValueTask<int> DeleteAsync(TEntity entity, CancellationToken cancellationToken = null) Parameters Type Name Description TEntity entity The entity instance which should be deleted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description ValueTask < Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. | Improve this Doc View Source DeleteAsync(TEntity[], CancellationToken) Asynchronously deletes a set of entity. Declaration ValueTask<int> DeleteAsync(TEntity[] entities, CancellationToken cancellationToken = null) Parameters Type Name Description TEntity[] entities The entity instances which should be deleted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description ValueTask < Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. | Improve this Doc View Source DeleteAsync(IEnumerable<TEntity>, CancellationToken) Asynchronously deletes a set of entity. Declaration ValueTask<int> DeleteAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken = null) Parameters Type Name Description IEnumerable <TEntity> entities The entity instances which should be deleted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description ValueTask < Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. | Improve this Doc View Source DeleteAsync(IList<TEntity>, CancellationToken) Asynchronously deletes a set of entity. Declaration ValueTask<int> DeleteAsync(IList<TEntity> entities, CancellationToken cancellationToken = null) Parameters Type Name Description IList <TEntity> entities The entity instances which should be deleted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description ValueTask < Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. | Improve this Doc View Source DeleteAsync(List<TEntity>, CancellationToken) Asynchronously deletes a set of entity. Declaration ValueTask<int> DeleteAsync(List<TEntity> entities, CancellationToken cancellationToken = null) Parameters Type Name Description List <TEntity> entities The entity instances which should be deleted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description ValueTask < Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.\"\n  },\n  \"api/Venflow.Commands.IInsertCommand-1.html\": {\n    \"href\": \"api/Venflow.Commands.IInsertCommand-1.html\",\n    \"title\": \"Interface IInsertCommand<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Interface IInsertCommand<TEntity> Represents a command which performs insertions of entities. Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IInsertCommand<TEntity> : IVenflowCommand<TEntity>, IAsyncDisposable where TEntity : class, new() Type Parameters Name Description TEntity The type of the entity which will be inserted. Methods | Improve this Doc View Source InsertAsync(TEntity, CancellationToken) Asynchronously inserts a single entity. Declaration Task<int> InsertAsync(TEntity entity, CancellationToken cancellationToken = null) Parameters Type Name Description TEntity entity The entity instance which should be inserted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description Task < Int32 > A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise. | Improve this Doc View Source InsertAsync(IList<TEntity>, CancellationToken) Asynchronously inserts a set of entities. Declaration Task<int> InsertAsync(IList<TEntity> entities, CancellationToken cancellationToken = null) Parameters Type Name Description IList <TEntity> entities The entity instances which should be inserted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description Task < Int32 > A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise.\"\n  },\n  \"api/Venflow.Commands.IInsertCommandBuilder-1.html\": {\n    \"href\": \"api/Venflow.Commands.IInsertCommandBuilder-1.html\",\n    \"title\": \"Interface IInsertCommandBuilder<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Interface IInsertCommandBuilder<TEntity> Represents a command builder to configure the insertion. Inherited Members ISpecficVenflowCommandBuilder<IInsertCommand<TEntity>, IBaseInsertRelationBuilder<TEntity, TEntity>>.Build() ISpecficVenflowCommandBuilder<IInsertCommand<TEntity>, IBaseInsertRelationBuilder<TEntity, TEntity>>.Log(Boolean) ISpecficVenflowCommandBuilder<IInsertCommand<TEntity>, IBaseInsertRelationBuilder<TEntity, TEntity>>.LogTo(LoggerCallback) ISpecficVenflowCommandBuilder<IInsertCommand<TEntity>, IBaseInsertRelationBuilder<TEntity, TEntity>>.LogTo(LoggerCallback[]) Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IInsertCommandBuilder<TEntity> : ISpecficVenflowCommandBuilder<IInsertCommand<TEntity>, IBaseInsertRelationBuilder<TEntity, TEntity>> where TEntity : class, new() Type Parameters Name Description TEntity The type of the entity which will be inserted. Methods | Improve this Doc View Source InsertAsync(TEntity, CancellationToken) Asynchronously inserts a single entity. Declaration Task<int> InsertAsync(TEntity entity, CancellationToken cancellationToken = null) Parameters Type Name Description TEntity entity The entity instance which should be inserted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description Task < Int32 > A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise. | Improve this Doc View Source InsertAsync(IList<TEntity>, CancellationToken) Asynchronously inserts a set of entities. Declaration Task<int> InsertAsync(IList<TEntity> entities, CancellationToken cancellationToken = null) Parameters Type Name Description IList <TEntity> entities The entity instances which should be inserted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description Task < Int32 > A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise.\"\n  },\n  \"api/Venflow.Commands.IInsertRelationBuilder-2.html\": {\n    \"href\": \"api/Venflow.Commands.IInsertRelationBuilder-2.html\",\n    \"title\": \"Interface IInsertRelationBuilder<TRelationEntity, TRootEntity> | Venflow Documentation\",\n    \"keywords\": \"Interface IInsertRelationBuilder<TRelationEntity, TRootEntity> Represents a insert relation builder to configure the insert. Inherited Members IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.WithAll() IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.With<TToEntity>(Expression<Func<TRootEntity, TToEntity>>) IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.With<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>) IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.With<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>) IInsertCommandBuilder<TRootEntity>.InsertAsync(TRootEntity, CancellationToken) IInsertCommandBuilder<TRootEntity>.InsertAsync(IList<TRootEntity>, CancellationToken) ISpecficVenflowCommandBuilder<IInsertCommand<TRootEntity>, IBaseInsertRelationBuilder<TRootEntity, TRootEntity>>.Build() ISpecficVenflowCommandBuilder<IInsertCommand<TRootEntity>, IBaseInsertRelationBuilder<TRootEntity, TRootEntity>>.Log(Boolean) ISpecficVenflowCommandBuilder<IInsertCommand<TRootEntity>, IBaseInsertRelationBuilder<TRootEntity, TRootEntity>>.LogTo(LoggerCallback) ISpecficVenflowCommandBuilder<IInsertCommand<TRootEntity>, IBaseInsertRelationBuilder<TRootEntity, TRootEntity>>.LogTo(LoggerCallback[]) Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IInsertRelationBuilder<TRelationEntity, TRootEntity> : IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>, IInsertCommandBuilder<TRootEntity>, ISpecficVenflowCommandBuilder<IInsertCommand<TRootEntity>, IBaseInsertRelationBuilder<TRootEntity, TRootEntity>> where TRelationEntity : class, new() where TRootEntity : class, new() Type Parameters Name Description TRelationEntity The type of the entity which will be inserted with. TRootEntity The root type of the entity. Methods | Improve this Doc View Source AndWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>) Allows to configure the inserted relations with the current insert. Declaration IInsertRelationBuilder<TToEntity, TRootEntity> AndWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRelationEntity, TToEntity>> propertySelector A lambda expression representing the navigation property which should get inserted with the root entity during insertion. Returns Type Description IInsertRelationBuilder <TToEntity, TRootEntity> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the inserted entity. | Improve this Doc View Source AndWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>) Allows to configure the inserted relations with the current insert. Declaration IInsertRelationBuilder<TToEntity, TRootEntity> AndWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRelationEntity, IList <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get inserted with the root entity during insertion. Returns Type Description IInsertRelationBuilder <TToEntity, TRootEntity> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the inserted entity. | Improve this Doc View Source AndWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>) Allows to configure the inserted relations with the current insert. Declaration IInsertRelationBuilder<TToEntity, TRootEntity> AndWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRelationEntity, List <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get inserted with the root entity during insertion. Returns Type Description IInsertRelationBuilder <TToEntity, TRootEntity> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the inserted entity.\"\n  },\n  \"api/Venflow.Commands.IPreCommandBuilder-2.html\": {\n    \"href\": \"api/Venflow.Commands.IPreCommandBuilder-2.html\",\n    \"title\": \"Interface IPreCommandBuilder<TEntity, TReturn> | Venflow Documentation\",\n    \"keywords\": \"Interface IPreCommandBuilder<TEntity, TReturn> Represents a pre-command builder to configure the query. Inherited Members IQueryCommandBuilder<TEntity, TReturn>.TrackChanges(Boolean) IQueryCommandBuilder<TEntity, TReturn>.QueryAsync(CancellationToken) ISpecficVenflowCommandBuilder<IQueryCommand<TEntity, TReturn>, IBaseQueryRelationBuilder<TEntity, TEntity, TReturn>>.Build() ISpecficVenflowCommandBuilder<IQueryCommand<TEntity, TReturn>, IBaseQueryRelationBuilder<TEntity, TEntity, TReturn>>.Log(Boolean) ISpecficVenflowCommandBuilder<IQueryCommand<TEntity, TReturn>, IBaseQueryRelationBuilder<TEntity, TEntity, TReturn>>.LogTo(LoggerCallback) ISpecficVenflowCommandBuilder<IQueryCommand<TEntity, TReturn>, IBaseQueryRelationBuilder<TEntity, TEntity, TReturn>>.LogTo(LoggerCallback[]) Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IPreCommandBuilder<TEntity, TReturn> : IQueryCommandBuilder<TEntity, TReturn>, ISpecficVenflowCommandBuilder<IQueryCommand<TEntity, TReturn>, IBaseQueryRelationBuilder<TEntity, TEntity, TReturn>> where TEntity : class, new() where TReturn : class, new() Type Parameters Name Description TEntity The type of the entity which will be queried. TReturn The return type of the query. Methods | Improve this Doc View Source AddFormatter() Defines if >< should be replaced by automatically generated joins in your SQL. Declaration IBaseQueryRelationBuilder<TEntity, TEntity, TReturn> AddFormatter() Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TReturn> An object that can be used to further configure the operation.\"\n  },\n  \"api/Venflow.Commands.IQueryCommand-2.html\": {\n    \"href\": \"api/Venflow.Commands.IQueryCommand-2.html\",\n    \"title\": \"Interface IQueryCommand<TEntity, TReturn> | Venflow Documentation\",\n    \"keywords\": \"Interface IQueryCommand<TEntity, TReturn> Represents a command which performs queries and materialize the results to entities. Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IQueryCommand<TEntity, TReturn> : IVenflowCommand<TEntity>, IAsyncDisposable where TEntity : class, new() where TReturn : class, new() Type Parameters Name Description TEntity The type of the entity which represents the result of the query. TReturn The return type of the query. Methods | Improve this Doc View Source PrepareAsync(CancellationToken) Asynchronously prepares the current SQL command on the database. Declaration Task<IQueryCommand<TEntity, TReturn>> PrepareAsync(CancellationToken cancellationToken = null) Parameters Type Name Description CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description Task < IQueryCommand <TEntity, TReturn>> | Improve this Doc View Source QueryAsync(CancellationToken) Asynchronously performs queries and materializes the result. Declaration Task<TReturn> QueryAsync(CancellationToken cancellationToken = null) Parameters Type Name Description CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description Task <TReturn> A task representing the asynchronous operation, with the materialized result of the query; null otherwise. | Improve this Doc View Source UnprepareAsync(CancellationToken) Asynchronously un-prepares the current SQL command on the database. Declaration Task<IQueryCommand<TEntity, TReturn>> UnprepareAsync(CancellationToken cancellationToken = null) Parameters Type Name Description CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description Task < IQueryCommand <TEntity, TReturn>>\"\n  },\n  \"api/Venflow.Commands.IQueryCommandBuilder-2.html\": {\n    \"href\": \"api/Venflow.Commands.IQueryCommandBuilder-2.html\",\n    \"title\": \"Interface IQueryCommandBuilder<TEntity, TReturn> | Venflow Documentation\",\n    \"keywords\": \"Interface IQueryCommandBuilder<TEntity, TReturn> Represents a command builder to configure the query. Inherited Members ISpecficVenflowCommandBuilder<IQueryCommand<TEntity, TReturn>, IBaseQueryRelationBuilder<TEntity, TEntity, TReturn>>.Build() ISpecficVenflowCommandBuilder<IQueryCommand<TEntity, TReturn>, IBaseQueryRelationBuilder<TEntity, TEntity, TReturn>>.Log(Boolean) ISpecficVenflowCommandBuilder<IQueryCommand<TEntity, TReturn>, IBaseQueryRelationBuilder<TEntity, TEntity, TReturn>>.LogTo(LoggerCallback) ISpecficVenflowCommandBuilder<IQueryCommand<TEntity, TReturn>, IBaseQueryRelationBuilder<TEntity, TEntity, TReturn>>.LogTo(LoggerCallback[]) Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IQueryCommandBuilder<TEntity, TReturn> : ISpecficVenflowCommandBuilder<IQueryCommand<TEntity, TReturn>, IBaseQueryRelationBuilder<TEntity, TEntity, TReturn>> where TEntity : class, new() where TReturn : class, new() Type Parameters Name Description TEntity The type of the entity which will be queried. TReturn The return type of the query. Methods | Improve this Doc View Source QueryAsync(CancellationToken) Asynchronously performs queries and materializes the result. Declaration Task<TReturn> QueryAsync(CancellationToken cancellationToken = null) Parameters Type Name Description CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description Task <TReturn> A task representing the asynchronous operation, with the materialized result of the query; null otherwise. | Improve this Doc View Source TrackChanges(Boolean) Determines whether or not to return change tracked entities from the query. Declaration IBaseQueryRelationBuilder<TEntity, TEntity, TReturn> TrackChanges(bool trackChanges = true) Parameters Type Name Description Boolean trackChanges Determines if change tracking should be applied. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TReturn> An object that can be used to further configure the operation.\"\n  },\n  \"api/Venflow.Commands.IQueryRelationBuilder-3.html\": {\n    \"href\": \"api/Venflow.Commands.IQueryRelationBuilder-3.html\",\n    \"title\": \"Interface IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn> | Venflow Documentation\",\n    \"keywords\": \"Interface IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn> Represents a query relation builder to configure the query. Inherited Members IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.JoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>, JoinBehaviour) IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.JoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>, JoinBehaviour) IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.JoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>, JoinBehaviour) IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>) IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>) IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>) IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>) IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>) IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>) IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>) IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>) IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>) IPreCommandBuilder<TRootEntity, TReturn>.AddFormatter() IQueryCommandBuilder<TRootEntity, TReturn>.TrackChanges(Boolean) IQueryCommandBuilder<TRootEntity, TReturn>.QueryAsync(CancellationToken) ISpecficVenflowCommandBuilder<IQueryCommand<TRootEntity, TReturn>, IBaseQueryRelationBuilder<TRootEntity, TRootEntity, TReturn>>.Build() ISpecficVenflowCommandBuilder<IQueryCommand<TRootEntity, TReturn>, IBaseQueryRelationBuilder<TRootEntity, TRootEntity, TReturn>>.Log(Boolean) ISpecficVenflowCommandBuilder<IQueryCommand<TRootEntity, TReturn>, IBaseQueryRelationBuilder<TRootEntity, TRootEntity, TReturn>>.LogTo(LoggerCallback) ISpecficVenflowCommandBuilder<IQueryCommand<TRootEntity, TReturn>, IBaseQueryRelationBuilder<TRootEntity, TRootEntity, TReturn>>.LogTo(LoggerCallback[]) Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn> : IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>, IPreCommandBuilder<TRootEntity, TReturn>, IQueryCommandBuilder<TRootEntity, TReturn>, ISpecficVenflowCommandBuilder<IQueryCommand<TRootEntity, TReturn>, IBaseQueryRelationBuilder<TRootEntity, TRootEntity, TReturn>> where TRelationEntity : class, new() where TRootEntity : class, new() where TReturn : class, new() Type Parameters Name Description TRelationEntity The type of the entity which will be joined with. TRootEntity The root type of the entity. TReturn The return type of the query. Methods | Improve this Doc View Source ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>) Allows to configure materialized full joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRelationEntity, TToEntity>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>) Allows to configure materialized full joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRelationEntity, IList <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>) Allows to configure materialized full joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRelationEntity, List <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>) Allows to configure materialized left joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRelationEntity, TToEntity>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>) Allows to configure materialized left joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRelationEntity, IList <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>) Allows to configure materialized left joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRelationEntity, List <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>) Allows to configure materialized right joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRelationEntity, TToEntity>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>) Allows to configure materialized right joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRelationEntity, IList <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>) Allows to configure materialized right joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRelationEntity, List <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. Remarks You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods. | Improve this Doc View Source ThenWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>, JoinBehaviour) Allows to configure materialized joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRelationEntity, TToEntity>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. JoinBehaviour joinBehaviour Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. | Improve this Doc View Source ThenWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>, JoinBehaviour) Allows to configure materialized joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRelationEntity, IList <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. JoinBehaviour joinBehaviour Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity. | Improve this Doc View Source ThenWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>, JoinBehaviour) Allows to configure materialized joins for the current query. Declaration IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin) where TToEntity : class, new() Parameters Type Name Description Expression < Func <TRelationEntity, List <TToEntity>>> propertySelector A lambda expression representing the navigation property which should get joined on doing materialization. JoinBehaviour joinBehaviour Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it. Returns Type Description IQueryRelationBuilder <TToEntity, TRootEntity, TReturn> An object that can be used to further configure the operation. Type Parameters Name Description TToEntity The type of the joined entity.\"\n  },\n  \"api/Venflow.Commands.ISpecficVenflowCommandBuilder-2.html\": {\n    \"href\": \"api/Venflow.Commands.ISpecficVenflowCommandBuilder-2.html\",\n    \"title\": \"Interface ISpecficVenflowCommandBuilder<TCommand, TLogResult> | Venflow Documentation\",\n    \"keywords\": \"Interface ISpecficVenflowCommandBuilder<TCommand, TLogResult> Represents a generic command builder for all CRUD operations to finalize the configuration. Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface ISpecficVenflowCommandBuilder<out TCommand, out TLogResult> where TCommand : class where TLogResult : class Type Parameters Name Description TCommand The type of the command which is being configured. TLogResult The type of the command which is being configured after configuring the loggers. Methods | Improve this Doc View Source Build() Finalizes the ongoing configuration process and builds the command. Declaration TCommand Build() Returns Type Description TCommand The built command. | Improve this Doc View Source Log(Boolean) Determines whether or not to log the command to the provided loggers. Declaration TLogResult Log(bool shouldLog = true) Parameters Type Name Description Boolean shouldLog Determines if this command should be logged. This is helpful, if you configured the default logging behavior to be true . Returns Type Description TLogResult An object that can be used to further configure the operation. Remarks You can configure the loggers in the Configure(DatabaseConfigurationOptionsBuilder) method with the LogTo(LoggerCallback) methods. | Improve this Doc View Source LogTo(LoggerCallback) Logs the command to the provided logger . Declaration TLogResult LogTo(LoggerCallback logger) Parameters Type Name Description LoggerCallback logger The logger which is being used for this command. Returns Type Description TLogResult An object that can be used to further configure the operation. Remarks Be aware, that once you configure a logger on a command, the global configured loggers won't be executed for this command. | Improve this Doc View Source LogTo(LoggerCallback[]) Logs the command to the provided loggers . Declaration TLogResult LogTo(params LoggerCallback[] loggers) Parameters Type Name Description LoggerCallback [] loggers The loggers which are being used for this command. Returns Type Description TLogResult An object that can be used to further configure the operation. Remarks Be aware, that once you configure one or more loggers on a command, the global configured loggers won't be executed for this command.\"\n  },\n  \"api/Venflow.Commands.IUpdateCommand-1.html\": {\n    \"href\": \"api/Venflow.Commands.IUpdateCommand-1.html\",\n    \"title\": \"Interface IUpdateCommand<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Interface IUpdateCommand<TEntity> Represents a command which performs updates of entities. Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IUpdateCommand<TEntity> : IVenflowCommand<TEntity>, IAsyncDisposable where TEntity : class, new() Type Parameters Name Description TEntity The type of the entity which will be updated. Methods | Improve this Doc View Source UpdateAsync(TEntity, CancellationToken) Asynchronously updates a single entity. Declaration ValueTask UpdateAsync(TEntity entity, CancellationToken cancellationToken = null) Parameters Type Name Description TEntity entity The change tracked entity instance which should be updated. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description ValueTask A task representing the asynchronous operation. | Improve this Doc View Source UpdateAsync(IEnumerable<TEntity>, CancellationToken) Asynchronously updates a set of entities. Declaration ValueTask UpdateAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken = null) Parameters Type Name Description IEnumerable <TEntity> entities The change tracked entity instances which should be updated. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description ValueTask A task representing the asynchronous operation. | Improve this Doc View Source UpdateAsync(IList<TEntity>, CancellationToken) Asynchronously updates a set of entities. Declaration ValueTask UpdateAsync(IList<TEntity> entities, CancellationToken cancellationToken = null) Parameters Type Name Description IList <TEntity> entities The change tracked entity instances which should be updated. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description ValueTask A task representing the asynchronous operation.\"\n  },\n  \"api/Venflow.Commands.IUpdateCommandBuilder-1.html\": {\n    \"href\": \"api/Venflow.Commands.IUpdateCommandBuilder-1.html\",\n    \"title\": \"Interface IUpdateCommandBuilder<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Interface IUpdateCommandBuilder<TEntity> Represents a command builder to configure the update. Inherited Members ISpecficVenflowCommandBuilder<IUpdateCommand<TEntity>, IUpdateCommandBuilder<TEntity>>.Build() ISpecficVenflowCommandBuilder<IUpdateCommand<TEntity>, IUpdateCommandBuilder<TEntity>>.Log(Boolean) ISpecficVenflowCommandBuilder<IUpdateCommand<TEntity>, IUpdateCommandBuilder<TEntity>>.LogTo(LoggerCallback) ISpecficVenflowCommandBuilder<IUpdateCommand<TEntity>, IUpdateCommandBuilder<TEntity>>.LogTo(LoggerCallback[]) Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IUpdateCommandBuilder<TEntity> : ISpecficVenflowCommandBuilder<IUpdateCommand<TEntity>, IUpdateCommandBuilder<TEntity>> where TEntity : class, new() Type Parameters Name Description TEntity The type of the entity which will be updated. Methods | Improve this Doc View Source UpdateAsync(TEntity, CancellationToken) Asynchronously updates a single entity. Declaration ValueTask UpdateAsync(TEntity entity, CancellationToken cancellationToken = null) Parameters Type Name Description TEntity entity The change tracked entity instance which should be updated. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description ValueTask A task representing the asynchronous operation. | Improve this Doc View Source UpdateAsync(TEntity[], CancellationToken) Asynchronously updates a set of entities. Declaration ValueTask UpdateAsync(TEntity[] entities, CancellationToken cancellationToken = null) Parameters Type Name Description TEntity[] entities The change tracked entity instances which should be updated. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description ValueTask A task representing the asynchronous operation. | Improve this Doc View Source UpdateAsync(IEnumerable<TEntity>, CancellationToken) Asynchronously updates a set of entities. Declaration ValueTask UpdateAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken = null) Parameters Type Name Description IEnumerable <TEntity> entities The change tracked entity instances which should be updated. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description ValueTask A task representing the asynchronous operation. | Improve this Doc View Source UpdateAsync(IList<TEntity>, CancellationToken) Asynchronously updates a set of entities. Declaration ValueTask UpdateAsync(IList<TEntity> entities, CancellationToken cancellationToken = null) Parameters Type Name Description IList <TEntity> entities The change tracked entity instances which should be updated. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description ValueTask A task representing the asynchronous operation. | Improve this Doc View Source UpdateAsync(List<TEntity>, CancellationToken) Asynchronously updates a set of entities. Declaration ValueTask UpdateAsync(List<TEntity> entities, CancellationToken cancellationToken = null) Parameters Type Name Description List <TEntity> entities The change tracked entity instances which should be updated. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description ValueTask A task representing the asynchronous operation.\"\n  },\n  \"api/Venflow.Commands.IVenflowCommand-1.html\": {\n    \"href\": \"api/Venflow.Commands.IVenflowCommand-1.html\",\n    \"title\": \"Interface IVenflowCommand<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Interface IVenflowCommand<TEntity> The base command for all other CRUD commands. Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IVenflowCommand<TEntity> : IAsyncDisposable where TEntity : class, new() Type Parameters Name Description TEntity The type of the entity which is being used in the current operation.\"\n  },\n  \"api/Venflow.Commands.IVenflowCommandBuilder-1.html\": {\n    \"href\": \"api/Venflow.Commands.IVenflowCommandBuilder-1.html\",\n    \"title\": \"Interface IVenflowCommandBuilder<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Interface IVenflowCommandBuilder<TEntity> Represents a generic command builder to create any CRUD command. Namespace : Venflow.Commands Assembly : Venflow.dll Syntax public interface IVenflowCommandBuilder<TEntity> where TEntity : class, new() Type Parameters Name Description TEntity The type of the entity which will be used for the command. Methods | Improve this Doc View Source Delete() Creates a new delete command builder. Declaration IDeleteCommandBuilder<TEntity> Delete() Returns Type Description IDeleteCommandBuilder <TEntity> A Fluent API Builder for a delete command. | Improve this Doc View Source Insert() Creates a new insert command builder. Declaration IBaseInsertRelationBuilder<TEntity, TEntity> Insert() Returns Type Description IBaseInsertRelationBuilder <TEntity, TEntity> A Fluent API Builder for a insert command. | Improve this Doc View Source QueryBatch(Expression<Func<TEntity, FormattableString>>) Creates a new query command, which expects a set of primary rows to be returned. This API does support string interpolation! Declaration IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(Expression<Func<TEntity, FormattableString>> sql) Parameters Type Name Description Expression < Func <TEntity, FormattableString >> sql A string containing the SQL statement. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. | Improve this Doc View Source QueryBatch(String) Creates a new query command builder, which expects a set of primary rows to be returned. This API does not support string interpolation! If you need to pass parameters with the query, either use QuerySingle(String, NpgsqlParameter[]) or QueryInterpolatedSingle(FormattableString) . Declaration IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(string sql) Parameters Type Name Description String sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. | Improve this Doc View Source QueryBatch(String, NpgsqlParameter[]) Creates a new query command builder, which expects a set of primary rows to be returned. This API does not support string interpolation! If you want to pass interpolated SQL use QueryInterpolatedSingle(FormattableString) . Declaration IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(string sql, params NpgsqlParameter[] parameters) Parameters Type Name Description String sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. NpgsqlParameter [] parameters A set of which contain parameters for the sql command. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. | Improve this Doc View Source QueryBatch<TOne>(Expression<Func<TEntity, TOne, FormattableString>>) Creates a new query command, which expects a set of primary rows to be returned. This API does support string interpolation! Declaration IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne>(Expression<Func<TEntity, TOne, FormattableString>> sql) where TOne : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, FormattableString >> sql A string containing the SQL statement. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. Type Parameters Name Description TOne | Improve this Doc View Source QueryBatch<TOne, TTwo>(Expression<Func<TEntity, TOne, TTwo, FormattableString>>) Creates a new query command, which expects a set of primary rows to be returned. This API does support string interpolation! Declaration IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, TTwo>(Expression<Func<TEntity, TOne, TTwo, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, TTwo, FormattableString >> sql A string containing the SQL statement. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. Type Parameters Name Description TOne TTwo | Improve this Doc View Source QueryBatch<TOne, TTwo, TThree>(Expression<Func<TEntity, TOne, TTwo, TThree, FormattableString>>) Creates a new query command, which expects a set of primary rows to be returned. This API does support string interpolation! Declaration IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, TTwo, TThree>(Expression<Func<TEntity, TOne, TTwo, TThree, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, TTwo, TThree, FormattableString >> sql A string containing the SQL statement. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. Type Parameters Name Description TOne TTwo TThree | Improve this Doc View Source QueryBatch<TOne, TTwo, TThree, TFour>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, FormattableString>>) Creates a new query command, which expects a set of primary rows to be returned. This API does support string interpolation! Declaration IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, TTwo, TThree, TFour>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new() where TFour : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, TTwo, TThree, TFour, FormattableString >> sql A string containing the SQL statement. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. Type Parameters Name Description TOne TTwo TThree TFour | Improve this Doc View Source QueryBatch<TOne, TTwo, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString>>) Creates a new query command, which expects a set of primary rows to be returned. This API does support string interpolation! Declaration IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, TTwo, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString >> sql A string containing the SQL statement. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. Type Parameters Name Description TOne TTwo TThree TFour TFive | Improve this Doc View Source QueryBatch<TOne, TTwo, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString>>) Creates a new query command, which expects a set of primary rows to be returned. This API does support string interpolation! Declaration IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, TTwo, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString >> sql A string containing the SQL statement. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. Type Parameters Name Description TOne TTwo TThree TFour TFive TSix | Improve this Doc View Source QueryBatch<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString>>) Creates a new query command, which expects a set of primary rows to be returned. This API does support string interpolation! Declaration IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new() where TSeven : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString >> sql A string containing the SQL statement. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. Type Parameters Name Description TOne TTwo TThree TFour TFive TSix TSeven | Improve this Doc View Source QueryBatch<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>>) Creates a new query command, which expects a set of primary rows to be returned. This API does support string interpolation! Declaration IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new() where TSeven : class, new() where TEight : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString >> sql A string containing the SQL statement. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. Type Parameters Name Description TOne TTwo TThree TFour TFive TSix TSeven TEight | Improve this Doc View Source QueryInterpolatedBatch(FormattableString) Creates a new query command builder, which expects a set of primary rows to be returned. This API does support string interpolation! Declaration IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryInterpolatedBatch(FormattableString sql) Parameters Type Name Description FormattableString sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. | Improve this Doc View Source QueryInterpolatedSingle(FormattableString) Creates a new query command builder, which expects a single returned primary row. This API does support string interpolation! Declaration IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QueryInterpolatedSingle(FormattableString sql) Parameters Type Name Description FormattableString sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. | Improve this Doc View Source QuerySingle(Expression<Func<TEntity, FormattableString>>) Creates a new query command, which expects a single returned primary row. This API does support string interpolation! Declaration IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(Expression<Func<TEntity, FormattableString>> sql) Parameters Type Name Description Expression < Func <TEntity, FormattableString >> sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. | Improve this Doc View Source QuerySingle(String) Creates a query command with a single result. This API does not support string interpolation! If you need to pass parameters with the query, either use QuerySingle(String, NpgsqlParameter[]) or QueryInterpolatedSingle(FormattableString) . Declaration IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(string sql) Parameters Type Name Description String sql Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> An object that can be used to further configure the operation. | Improve this Doc View Source QuerySingle(String, NpgsqlParameter[]) Creates a new query command builder, which expects a single returned primary row. This API does not support string interpolation! If you want to pass interpolated SQL use QueryInterpolatedSingle(FormattableString) . Declaration IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(string sql, params NpgsqlParameter[] parameters) Parameters Type Name Description String sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. NpgsqlParameter [] parameters A set of which contain parameters for the sql command. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. | Improve this Doc View Source QuerySingle<TOne>(Expression<Func<TEntity, TOne, FormattableString>>) Creates a new query command, which expects a single returned primary row. This API does support string interpolation! Declaration IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne>(Expression<Func<TEntity, TOne, FormattableString>> sql) where TOne : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, FormattableString >> sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. Type Parameters Name Description TOne | Improve this Doc View Source QuerySingle<TOne, TTwo>(Expression<Func<TEntity, TOne, TTwo, FormattableString>>) Creates a new query command, which expects a single returned primary row. This API does support string interpolation! Declaration IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, TTwo>(Expression<Func<TEntity, TOne, TTwo, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, TTwo, FormattableString >> sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. Type Parameters Name Description TOne TTwo | Improve this Doc View Source QuerySingle<TOne, TTwo, TThree>(Expression<Func<TEntity, TOne, TTwo, TThree, FormattableString>>) Creates a new query command, which expects a single returned primary row. This API does support string interpolation! Declaration IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, TTwo, TThree>(Expression<Func<TEntity, TOne, TTwo, TThree, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, TTwo, TThree, FormattableString >> sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. Type Parameters Name Description TOne TTwo TThree | Improve this Doc View Source QuerySingle<TOne, TTwo, TThree, TFour>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, FormattableString>>) Creates a new query command, which expects a single returned primary row. This API does support string interpolation! Declaration IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, TTwo, TThree, TFour>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new() where TFour : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, TTwo, TThree, TFour, FormattableString >> sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. Type Parameters Name Description TOne TTwo TThree TFour | Improve this Doc View Source QuerySingle<TOne, TTwo, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString>>) Creates a new query command, which expects a single returned primary row. This API does support string interpolation! Declaration IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, TTwo, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString >> sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. Type Parameters Name Description TOne TTwo TThree TFour TFive | Improve this Doc View Source QuerySingle<TOne, TTwo, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString>>) Creates a new query command, which expects a single returned primary row. This API does support string interpolation! Declaration IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, TTwo, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString >> sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. Type Parameters Name Description TOne TTwo TThree TFour TFive TSix | Improve this Doc View Source QuerySingle<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString>>) Creates a new query command, which expects a single returned primary row. This API does support string interpolation! Declaration IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new() where TSeven : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString >> sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. Type Parameters Name Description TOne TTwo TThree TFour TFive TSix TSeven | Improve this Doc View Source QuerySingle<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>>) Creates a new query command, which expects a single returned primary row. This API does support string interpolation! Declaration IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new() where TSeven : class, new() where TEight : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString >> sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. Type Parameters Name Description TOne TTwo TThree TFour TFive TSix TSeven TEight | Improve this Doc View Source Update() Creates a new update command builder. Declaration IUpdateCommandBuilder<TEntity> Update() Returns Type Description IUpdateCommandBuilder <TEntity> A Fluent API Builder for a update command.\"\n  },\n  \"api/Venflow.Database.html\": {\n    \"href\": \"api/Venflow.Database.html\",\n    \"title\": \"Class Database | Venflow Documentation\",\n    \"keywords\": \"Class Database A Database instance represents a session with the database and can be used to perform CRUD operations with your tables and entities. Inheritance Object Database Implements IDisposable Namespace : Venflow Assembly : Venflow.dll Syntax public abstract class Database : IAsyncDisposable, IDisposable Remarks Typically you create a class that derives from Database and contains Table<TEntity> properties for each entity in the Database. All the Table<TEntity> properties must have a public setter, they are automatically initialized when the instance of the derived type is created. Constructors | Improve this Doc View Source Database(DatabaseOptionsBuilder) Initializes a new instance of the Database class using the specified optionsBuilder . Declaration protected Database(DatabaseOptionsBuilder optionsBuilder) Parameters Type Name Description DatabaseOptionsBuilder optionsBuilder The options builder containing all the necessary information for the Database instance. | Improve this Doc View Source Database(String) Initializes a new instance of the Database class using the specified connectionString . Declaration protected Database(string connectionString) Parameters Type Name Description String connectionString The connection string to your PostgreSQL Database. Methods | Improve this Doc View Source BeginTransactionAsync(CancellationToken) Asynchronously begins a new transaction. Declaration public ValueTask<IDatabaseTransaction> BeginTransactionAsync(CancellationToken cancellationToken = null) Parameters Type Name Description CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description ValueTask < IDatabaseTransaction > A task that represents the asynchronous operation. The task result contains the newly created transaction. Remarks Be aware, that this method will not create a new transaction on every call. It will only create a new one, if the old one is disposed or not available. | Improve this Doc View Source BeginTransactionAsync(IsolationLevel, CancellationToken) Asynchronously begins a new transaction. Declaration public ValueTask<IDatabaseTransaction> BeginTransactionAsync(IsolationLevel isolationLevel, CancellationToken cancellationToken = null) Parameters Type Name Description IsolationLevel isolationLevel The isolation level under which the transaction should run. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation Returns Type Description ValueTask < IDatabaseTransaction > A task that represents the asynchronous operation. The task result contains the newly created transaction. Remarks Be aware, that this method will not create a new transaction on every call. It will only create a new one, if the old one is disposed or not available. | Improve this Doc View Source Configure(DatabaseConfigurationOptionsBuilder) Allows for further configuration of the Database . Declaration protected virtual void Configure(DatabaseConfigurationOptionsBuilder optionsBuilder) Parameters Type Name Description DatabaseConfigurationOptionsBuilder optionsBuilder A builder instance used to further configure the Database . | Improve this Doc View Source Custom<TEntity>() Allows for queries against an entity which isn't usually defined, this is usually an entity which hasn't got a table in your database. Declaration public TableBase<TEntity> Custom<TEntity>() where TEntity : class, new() Returns Type Description TableBase <TEntity> A TableBase<TEntity> instance from which queries can be executed. Type Parameters Name Description TEntity Remarks The TEntity should always be used with this Database instance, otherwise the model has to be generated multiple times. | Improve this Doc View Source Dispose() Releases the allocated resources for this context. Also closes the underlying connection, if open. Declaration public void Dispose() Remarks If you are in an asynchronous context you should consider using DisposeAsync() instead. | Improve this Doc View Source DisposeAsync() Releases the allocated resources for this context. Also closes the underlying connection, if open. Declaration public ValueTask DisposeAsync() Returns Type Description ValueTask A value task representing the asynchronous operation | Improve this Doc View Source ExecuteAsync(String, CancellationToken) Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Declaration public Task<int> ExecuteAsync(string sql, CancellationToken cancellationToken = null) Parameters Type Name Description String sql The SQL to execute. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description Task < Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. Remarks This method represents a call. | Improve this Doc View Source ExecuteAsync(String, IList<NpgsqlParameter>, CancellationToken) Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Declaration public Task<int> ExecuteAsync(string sql, IList<NpgsqlParameter> parameters, CancellationToken cancellationToken = null) Parameters Type Name Description String sql The SQL to execute. IList < NpgsqlParameter > parameters The SQL Parameters which are being used for the current command. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description Task < Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. Remarks This method represents a call. | Improve this Doc View Source ExecuteAsync(String, NpgsqlParameter[]) Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Declaration public Task<int> ExecuteAsync(string sql, params NpgsqlParameter[] parameters) Parameters Type Name Description String sql The SQL to execute. NpgsqlParameter [] parameters The SQL Parameters which are being used for the current command. Returns Type Description Task < Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. Remarks This method represents a call. | Improve this Doc View Source ExecuteAsync<T>(String, CancellationToken) Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Declaration public Task<T> ExecuteAsync<T>(string sql, CancellationToken cancellationToken = null) where T : struct Parameters Type Name Description String sql The SQL to execute. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description Task <T> A task representing the asynchronous operation, with the value of the scalar command. Type Parameters Name Description T The type of the scalar result. Remarks This method represents a call. | Improve this Doc View Source ExecuteAsync<T>(String, IList<NpgsqlParameter>, CancellationToken) Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Declaration public Task<T> ExecuteAsync<T>(string sql, IList<NpgsqlParameter> parameters, CancellationToken cancellationToken = null) where T : struct Parameters Type Name Description String sql The SQL to execute. IList < NpgsqlParameter > parameters The SQL Parameters which are being used for the current command. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description Task <T> A task representing the asynchronous operation, with the value of the scalar command. Type Parameters Name Description T The type of the scalar result. Remarks This method represents a call. | Improve this Doc View Source ExecuteAsync<T>(String, NpgsqlParameter[]) Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Declaration public Task<T> ExecuteAsync<T>(string sql, params NpgsqlParameter[] parameters) where T : struct Parameters Type Name Description String sql The SQL to execute. NpgsqlParameter [] parameters The SQL Parameters which are being used for the current command. Returns Type Description Task <T> A task representing the asynchronous operation, with the value of the scalar command. Type Parameters Name Description T The type of the scalar result. Remarks This method represents a call. | Improve this Doc View Source ExecuteInterpolatedAsync(FormattableString, CancellationToken) Asynchronously executes a command against the current Database. This method does automatically parameterize queries from an interpolated string. Declaration public Task<int> ExecuteInterpolatedAsync(FormattableString sql, CancellationToken cancellationToken = null) Parameters Type Name Description FormattableString sql The interpolated SQL to execute. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description Task < Int32 > A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise. Remarks This method represents a call. | Improve this Doc View Source ExecuteInterpolatedAsync<T>(FormattableString, CancellationToken) Asynchronously executes a command against the current Database. This method does automatically parameterize queries from an interpolated string. Declaration public Task<T> ExecuteInterpolatedAsync<T>(FormattableString sql, CancellationToken cancellationToken = null) where T : struct Parameters Type Name Description FormattableString sql The interpolated SQL to execute. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description Task <T> A task representing the asynchronous operation, with the value of the scalar command. Type Parameters Name Description T The type of the scalar result. Remarks This method represents a call. | Improve this Doc View Source GetConnection() Gets or creates a new connections, if none got created yet. Declaration public NpgsqlConnection GetConnection() Returns Type Description NpgsqlConnection the . Implements IDisposable\"\n  },\n  \"api/Venflow.DatabaseConfigurationOptionsBuilder.html\": {\n    \"href\": \"api/Venflow.DatabaseConfigurationOptionsBuilder.html\",\n    \"title\": \"Class DatabaseConfigurationOptionsBuilder | Venflow Documentation\",\n    \"keywords\": \"Class DatabaseConfigurationOptionsBuilder Provides an option builder to further statically configure a Database instance. Inheritance Object DatabaseConfigurationOptionsBuilder Namespace : Venflow Assembly : Venflow.dll Syntax public class DatabaseConfigurationOptionsBuilder : object Methods | Improve this Doc View Source RegisterPostgresEnum<TEnum>(Nullable<String>, Nullable<INpgsqlNameTranslator>) Maps a PostgreSQL enum to a CLR enum. Declaration public DatabaseConfigurationOptionsBuilder RegisterPostgresEnum<TEnum>(string? name = null, INpgsqlNameTranslator? npgsqlNameTranslator = null) where TEnum : struct, Enum Parameters Type Name Description Nullable < String > name The name of the enum in PostgreSQL, if none used it will try to convert the name of the CLR enum e.g. 'FooBar' to 'foo_bar' Nullable < INpgsqlNameTranslator > npgsqlNameTranslator A component which will be used to translate CLR names (e.g. SomeClass) into database names (e.g. some_class). Defaults to . Returns Type Description DatabaseConfigurationOptionsBuilder The same builder instance so that multiple calls can be chained. Type Parameters Name Description TEnum The type of the enum. | Improve this Doc View Source SetNamingConvention(INpgsqlNameTranslator) Sets the default naming convention to be used for entity table and column names. Declaration public DatabaseConfigurationOptionsBuilder SetNamingConvention(INpgsqlNameTranslator npgsqlNameTranslator) Parameters Type Name Description INpgsqlNameTranslator npgsqlNameTranslator An implementation of to be used as the default for name translation. Returns Type Description DatabaseConfigurationOptionsBuilder The same builder instance so that multiple calls can be chained. | Improve this Doc View Source SetNamingConvention<T>() Sets the default naming convention to be used for entity table and column names. Declaration public DatabaseConfigurationOptionsBuilder SetNamingConvention<T>() where T : INpgsqlNameTranslator, new() Returns Type Description DatabaseConfigurationOptionsBuilder The same builder instance so that multiple calls can be chained. Type Parameters Name Description T An implementation of to be used as the default for name translation. | Improve this Doc View Source UseConfigurations(Assembly) Adds the assembly to the EntityConfiguration<TEntity> lookup list. Declaration public DatabaseConfigurationOptionsBuilder UseConfigurations(Assembly assembly) Parameters Type Name Description Assembly assembly The assembly which should be added to the lookup list. Returns Type Description DatabaseConfigurationOptionsBuilder An object that can be used to configure the current Database instance. Remarks If you add a custom configuration location, the assembly of the database type will not be automatically included. | Improve this Doc View Source UseConfigurations(Assembly[]) Adds the assemblies to the EntityConfiguration<TEntity> lookup list. Declaration public DatabaseConfigurationOptionsBuilder UseConfigurations(params Assembly[] assemblies) Parameters Type Name Description Assembly [] assemblies The assemblies which should be added to the lookup list. Returns Type Description DatabaseConfigurationOptionsBuilder An object that can be used to configure the current Database instance. Remarks If you add a custom configuration location, the assembly of the database type will not be automatically included. | Improve this Doc View Source UseConfigurations<T>() Adds the assembly of the type T to the EntityConfiguration<TEntity> lookup list. Declaration public DatabaseConfigurationOptionsBuilder UseConfigurations<T>() Returns Type Description DatabaseConfigurationOptionsBuilder An object that can be used to configure the current Database instance. Type Parameters Name Description T The type of which the assembly should be added to the lookup list. Remarks If you add a custom configuration location, the assembly of the database type will not be automatically included.\"\n  },\n  \"api/Venflow.DatabaseOptionsBuilder-1.html\": {\n    \"href\": \"api/Venflow.DatabaseOptionsBuilder-1.html\",\n    \"title\": \"Class DatabaseOptionsBuilder<TDatabase> | Venflow Documentation\",\n    \"keywords\": \"Class DatabaseOptionsBuilder<TDatabase> Provides an option builder to further dynamically configure a Database instance. Inheritance Object DatabaseOptionsBuilder DatabaseOptionsBuilder<TDatabase> Inherited Members DatabaseOptionsBuilder.DefaultLoggingBehavior DatabaseOptionsBuilder.ConnectionString Namespace : Venflow Assembly : Venflow.dll Syntax public class DatabaseOptionsBuilder<TDatabase> : DatabaseOptionsBuilder where TDatabase : Database Type Parameters Name Description TDatabase Methods | Improve this Doc View Source LogTo(Action<String>, Boolean) Adds a logger, which allows for logging of executed commands. Declaration public DatabaseOptionsBuilder<TDatabase> LogTo(Action<string> loggerCallback, bool logSensitveData = false) Parameters Type Name Description Action < String > loggerCallback A callback which is being used to log commands. Boolean logSensitveData Determines whether or not to log parameterized commands. Returns Type Description DatabaseOptionsBuilder <TDatabase> An object that can be used to configure the current Database instance. Remarks Also consider configuring the DatabaseOptionsBuilder.DefaultLoggingBehavior property. Be aware that this method should be used in cases which require quick logging. This API wraps the loggerCallback again and calls LogTo(LoggerCallback) . | Improve this Doc View Source LogTo(LoggerCallback) Adds a logger, which allows for logging of executed commands. Declaration public DatabaseOptionsBuilder<TDatabase> LogTo(LoggerCallback loggerCallback) Parameters Type Name Description LoggerCallback loggerCallback A callback which is being used to log commands. Returns Type Description DatabaseOptionsBuilder <TDatabase> An object that can be used to configure the current Database instance. Remarks Also consider configuring the DatabaseOptionsBuilder.DefaultLoggingBehavior property.\"\n  },\n  \"api/Venflow.Enums.CommandType.html\": {\n    \"href\": \"api/Venflow.Enums.CommandType.html\",\n    \"title\": \"Enum CommandType | Venflow Documentation\",\n    \"keywords\": \"Enum CommandType Specifies the type of command that produced a log. Namespace : Venflow.Enums Assembly : Venflow.dll Syntax public enum CommandType : short Fields Name Description Delete All delete commands. DeleteBatch A delete command deleting a batch of entities. DeleteSingle A delete command deleting a single entity. Insert All insert commands. InsertBatch An insert command inserting a batch of entities. InsertSingle An insert command inserting a single entity. Query All query commands. QueryBatch A query command returning a batch of entities. QuerySingle A query command returning a single entity. Update All update commands. UpdateBatch A update command updating a batch of entities. UpdateSingle A update command updating a single entity.\"\n  },\n  \"api/Venflow.Enums.ForeignTruncateOptions.html\": {\n    \"href\": \"api/Venflow.Enums.ForeignTruncateOptions.html\",\n    \"title\": \"Enum ForeignTruncateOptions | Venflow Documentation\",\n    \"keywords\": \"Enum ForeignTruncateOptions Represents the truncate option for foreign keys. Namespace : Venflow.Enums Assembly : Venflow.dll Syntax public enum ForeignTruncateOptions : byte Fields Name Description Cascade Automatically truncate all tables that have foreign-key references to any of the named tables, or to any tables added to the group due to CASCADE. None Does nothing. Restrict Refuse to truncate if any of the tables have foreign-key references from tables that are not listed in the command. This is the default.\"\n  },\n  \"api/Venflow.Enums.html\": {\n    \"href\": \"api/Venflow.Enums.html\",\n    \"title\": \"Namespace Venflow.Enums | Venflow Documentation\",\n    \"keywords\": \"Namespace Venflow.Enums Enums CommandType Specifies the type of command that produced a log. ForeignTruncateOptions Represents the truncate option for foreign keys. IdentityTruncateOptions Represents the identity truncate option for foreign keys. JoinBehaviour Specifies the behavior for a specific join between two tables. LoggingBehavior Specifies the logging behavior for Venflow commands.\"\n  },\n  \"api/Venflow.Enums.IdentityTruncateOptions.html\": {\n    \"href\": \"api/Venflow.Enums.IdentityTruncateOptions.html\",\n    \"title\": \"Enum IdentityTruncateOptions | Venflow Documentation\",\n    \"keywords\": \"Enum IdentityTruncateOptions Represents the identity truncate option for foreign keys. Namespace : Venflow.Enums Assembly : Venflow.dll Syntax public enum IdentityTruncateOptions : byte Fields Name Description Continue Do not change the values of sequences. This is the default. None Does nothing. Restart Automatically restart sequences owned by columns of the truncated table(s).\"\n  },\n  \"api/Venflow.Enums.JoinBehaviour.html\": {\n    \"href\": \"api/Venflow.Enums.JoinBehaviour.html\",\n    \"title\": \"Enum JoinBehaviour | Venflow Documentation\",\n    \"keywords\": \"Enum JoinBehaviour Specifies the behavior for a specific join between two tables. Namespace : Venflow.Enums Assembly : Venflow.dll Syntax public enum JoinBehaviour : byte Fields Name Description FullJoin Returns all records when there is a match in either left or right table InnerJoin Returns records that have matching values in both tables LeftJoin Returns all records from the left table, and the matched records from the right table RightJoin Returns all records from the right table, and the matched records from the left table\"\n  },\n  \"api/Venflow.Enums.LoggingBehavior.html\": {\n    \"href\": \"api/Venflow.Enums.LoggingBehavior.html\",\n    \"title\": \"Enum LoggingBehavior | Venflow Documentation\",\n    \"keywords\": \"Enum LoggingBehavior Specifies the logging behavior for Venflow commands. Namespace : Venflow.Enums Assembly : Venflow.dll Syntax public enum LoggingBehavior : byte Fields Name Description Always Logs all commands. Never Never logs commands.\"\n  },\n  \"api/Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.html\": {\n    \"href\": \"api/Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.html\",\n    \"title\": \"Class DatabaseOptionsBuilderExtensions | Venflow Documentation\",\n    \"keywords\": \"Class DatabaseOptionsBuilderExtensions Providing extensions method for the DatabaseOptionsBuilder<TDatabase> class. Inheritance Object DatabaseOptionsBuilderExtensions Namespace : Venflow.Extensions.Logging Assembly : Venflow.Extensions.Logging.dll Syntax public static class DatabaseOptionsBuilderExtensions : object Methods | Improve this Doc View Source UseLoggerFactory<TDatabase>(DatabaseOptionsBuilder<TDatabase>, ILoggerFactory, Boolean) Adds a , which allows for logging of executed commands. Declaration public static DatabaseOptionsBuilder UseLoggerFactory<TDatabase>(this DatabaseOptionsBuilder<TDatabase> options, ILoggerFactory loggerFactory, bool formatSensitiveInformation = false) where TDatabase : Database Parameters Type Name Description DatabaseOptionsBuilder <TDatabase> options The options to which the should be registered. ILoggerFactory loggerFactory The which should be registered Boolean formatSensitiveInformation Determines whether or not the formatter should include the parameters values. Returns Type Description DatabaseOptionsBuilder An object that can be used to configure the current Database instance. Type Parameters Name Description TDatabase Remarks Also consider configuring the DatabaseOptionsBuilder.DefaultLoggingBehavior property.\"\n  },\n  \"api/Venflow.Extensions.Logging.html\": {\n    \"href\": \"api/Venflow.Extensions.Logging.html\",\n    \"title\": \"Namespace Venflow.Extensions.Logging | Venflow Documentation\",\n    \"keywords\": \"Namespace Venflow.Extensions.Logging Classes DatabaseOptionsBuilderExtensions Providing extensions method for the DatabaseOptionsBuilder<TDatabase> class.\"\n  },\n  \"api/Venflow.FormattableSqlStringBuilder.html\": {\n    \"href\": \"api/Venflow.FormattableSqlStringBuilder.html\",\n    \"title\": \"Class FormattableSqlStringBuilder | Venflow Documentation\",\n    \"keywords\": \"Class FormattableSqlStringBuilder Allows for a safe string interpolated SQL concatenation. Inheritance Object FormattableSqlStringBuilder Namespace : Venflow Assembly : Venflow.dll Syntax public class FormattableSqlStringBuilder : object Constructors | Improve this Doc View Source FormattableSqlStringBuilder() Initializes a new instance of the FormattableSqlStringBuilder class. Declaration public FormattableSqlStringBuilder() Methods | Improve this Doc View Source Append(String) Appends a copy of the specified SQL to this instance. Declaration public void Append(string sql) Parameters Type Name Description String sql The SQL to append. Remarks This method IS NOT string interpolation safe , if you want to use string interpolated SQL use the AppendInterpolated(FormattableString) method. | Improve this Doc View Source AppendInterpolated(FormattableString) Appends a copy of the specified SQL to this instance. Declaration public void AppendInterpolated(FormattableString sql) Parameters Type Name Description FormattableString sql The SQL to append. Remarks This method is string interpolation safe. | Improve this Doc View Source AppendInterpolatedLine(FormattableString) Appends a copy of the specified SQL followed by the default line terminator to the end of the current FormattableSqlStringBuilder object. Declaration public void AppendInterpolatedLine(FormattableString sql) Parameters Type Name Description FormattableString sql The SQL to append. Remarks This method is string interpolation safe. | Improve this Doc View Source AppendLine(String) Appends a copy of the specified SQL followed by the default line terminator to the end of the current FormattableSqlStringBuilder object. Declaration public void AppendLine(string sql) Parameters Type Name Description String sql The SQL to append. Remarks This method IS NOT string interpolation safe , if you want to use string interpolated SQL use the AppendInterpolatedLine(FormattableString) method.\"\n  },\n  \"api/Venflow.html\": {\n    \"href\": \"api/Venflow.html\",\n    \"title\": \"Namespace Venflow | Venflow Documentation\",\n    \"keywords\": \"Namespace Venflow Classes Database A Database instance represents a session with the database and can be used to perform CRUD operations with your tables and entities. DatabaseConfigurationOptionsBuilder Provides an option builder to further statically configure a Database instance. DatabaseOptionsBuilder<TDatabase> Provides an option builder to further dynamically configure a Database instance. FormattableSqlStringBuilder Allows for a safe string interpolated SQL concatenation. InvalidEntityRelationException Represents errors that occur during the relation entity generation. KeyConverter Provides a way of converting Key<TEntity, TKey> to strings and vice versa. NpgsqlCommandExtensions Provides a set of useful extension methods for the class. NpgsqlQuotedNameTranslator A name translator which preserves CLR names (e.g. SomeClass) when mapping names to the database. ParameterTypeHandler A class which contains methods to configure the used type handlers while parsing Interpolated arguments. Table<TEntity> A Table<TEntity> is used to perform CRUD operations against the table represented by TEntity . TableBase<TEntity> A TableBase<TEntity> is used to perform query operations of all sorts. TypeArgumentException Represents an error which occur when an invalid type argument gets passed to a generic method. VenflowConfiguration Contains methods to globally set the configuration of Venflow. VenflowDbType Structs Key<TEntity, TKey> This is used to create strongly-typed ids. Interfaces IDatabaseTransaction Represents a transaction to be made with a database. IKey Do not use this interface, if you are not absolutely sure what it does. IKey<TEntity, TKey> This interface should be implemented by structs , to create strongly-typed ids. IParameterTypeHandler A parameter type handler which can be used with the method. Delegates LoggerCallback Represent a method that will handle all Logs produced by a Database instance.\"\n  },\n  \"api/Venflow.IDatabaseTransaction.html\": {\n    \"href\": \"api/Venflow.IDatabaseTransaction.html\",\n    \"title\": \"Interface IDatabaseTransaction | Venflow Documentation\",\n    \"keywords\": \"Interface IDatabaseTransaction Represents a transaction to be made with a database. Namespace : Venflow Assembly : Venflow.dll Syntax public interface IDatabaseTransaction : IAsyncDisposable, IDisposable Methods | Improve this Doc View Source Commit() Commits the database transaction. Declaration void Commit() | Improve this Doc View Source CommitAsync(CancellationToken) Commits the database transaction. Declaration Task CommitAsync(CancellationToken cancellationToken = null) Parameters Type Name Description CancellationToken cancellationToken An optional token to cancel the asynchronous operation. Returns Type Description Task | Improve this Doc View Source GetNpgsqlTransaction() Will return the underlying . Declaration NpgsqlTransaction GetNpgsqlTransaction() Returns Type Description NpgsqlTransaction The underlying Remarks Please do note, that if you call any of the Dispose methods on the instead of the IDatabaseTransaction ones, Venflow will never know about it being disposed. Therefore, always call one of the Dispose methods on the IDatabaseTransaction itself. | Improve this Doc View Source Release(String) Releases a transaction from a pending savepoint state. Declaration void Release(string name) Parameters Type Name Description String name The name of the savepoint. | Improve this Doc View Source ReleaseAsync(String, CancellationToken) Releases a transaction from a pending savepoint state. Declaration Task ReleaseAsync(string name, CancellationToken cancellationToken = null) Parameters Type Name Description String name The name of the savepoint. CancellationToken cancellationToken An optional token to cancel the asynchronous operation. Returns Type Description Task | Improve this Doc View Source Rollback() Rolls back a transaction from a pending state. Declaration void Rollback() | Improve this Doc View Source Rollback(String) Rolls back a transaction from a pending savepoint state. Declaration void Rollback(string name) Parameters Type Name Description String name The name of the savepoint. | Improve this Doc View Source RollbackAsync(CancellationToken) Rolls back a transaction from a pending state. Declaration Task RollbackAsync(CancellationToken cancellationToken = null) Parameters Type Name Description CancellationToken cancellationToken An optional token to cancel the asynchronous operation. Returns Type Description Task | Improve this Doc View Source RollbackAsync(String, CancellationToken) Rolls back a transaction from a pending savepoint state. Declaration Task RollbackAsync(string name, CancellationToken cancellationToken = null) Parameters Type Name Description String name The name of the savepoint. CancellationToken cancellationToken An optional token to cancel the asynchronous operation. Returns Type Description Task | Improve this Doc View Source Save(String) Creates a transaction save point. Declaration void Save(string name) Parameters Type Name Description String name The name of the savepoint. Remarks This method does not cause a database roundtrip to be made. The savepoint creation statement will instead be sent along with the next command. | Improve this Doc View Source SaveAsync(String, CancellationToken) Creates a transaction save point. Declaration Task SaveAsync(string name, CancellationToken cancellationToken = null) Parameters Type Name Description String name The name of the savepoint. CancellationToken cancellationToken An optional token to cancel the asynchronous operation. Returns Type Description Task Remarks This method does not cause a database roundtrip to be made, and will therefore always complete synchronously. The savepoint creation statement will instead be sent along with the next command.\"\n  },\n  \"api/Venflow.IKey.html\": {\n    \"href\": \"api/Venflow.IKey.html\",\n    \"title\": \"Interface IKey | Venflow Documentation\",\n    \"keywords\": \"Interface IKey Do not use this interface, if you are not absolutely sure what it does. Namespace : Venflow Assembly : Venflow.Keys.dll Syntax public interface IKey Properties | Improve this Doc View Source BoxedValue The boxed representation of the value this instance is representing. Declaration object? BoxedValue { get; } Property Value Type Description Nullable < Object >\"\n  },\n  \"api/Venflow.IKey-2.html\": {\n    \"href\": \"api/Venflow.IKey-2.html\",\n    \"title\": \"Interface IKey<TEntity, TKey> | Venflow Documentation\",\n    \"keywords\": \"Interface IKey<TEntity, TKey> This interface should be implemented by structs , to create strongly-typed ids. Inherited Members IKey.BoxedValue Namespace : Venflow Assembly : Venflow.Keys.dll Syntax public interface IKey<TEntity, TKey> : IKey Type Parameters Name Description TEntity They type of entity the key sits in. TKey The type of the key. Remarks See Key<TEntity, TKey> for a possible implementation. Properties | Improve this Doc View Source Value The underlying value representing the Key<TEntity, TKey> . Declaration TKey Value { get; } Property Value Type Description TKey\"\n  },\n  \"api/Venflow.InvalidEntityRelationException.html\": {\n    \"href\": \"api/Venflow.InvalidEntityRelationException.html\",\n    \"title\": \"Class InvalidEntityRelationException | Venflow Documentation\",\n    \"keywords\": \"Class InvalidEntityRelationException Represents errors that occur during the relation entity generation. Inheritance Object InvalidEntityRelationException Namespace : Venflow Assembly : Venflow.dll Syntax public class InvalidEntityRelationException : Exception Constructors | Improve this Doc View Source InvalidEntityRelationException() Initializes a new instance of the InvalidEntityRelationException class. Declaration public InvalidEntityRelationException() | Improve this Doc View Source InvalidEntityRelationException(Serialization.SerializationInfo, Serialization.StreamingContext) Initializes a new instance of the InvalidEntityRelationException class. Declaration protected InvalidEntityRelationException(Serialization.SerializationInfo info, Serialization.StreamingContext context) Parameters Type Name Description Serialization.SerializationInfo info The that holds the serialized object data about the exception being thrown. Serialization.StreamingContext context The that contains contextual information about the source or destination. | Improve this Doc View Source InvalidEntityRelationException(String) Initializes a new instance of the InvalidEntityRelationException class. Declaration public InvalidEntityRelationException(string message) Parameters Type Name Description String message The message that describes the error. | Improve this Doc View Source InvalidEntityRelationException(String, Exception) Initializes a new instance of the InvalidEntityRelationException class. Declaration public InvalidEntityRelationException(string message, Exception inner) Parameters Type Name Description String message The message that describes the error. Exception inner The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.\"\n  },\n  \"api/Venflow.IParameterTypeHandler.html\": {\n    \"href\": \"api/Venflow.IParameterTypeHandler.html\",\n    \"title\": \"Interface IParameterTypeHandler | Venflow Documentation\",\n    \"keywords\": \"Interface IParameterTypeHandler A parameter type handler which can be used with the method. Namespace : Venflow Assembly : Venflow.dll Syntax public interface IParameterTypeHandler Methods | Improve this Doc View Source Handle(String, Object) Is used to convert the given value and name to an . Declaration NpgsqlParameter Handle(string name, object val) Parameters Type Name Description String name The name of the parameter. Object val The value of the parameter. Returns Type Description NpgsqlParameter The containing the name and the value.\"\n  },\n  \"api/Venflow.Json.html\": {\n    \"href\": \"api/Venflow.Json.html\",\n    \"title\": \"Namespace Venflow.Json | Venflow Documentation\",\n    \"keywords\": \"Namespace Venflow.Json Classes JsonKeyConverterFactory A to parse IKey<TEntity, TKey> instances.\"\n  },\n  \"api/Venflow.Json.JsonKeyConverterFactory.html\": {\n    \"href\": \"api/Venflow.Json.JsonKeyConverterFactory.html\",\n    \"title\": \"Class JsonKeyConverterFactory | Venflow Documentation\",\n    \"keywords\": \"Class JsonKeyConverterFactory A to parse IKey<TEntity, TKey> instances. Inheritance Object JsonKeyConverterFactory Namespace : Venflow.Json Assembly : Venflow.Keys.dll Syntax public class JsonKeyConverterFactory : JsonConverterFactory Methods | Improve this Doc View Source CanConvert(Type) Declaration public override bool CanConvert(Type typeToConvert) Parameters Type Name Description Type typeToConvert Returns Type Description Boolean | Improve this Doc View Source CreateConverter(Type, JsonSerializerOptions) Declaration public override JsonConverter CreateConverter(Type typeToConvert, JsonSerializerOptions options) Parameters Type Name Description Type typeToConvert JsonSerializerOptions options Returns Type Description JsonConverter\"\n  },\n  \"api/Venflow.Key-2.html\": {\n    \"href\": \"api/Venflow.Key-2.html\",\n    \"title\": \"Struct Key<TEntity, TKey> | Venflow Documentation\",\n    \"keywords\": \"Struct Key<TEntity, TKey> This is used to create strongly-typed ids. Implements IKey <TEntity, TKey> IKey IEquatable < Key <TEntity, TKey>> Namespace : Venflow Assembly : Venflow.Keys.dll Syntax public struct Key<TEntity, TKey> : IKey<TEntity, TKey>, IKey, IEquatable<Key<TEntity, TKey>> where TKey : struct, IEquatable<TKey> Type Parameters Name Description TEntity They type of entity the key sits in. TKey The type of the key. Remarks You can also create more specific implementations of this type, by creating a struct implementing IKey<TEntity, TKey> . Constructors | Improve this Doc View Source Key(TKey) Instantiates a new Key<TEntity, TKey> instance withe the provided value. Declaration public Key(TKey value) Parameters Type Name Description TKey value The value which should represent the new Key<TEntity, TKey> instance. Methods | Improve this Doc View Source Equals(Nullable<Object>) Declaration public override bool Equals(object? obj) Parameters Type Name Description Nullable < Object > obj Returns Type Description Boolean | Improve this Doc View Source Equals(Key<TEntity, TKey>) Declaration public bool Equals(Key<TEntity, TKey> other) Parameters Type Name Description Key <TEntity, TKey> other Returns Type Description Boolean | Improve this Doc View Source GetHashCode() Declaration public override int GetHashCode() Returns Type Description Int32 | Improve this Doc View Source ToString() Declaration public override string? ToString() Returns Type Description Nullable < String > Operators | Improve this Doc View Source Equality(Key<TEntity, TKey>, Key<TEntity, TKey>) Declaration public static bool operator ==(in Key<TEntity, TKey> a, in Key<TEntity, TKey> b) Parameters Type Name Description Key <TEntity, TKey> a Key <TEntity, TKey> b Returns Type Description Boolean | Improve this Doc View Source Implicit(TKey to Key<TEntity, TKey>) Declaration public static implicit operator Key<TEntity, TKey>(in TKey value) Parameters Type Name Description TKey value Returns Type Description Key <TEntity, TKey> | Improve this Doc View Source Implicit(Key<TEntity, TKey> to TKey) Declaration public static implicit operator TKey(in Key<TEntity, TKey> key) Parameters Type Name Description Key <TEntity, TKey> key Returns Type Description TKey | Improve this Doc View Source Inequality(Key<TEntity, TKey>, Key<TEntity, TKey>) Declaration public static bool operator !=(in Key<TEntity, TKey> a, in Key<TEntity, TKey> b) Parameters Type Name Description Key <TEntity, TKey> a Key <TEntity, TKey> b Returns Type Description Boolean Explicit Interface Implementations | Improve this Doc View Source IKey.BoxedValue Declaration object? IKey.BoxedValue { get; } Returns Type Description Nullable < Object > | Improve this Doc View Source IKey<TEntity, TKey>.Value Declaration TKey IKey<TEntity, TKey>.Value { get; } Returns Type Description TKey Implements IKey<TEntity, TKey> IKey IEquatable<>\"\n  },\n  \"api/Venflow.KeyConverter.html\": {\n    \"href\": \"api/Venflow.KeyConverter.html\",\n    \"title\": \"Class KeyConverter | Venflow Documentation\",\n    \"keywords\": \"Class KeyConverter Provides a way of converting Key<TEntity, TKey> to strings and vice versa. Inheritance Object KeyConverter Namespace : Venflow Assembly : Venflow.Keys.dll Syntax public class KeyConverter : TypeConverter Constructors | Improve this Doc View Source KeyConverter(Type) Creates a new instance of a KeyConverter with the given key type. Declaration public KeyConverter(Type keyType) Parameters Type Name Description Type keyType The type of the key to which the KeyConverter should bind to. Methods | Improve this Doc View Source CanConvertFrom(Nullable<ITypeDescriptorContext>, Type) Declaration public override bool CanConvertFrom(ITypeDescriptorContext? context, Type sourceType) Parameters Type Name Description Nullable < ITypeDescriptorContext > context Type sourceType Returns Type Description Boolean | Improve this Doc View Source CanConvertTo(Nullable<ITypeDescriptorContext>, Nullable<Type>) Declaration public override bool CanConvertTo(ITypeDescriptorContext? context, Type? destinationType) Parameters Type Name Description Nullable < ITypeDescriptorContext > context Nullable < Type > destinationType Returns Type Description Boolean | Improve this Doc View Source ConvertFrom(Nullable<ITypeDescriptorContext>, Nullable<CultureInfo>, Object) Declaration public override object? ConvertFrom(ITypeDescriptorContext? context, CultureInfo? culture, object value) Parameters Type Name Description Nullable < ITypeDescriptorContext > context Nullable < CultureInfo > culture Object value Returns Type Description Nullable < Object > | Improve this Doc View Source ConvertTo(Nullable<ITypeDescriptorContext>, Nullable<CultureInfo>, Nullable<Object>, Type) Declaration public override object? ConvertTo(ITypeDescriptorContext? context, CultureInfo? culture, object? value, Type destinationType) Parameters Type Name Description Nullable < ITypeDescriptorContext > context Nullable < CultureInfo > culture Nullable < Object > value Type destinationType Returns Type Description Nullable < Object > | Improve this Doc View Source GetOrCreateKeyFactory<TValue>(Type) Gets or creates a key factory for the given type. Declaration public static Func<TValue, object> GetOrCreateKeyFactory<TValue>(Type keyType) Parameters Type Name Description Type keyType Returns Type Description Func <TValue, Object > Type Parameters Name Description TValue | Improve this Doc View Source GetOrCreateKeyFactory<TKeyType, TValue>(Type) Gets or creates a key factory for the given type. Declaration public static Func<TValue, TKeyType> GetOrCreateKeyFactory<TKeyType, TValue>(Type keyType) where TKeyType : struct, IKey Parameters Type Name Description Type keyType Returns Type Description Func <TValue, TKeyType> Type Parameters Name Description TKeyType TValue\"\n  },\n  \"api/Venflow.LoggerCallback.html\": {\n    \"href\": \"api/Venflow.LoggerCallback.html\",\n    \"title\": \"Delegate LoggerCallback | Venflow Documentation\",\n    \"keywords\": \"Delegate LoggerCallback Represent a method that will handle all Logs produced by a Database instance. Namespace : Venflow Assembly : Venflow.dll Syntax public delegate void LoggerCallback(NpgsqlCommand command, CommandType commandType, Exception? exception); Parameters Type Name Description NpgsqlCommand command The command which produced the log. CommandType commandType The command type which produced the log. Nullable < Exception > exception The exception occurred while trying to execute the command, if any occurred.\"\n  },\n  \"api/Venflow.Modeling.Definitions.Builder.html\": {\n    \"href\": \"api/Venflow.Modeling.Definitions.Builder.html\",\n    \"title\": \"Namespace Venflow.Modeling.Definitions.Builder | Venflow Documentation\",\n    \"keywords\": \"Namespace Venflow.Modeling.Definitions.Builder Interfaces IEntityBuilder<TEntity> Instances of this class are returned from methods inside the EntityConfiguration<TEntity> class when using the Fluent API and it is not designed to be directly constructed in your application code. IForeignKeyRelationBuilder<TEntity, TRelation> This interface hosts relation methods for the foreign key configurations. ILeftRelationBuilder<TEntity> This interface hosts relation methods for the left side of a relation. IMultiRightRelationBuilder<TEntity, TRelation> Instances of this class are returned from methods inside the Table<TEntity> class when using the Fluid API and it is not designed to be directly constructed in your application code. INotRequiredMultiRightRelationBuilder<TEntity, TRelation> This interface hosts relation methods for the right side of a relation. INotRequiredSingleRightRelationBuilder<TEntity, TRelation> This interface hosts relation methods for the right side of a relation. IPropertyBuilder Instances of this class are returned from methods inside the Venflow.Modeling.Definitions.Builder.EntityBuilder`1 class when using the Fluent API and it is not designed to be directly constructed in your application code. IRequiredMultiRightRelationBuilder<TEntity, TRelation> This interface hosts relation methods for the right side of a relation. IRequiredSingleRightRelationBuilder<TEntity, TRelation> This interface hosts relation methods for the right side of a relation.\"\n  },\n  \"api/Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html\": {\n    \"href\": \"api/Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html\",\n    \"title\": \"Interface IEntityBuilder<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Interface IEntityBuilder<TEntity> Instances of this class are returned from methods inside the EntityConfiguration<TEntity> class when using the Fluent API and it is not designed to be directly constructed in your application code. Inherited Members ILeftRelationBuilder<TEntity>.HasOne<TRelation>(Expression<Func<TEntity, TRelation>>) ILeftRelationBuilder<TEntity>.HasOne<TRelation>() ILeftRelationBuilder<TEntity>.HasMany<TRelation>(Expression<Func<TEntity, IList<TRelation>>>) ILeftRelationBuilder<TEntity>.HasMany<TRelation>() Namespace : Venflow.Modeling.Definitions.Builder Assembly : Venflow.dll Syntax public interface IEntityBuilder<TEntity> : ILeftRelationBuilder<TEntity> where TEntity : class, new() Type Parameters Name Description TEntity The entity type being configured. Methods | Improve this Doc View Source Column<TTarget>(Expression<Func<TEntity, TTarget>>) Configures a column on the current entity. Declaration IPropertyBuilder Column<TTarget>(Expression<Func<TEntity, TTarget>> propertySelector) Parameters Type Name Description Expression < Func <TEntity, TTarget>> propertySelector A lambda expression representing the property on this entity type. Returns Type Description IPropertyBuilder A new column builder instance so that multiple calls can be chained. Type Parameters Name Description TTarget | Improve this Doc View Source Ignore<TTarget>(Expression<Func<TEntity, TTarget>>) Ignores a property for this entity type. This is the Fluent API equivalent to the . Declaration IEntityBuilder<TEntity> Ignore<TTarget>(Expression<Func<TEntity, TTarget>> propertySelector) Parameters Type Name Description Expression < Func <TEntity, TTarget>> propertySelector A lambda expression representing the property on this entity type. Returns Type Description IEntityBuilder <TEntity> The same builder instance so that multiple calls can be chained. Type Parameters Name Description TTarget The type of the property. | Improve this Doc View Source MapColumn<TTarget>(Expression<Func<TEntity, TTarget>>, String) Configures the column that the property maps to, if not configured it will use the name of the property inside the entity. Declaration IEntityBuilder<TEntity> MapColumn<TTarget>(Expression<Func<TEntity, TTarget>> propertySelector, string columnName) Parameters Type Name Description Expression < Func <TEntity, TTarget>> propertySelector A lambda expression representing the property on this entity type. String columnName The name of the column in the database to which the used property should map to. Returns Type Description IEntityBuilder <TEntity> The same builder instance so that multiple calls can be chained. Type Parameters Name Description TTarget The type of the property. | Improve this Doc View Source MapId<TTarget>(Expression<Func<TEntity, TTarget>>, DatabaseGeneratedOption) Sets the property that defines the primary key for this entity type. This is the Fluent API equivalent to the . Declaration IEntityBuilder<TEntity> MapId<TTarget>(Expression<Func<TEntity, TTarget>> propertySelector, DatabaseGeneratedOption option) Parameters Type Name Description Expression < Func <TEntity, TTarget>> propertySelector A lambda expression representing the primary key on this entity type. DatabaseGeneratedOption option The option which define how the primary key is generate. Returns Type Description IEntityBuilder <TEntity> The same builder instance so that multiple calls can be chained. Type Parameters Name Description TTarget The type of the primary key. | Improve this Doc View Source MapPostgresEnum<TTarget>(Expression<Func<TEntity, TTarget>>, Nullable<String>, Nullable<INpgsqlNameTranslator>) Maps a PostgreSQL enum to a CLR enum. Declaration IEntityBuilder<TEntity> MapPostgresEnum<TTarget>(Expression<Func<TEntity, TTarget>> propertySelector, string? name = null, INpgsqlNameTranslator? npgsqlNameTranslator = null) where TTarget : struct, Enum Parameters Type Name Description Expression < Func <TEntity, TTarget>> propertySelector A lambda expression representing the enum which should be mapped on this entity type. Nullable < String > name The name of the enum in PostgreSQL, if none used it will try to convert the name of the CLR enum e.g. 'FooBar' to 'foo_bar' Nullable < INpgsqlNameTranslator > npgsqlNameTranslator A component which will be used to translate CLR names (e.g. SomeClass) into database names (e.g. some_class). Defaults to . Returns Type Description IEntityBuilder <TEntity> The same builder instance so that multiple calls can be chained. Type Parameters Name Description TTarget The type of the enum. | Improve this Doc View Source MapPostgresEnum<TTarget>(Expression<Func<TEntity, Nullable<TTarget>>>, Nullable<String>, Nullable<INpgsqlNameTranslator>) Maps a PostgreSQL enum to a CLR enum. Declaration IEntityBuilder<TEntity> MapPostgresEnum<TTarget>(Expression<Func<TEntity, TTarget?>> propertySelector, string? name = null, INpgsqlNameTranslator? npgsqlNameTranslator = null) where TTarget : struct, Enum Parameters Type Name Description Expression < Func <TEntity, Nullable <TTarget>>> propertySelector A lambda expression representing the enum which should be mapped on this entity type. Nullable < String > name The name of the enum in PostgreSQL, if none used it will try to convert the name of the CLR enum e.g. 'FooBar' to 'foo_bar' Nullable < INpgsqlNameTranslator > npgsqlNameTranslator A component which will be used to translate CLR names (e.g. SomeClass) into database names (e.g. some_class). Defaults to . Returns Type Description IEntityBuilder <TEntity> The same builder instance so that multiple calls can be chained. Type Parameters Name Description TTarget The type of the enum. | Improve this Doc View Source MapToTable(String) Configures the table that the entity type maps to, if not configured it will use the name of the Table<TEntity> property inside the Database class. Declaration IEntityBuilder<TEntity> MapToTable(string tableName) Parameters Type Name Description String tableName The name of the table. Returns Type Description IEntityBuilder <TEntity> The same builder instance so that multiple calls can be chained. | Improve this Doc View Source SetNpgsqlNameTranslator(INpgsqlNameTranslator) Sets the instance to be used for entity table and column name translations. Declaration IEntityBuilder<TEntity> SetNpgsqlNameTranslator(INpgsqlNameTranslator npgsqlNameTranslator) Parameters Type Name Description INpgsqlNameTranslator npgsqlNameTranslator An implementation of to be used for entity name translations. Returns Type Description IEntityBuilder <TEntity> The same builder instance so that multiple calls can be chained. | Improve this Doc View Source SetNpgsqlNameTranslator<T>() Sets the instance to be used for entity table and column name translations. Declaration IEntityBuilder<TEntity> SetNpgsqlNameTranslator<T>() where T : INpgsqlNameTranslator, new() Returns Type Description IEntityBuilder <TEntity> The same builder instance so that multiple calls can be chained. Type Parameters Name Description T An implementation of to be used for entity name translations.\"\n  },\n  \"api/Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html\": {\n    \"href\": \"api/Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html\",\n    \"title\": \"Interface IForeignKeyRelationBuilder<TEntity, TRelation> | Venflow Documentation\",\n    \"keywords\": \"Interface IForeignKeyRelationBuilder<TEntity, TRelation> This interface hosts relation methods for the foreign key configurations. Namespace : Venflow.Modeling.Definitions.Builder Assembly : Venflow.dll Syntax public interface IForeignKeyRelationBuilder<TEntity, TRelation> where TEntity : class, new() where TRelation : class Type Parameters Name Description TEntity TRelation Methods | Improve this Doc View Source UsingForeignKey<TKey>(Expression<Func<TEntity, TKey>>) Configures the property to be used as the foreign key for this relationship. Declaration void UsingForeignKey<TKey>(Expression<Func<TEntity, TKey>> navigationProperty) Parameters Type Name Description Expression < Func <TEntity, TKey>> navigationProperty A lambda expression representing the foreign key property (post => post.BlogId). Type Parameters Name Description TKey The type of the foreign key. | Improve this Doc View Source UsingForeignKey<TKey>(Expression<Func<TRelation, TKey>>) Configures the property to be used as the foreign key for this relationship. Declaration void UsingForeignKey<TKey>(Expression<Func<TRelation, TKey>> navigationProperty) Parameters Type Name Description Expression < Func <TRelation, TKey>> navigationProperty A lambda expression representing the foreign key property (post => post.BlogId). Type Parameters Name Description TKey The type of the foreign key.\"\n  },\n  \"api/Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html\": {\n    \"href\": \"api/Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html\",\n    \"title\": \"Interface ILeftRelationBuilder<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Interface ILeftRelationBuilder<TEntity> This interface hosts relation methods for the left side of a relation. Namespace : Venflow.Modeling.Definitions.Builder Assembly : Venflow.dll Syntax public interface ILeftRelationBuilder<TEntity> where TEntity : class, new() Type Parameters Name Description TEntity The entity type being configured. Methods | Improve this Doc View Source HasMany<TRelation>() Configures a relationship where this entity type has a collection that contains instances of the other type in the relationship. Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified. After calling this method, you should chain a call to WithOne(Expression<Func<TRelation, TEntity>>) to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship. Declaration IRequiredSingleRightRelationBuilder<TEntity, TRelation> HasMany<TRelation>() where TRelation : class Returns Type Description IRequiredSingleRightRelationBuilder <TEntity, TRelation> An object that can be used to configure the relationship. Type Parameters Name Description TRelation The entity type that this relationship targets. | Improve this Doc View Source HasMany<TRelation>(Expression<Func<TEntity, IList<TRelation>>>) Configures a relationship where this entity type has a collection that contains instances of the other type in the relationship. Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified. After calling this method, you should chain a call to WithOne() to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship. Declaration INotRequiredSingleRightRelationBuilder<TEntity, TRelation> HasMany<TRelation>(Expression<Func<TEntity, IList<TRelation>>> navigationProperty) where TRelation : class Parameters Type Name Description Expression < Func <TEntity, IList <TRelation>>> navigationProperty Returns Type Description INotRequiredSingleRightRelationBuilder <TEntity, TRelation> An object that can be used to configure the relationship. Type Parameters Name Description TRelation The entity type that this relationship targets. | Improve this Doc View Source HasOne<TRelation>() Configures a relationship where this entity type has a reference that points to a single instance of the other type in the relationship. Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified. After calling this method, you should chain a call to WithMany(Expression<Func<TRelation, IList<TEntity>>>) or WithOne(Expression<Func<TRelation, TEntity>>) to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship. Declaration IRequiredMultiRightRelationBuilder<TEntity, TRelation> HasOne<TRelation>() where TRelation : class Returns Type Description IRequiredMultiRightRelationBuilder <TEntity, TRelation> An object that can be used to configure the relationship. Type Parameters Name Description TRelation The entity type that this relationship targets. | Improve this Doc View Source HasOne<TRelation>(Expression<Func<TEntity, TRelation>>) Configures a relationship where this entity type has a reference that points to a single instance of the other type in the relationship. Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified. After calling this method, you should chain a call to WithMany() or WithOne() to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship. Declaration INotRequiredMultiRightRelationBuilder<TEntity, TRelation> HasOne<TRelation>(Expression<Func<TEntity, TRelation>> navigationProperty) where TRelation : class Parameters Type Name Description Expression < Func <TEntity, TRelation>> navigationProperty A lambda expression representing the reference navigation property on this entity type that represents the relationship (post => post.Blog). If no property is specified, the relationship will be configured without a navigation property on this end. Returns Type Description INotRequiredMultiRightRelationBuilder <TEntity, TRelation> An object that can be used to configure the relationship. Type Parameters Name Description TRelation The entity type that this relationship targets.\"\n  },\n  \"api/Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.html\": {\n    \"href\": \"api/Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.html\",\n    \"title\": \"Interface IMultiRightRelationBuilder<TEntity, TRelation> | Venflow Documentation\",\n    \"keywords\": \"Interface IMultiRightRelationBuilder<TEntity, TRelation> Instances of this class are returned from methods inside the Table<TEntity> class when using the Fluid API and it is not designed to be directly constructed in your application code. Namespace : Venflow.Modeling.Definitions.Builder Assembly : Venflow.dll Syntax public interface IMultiRightRelationBuilder<TEntity, TRelation> where TEntity : class, new() where TRelation : class Type Parameters Name Description TEntity TRelation The entity type that this relationship targets. Methods | Improve this Doc View Source WithMany(Expression<Func<TRelation, IList<TEntity>>>) Configures this as a one-to-many relationship. Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified. Declaration IForeignKeyRelationBuilder<TEntity, TRelation> WithMany(Expression<Func<TRelation, IList<TEntity>>> navigationProperty) Parameters Type Name Description Expression < Func <TRelation, IList <TEntity>>> navigationProperty A lambda expression representing the collection navigation property on the other end of this relationship (blog => blog.Posts). If no property is specified, the relationship will be configured without a navigation property on the other end of the relationship. Returns Type Description IForeignKeyRelationBuilder <TEntity, TRelation> An object that can be used to configure the relationship.\"\n  },\n  \"api/Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder-2.html\": {\n    \"href\": \"api/Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder-2.html\",\n    \"title\": \"Interface INotRequiredMultiRightRelationBuilder<TEntity, TRelation> | Venflow Documentation\",\n    \"keywords\": \"Interface INotRequiredMultiRightRelationBuilder<TEntity, TRelation> This interface hosts relation methods for the right side of a relation. Inherited Members IMultiRightRelationBuilder<TEntity, TRelation>.WithMany(Expression<Func<TRelation, IList<TEntity>>>) INotRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne() IRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne(Expression<Func<TRelation, TEntity>>) Namespace : Venflow.Modeling.Definitions.Builder Assembly : Venflow.dll Syntax public interface INotRequiredMultiRightRelationBuilder<TEntity, TRelation> : IMultiRightRelationBuilder<TEntity, TRelation>, INotRequiredSingleRightRelationBuilder<TEntity, TRelation>, IRequiredSingleRightRelationBuilder<TEntity, TRelation> where TEntity : class, new() where TRelation : class Type Parameters Name Description TEntity TRelation Methods | Improve this Doc View Source WithMany() Configures this as a one-to-many relationship. Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified. Declaration IForeignKeyRelationBuilder<TEntity, TRelation> WithMany() Returns Type Description IForeignKeyRelationBuilder <TEntity, TRelation> An object that can be used to configure the relationship.\"\n  },\n  \"api/Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html\": {\n    \"href\": \"api/Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html\",\n    \"title\": \"Interface INotRequiredSingleRightRelationBuilder<TEntity, TRelation> | Venflow Documentation\",\n    \"keywords\": \"Interface INotRequiredSingleRightRelationBuilder<TEntity, TRelation> This interface hosts relation methods for the right side of a relation. Inherited Members IRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne(Expression<Func<TRelation, TEntity>>) Namespace : Venflow.Modeling.Definitions.Builder Assembly : Venflow.dll Syntax public interface INotRequiredSingleRightRelationBuilder<TEntity, TRelation> : IRequiredSingleRightRelationBuilder<TEntity, TRelation> where TEntity : class, new() where TRelation : class Type Parameters Name Description TEntity TRelation Methods | Improve this Doc View Source WithOne() Configures this as a one-to-one relationship. Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified. Declaration IForeignKeyRelationBuilder<TEntity, TRelation> WithOne() Returns Type Description IForeignKeyRelationBuilder <TEntity, TRelation> An object that can be used to configure the relationship.\"\n  },\n  \"api/Venflow.Modeling.Definitions.Builder.IPropertyBuilder.html\": {\n    \"href\": \"api/Venflow.Modeling.Definitions.Builder.IPropertyBuilder.html\",\n    \"title\": \"Interface IPropertyBuilder | Venflow Documentation\",\n    \"keywords\": \"Interface IPropertyBuilder Instances of this class are returned from methods inside the Venflow.Modeling.Definitions.Builder.EntityBuilder`1 class when using the Fluent API and it is not designed to be directly constructed in your application code. Namespace : Venflow.Modeling.Definitions.Builder Assembly : Venflow.dll Syntax public interface IPropertyBuilder Methods | Improve this Doc View Source HasDefault() Marks the current column to be generated by the database Declaration IPropertyBuilder HasDefault() Returns Type Description IPropertyBuilder The same builder instance so that multiple calls can be chained. | Improve this Doc View Source HasId() Marks the current property as a primary key. This is the Fluent API equivalent to the . Declaration IPropertyBuilder HasId() Returns Type Description IPropertyBuilder The same builder instance so that multiple calls can be chained. | Improve this Doc View Source WithName(String) Configures the name of the current column, if not configured it will use the name of the property. Declaration IPropertyBuilder WithName(string name) Parameters Type Name Description String name The name of the column in the database to which the used property should map to. Returns Type Description IPropertyBuilder The same builder instance so that multiple calls can be chained. | Improve this Doc View Source WithType(NpgsqlDbType) Configures the database type of the current column, if not configured it will use the default of the property. Declaration IPropertyBuilder WithType(NpgsqlDbType dbType) Parameters Type Name Description NpgsqlDbType dbType The type of the column in the database. Returns Type Description IPropertyBuilder The same builder instance so that multiple calls can be chained.\"\n  },\n  \"api/Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder-2.html\": {\n    \"href\": \"api/Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder-2.html\",\n    \"title\": \"Interface IRequiredMultiRightRelationBuilder<TEntity, TRelation> | Venflow Documentation\",\n    \"keywords\": \"Interface IRequiredMultiRightRelationBuilder<TEntity, TRelation> This interface hosts relation methods for the right side of a relation. Inherited Members IMultiRightRelationBuilder<TEntity, TRelation>.WithMany(Expression<Func<TRelation, IList<TEntity>>>) IRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne(Expression<Func<TRelation, TEntity>>) Namespace : Venflow.Modeling.Definitions.Builder Assembly : Venflow.dll Syntax public interface IRequiredMultiRightRelationBuilder<TEntity, TRelation> : IMultiRightRelationBuilder<TEntity, TRelation>, IRequiredSingleRightRelationBuilder<TEntity, TRelation> where TEntity : class, new() where TRelation : class Type Parameters Name Description TEntity TRelation\"\n  },\n  \"api/Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html\": {\n    \"href\": \"api/Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html\",\n    \"title\": \"Interface IRequiredSingleRightRelationBuilder<TEntity, TRelation> | Venflow Documentation\",\n    \"keywords\": \"Interface IRequiredSingleRightRelationBuilder<TEntity, TRelation> This interface hosts relation methods for the right side of a relation. Namespace : Venflow.Modeling.Definitions.Builder Assembly : Venflow.dll Syntax public interface IRequiredSingleRightRelationBuilder<TEntity, TRelation> where TEntity : class, new() where TRelation : class Type Parameters Name Description TEntity TRelation Methods | Improve this Doc View Source WithOne(Expression<Func<TRelation, TEntity>>) Configures this as a one-to-one relationship. Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified. Declaration IForeignKeyRelationBuilder<TEntity, TRelation> WithOne(Expression<Func<TRelation, TEntity>> navigationProperty) Parameters Type Name Description Expression < Func <TRelation, TEntity>> navigationProperty A lambda expression representing the reference navigation property on the other end of this relationship (blog => blog.BlogInfo). If no property is specified, the relationship will be configured without a navigation property on the other end of the relationship. Returns Type Description IForeignKeyRelationBuilder <TEntity, TRelation> An object that can be used to configure the relationship.\"\n  },\n  \"api/Venflow.Modeling.Definitions.EntityConfiguration-1.html\": {\n    \"href\": \"api/Venflow.Modeling.Definitions.EntityConfiguration-1.html\",\n    \"title\": \"Class EntityConfiguration<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Class EntityConfiguration<TEntity> Allows configuration for an entity type. Inherit from this class and override the Configure(IEntityBuilder<TEntity>) method to configure the entity TEntity . Inheritance Object EntityConfiguration<TEntity> Namespace : Venflow.Modeling.Definitions Assembly : Venflow.dll Syntax public abstract class EntityConfiguration<TEntity> : object, IEntityConfiguration where TEntity : class, new() Type Parameters Name Description TEntity The entity to be configured. Remarks Classes which inherit from this one, have to be in the same assembly as the Database in order to be discoverable. Methods | Improve this Doc View Source Configure(IEntityBuilder<TEntity>) Allows for configuration of the entity TEntity . Declaration protected abstract void Configure(IEntityBuilder<TEntity> entityBuilder) Parameters Type Name Description IEntityBuilder <TEntity> entityBuilder The builder used to configure the entity.\"\n  },\n  \"api/Venflow.Modeling.Definitions.html\": {\n    \"href\": \"api/Venflow.Modeling.Definitions.html\",\n    \"title\": \"Namespace Venflow.Modeling.Definitions | Venflow Documentation\",\n    \"keywords\": \"Namespace Venflow.Modeling.Definitions Classes EntityConfiguration<TEntity> Allows configuration for an entity type. Inherit from this class and override the Configure(IEntityBuilder<TEntity>) method to configure the entity TEntity .\"\n  },\n  \"api/Venflow.NewtonsoftJson.html\": {\n    \"href\": \"api/Venflow.NewtonsoftJson.html\",\n    \"title\": \"Namespace Venflow.NewtonsoftJson | Venflow Documentation\",\n    \"keywords\": \"Namespace Venflow.NewtonsoftJson Classes NewtonsoftJsonKeyConverter A to parse IKey<TEntity, TKey> instances.\"\n  },\n  \"api/Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.html\": {\n    \"href\": \"api/Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.html\",\n    \"title\": \"Class NewtonsoftJsonKeyConverter | Venflow Documentation\",\n    \"keywords\": \"Class NewtonsoftJsonKeyConverter A to parse IKey<TEntity, TKey> instances. Inheritance Object NewtonsoftJsonKeyConverter Namespace : Venflow.NewtonsoftJson Assembly : Venflow.NewtonsoftJson.dll Syntax public class NewtonsoftJsonKeyConverter : JsonConverter Methods | Improve this Doc View Source CanConvert(Type) Declaration public override bool CanConvert(Type objectType) Parameters Type Name Description Type objectType Returns Type Description Boolean | Improve this Doc View Source ReadJson(JsonReader, Type, Nullable<Object>, JsonSerializer) Declaration public override object? ReadJson(JsonReader reader, Type objectType, object? existingValue, JsonSerializer serializer) Parameters Type Name Description JsonReader reader Type objectType Nullable < Object > existingValue JsonSerializer serializer Returns Type Description Nullable < Object > | Improve this Doc View Source WriteJson(JsonWriter, Nullable<Object>, JsonSerializer) Declaration public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) Parameters Type Name Description JsonWriter writer Nullable < Object > value JsonSerializer serializer\"\n  },\n  \"api/Venflow.NpgsqlCommandExtensions.html\": {\n    \"href\": \"api/Venflow.NpgsqlCommandExtensions.html\",\n    \"title\": \"Class NpgsqlCommandExtensions | Venflow Documentation\",\n    \"keywords\": \"Class NpgsqlCommandExtensions Provides a set of useful extension methods for the class. Inheritance Object NpgsqlCommandExtensions Namespace : Venflow Assembly : Venflow.dll Syntax public static class NpgsqlCommandExtensions : object Methods | Improve this Doc View Source AddParamter<TType>(NpgsqlCommand, String, TType) Adds a new Parameter to the collection. Declaration public static NpgsqlParameter<TType> AddParamter<TType>(this NpgsqlCommand command, string parameterName, TType value) Parameters Type Name Description NpgsqlCommand command The command to which the Parameter should be added. String parameterName The name of the Parameter. TType value The value of the Parameter. Returns Type Description NpgsqlParameter <TType> the just created . Type Parameters Name Description TType The value type of the Parameter. | Improve this Doc View Source SetInterpolatedCommandText(NpgsqlCommand, FormattableString) Sets the command text of the used . This API does support string interpolation! Declaration public static void SetInterpolatedCommandText(this NpgsqlCommand command, FormattableString sql) Parameters Type Name Description NpgsqlCommand command The command of which the command text should be set. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation. FormattableString sql A string containing the SQL statement.\"\n  },\n  \"api/Venflow.NpgsqlQuotedNameTranslator.html\": {\n    \"href\": \"api/Venflow.NpgsqlQuotedNameTranslator.html\",\n    \"title\": \"Class NpgsqlQuotedNameTranslator | Venflow Documentation\",\n    \"keywords\": \"Class NpgsqlQuotedNameTranslator A name translator which preserves CLR names (e.g. SomeClass) when mapping names to the database. Inheritance Object NpgsqlQuotedNameTranslator Implements INpgsqlNameTranslator Namespace : Venflow Assembly : Venflow.dll Syntax public class NpgsqlQuotedNameTranslator : NpgsqlNullNameTranslator, INpgsqlNameTranslator Methods | Improve this Doc View Source TranslateMemberName(String) Given a CLR member name (property or field), translates its name to a database type name. Declaration public string TranslateMemberName(string clrName) Parameters Type Name Description String clrName Returns Type Description String | Improve this Doc View Source TranslateTypeName(String) Given a CLR type name (e.g class, struct, enum), translates its name to a database type name. Declaration public string TranslateTypeName(string clrName) Parameters Type Name Description String clrName Returns Type Description String Implements INpgsqlNameTranslator\"\n  },\n  \"api/Venflow.ParameterTypeHandler.html\": {\n    \"href\": \"api/Venflow.ParameterTypeHandler.html\",\n    \"title\": \"Class ParameterTypeHandler | Venflow Documentation\",\n    \"keywords\": \"Class ParameterTypeHandler A class which contains methods to configure the used type handlers while parsing Interpolated arguments. Inheritance Object ParameterTypeHandler Namespace : Venflow Assembly : Venflow.dll Syntax public static class ParameterTypeHandler : object Methods | Improve this Doc View Source AddTypeHandler(Type, IParameterTypeHandler) Adds a type handler. Declaration public static void AddTypeHandler(Type type, IParameterTypeHandler typeHandler) Parameters Type Name Description Type type The type to which the type handler should be mapped. IParameterTypeHandler typeHandler The type handler.\"\n  },\n  \"api/Venflow.Table-1.html\": {\n    \"href\": \"api/Venflow.Table-1.html\",\n    \"title\": \"Class Table<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Class Table<TEntity> A Table<TEntity> is used to perform CRUD operations against the table represented by TEntity . Inheritance Object TableBase <TEntity> Table<TEntity> Inherited Members TableBase<TEntity>.QueryAsync<TReturn>(IQueryCommand<TEntity, TReturn>, CancellationToken) TableBase<TEntity>.QuerySingle(String, Boolean) TableBase<TEntity>.QuerySingle(Expression<Func<TEntity, FormattableString>>, Boolean) TableBase<TEntity>.QuerySingle<TOne>(Expression<Func<TEntity, TOne, FormattableString>>, Boolean) TableBase<TEntity>.QuerySingle<TOne, Two>(Expression<Func<TEntity, TOne, Two, FormattableString>>, Boolean) TableBase<TEntity>.QuerySingle<TOne, Two, TThree>(Expression<Func<TEntity, TOne, Two, TThree, FormattableString>>, Boolean) TableBase<TEntity>.QuerySingle<TOne, Two, TThree, TFour>(Expression<Func<TEntity, TOne, Two, TThree, TFour, FormattableString>>, Boolean) TableBase<TEntity>.QuerySingle<TOne, Two, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, FormattableString>>, Boolean) TableBase<TEntity>.QuerySingle<TOne, Two, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString>>, Boolean) TableBase<TEntity>.QuerySingle<TOne, Two, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString>>, Boolean) TableBase<TEntity>.QuerySingle<TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>>, Boolean) TableBase<TEntity>.QuerySingle(String, NpgsqlParameter[]) TableBase<TEntity>.QuerySingle(String, IList<NpgsqlParameter>) TableBase<TEntity>.QuerySingle(String, Boolean, NpgsqlParameter[]) TableBase<TEntity>.QueryInterpolatedSingle(FormattableString, Boolean) TableBase<TEntity>.QueryInterpolatedSingle(FormattableSqlStringBuilder, Boolean) TableBase<TEntity>.QueryBatch(String, Boolean) TableBase<TEntity>.QueryBatch(Expression<Func<TEntity, FormattableString>>, Boolean) TableBase<TEntity>.QueryBatch<TOne>(Expression<Func<TEntity, TOne, FormattableString>>, Boolean) TableBase<TEntity>.QueryBatch<TOne, Two>(Expression<Func<TEntity, TOne, Two, FormattableString>>, Boolean) TableBase<TEntity>.QueryBatch<TOne, Two, TThree>(Expression<Func<TEntity, TOne, Two, TThree, FormattableString>>, Boolean) TableBase<TEntity>.QueryBatch<TOne, Two, TThree, TFour>(Expression<Func<TEntity, TOne, Two, TThree, TFour, FormattableString>>, Boolean) TableBase<TEntity>.QueryBatch<TOne, Two, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, FormattableString>>, Boolean) TableBase<TEntity>.QueryBatch<TOne, Two, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString>>, Boolean) TableBase<TEntity>.QueryBatch<TOne, Two, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString>>, Boolean) TableBase<TEntity>.QueryBatch<TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>>, Boolean) TableBase<TEntity>.QueryBatch(String, NpgsqlParameter[]) TableBase<TEntity>.QueryBatch(String, IList<NpgsqlParameter>) TableBase<TEntity>.QueryBatch(String, Boolean, NpgsqlParameter[]) TableBase<TEntity>.QueryInterpolatedBatch(FormattableString, Boolean) TableBase<TEntity>.QueryInterpolatedBatch(FormattableSqlStringBuilder, Boolean) Namespace : Venflow Assembly : Venflow.dll Syntax public sealed class Table<TEntity> : TableBase<TEntity>, ITable where TEntity : class, new() Type Parameters Name Description TEntity The entity which represents a table in the Database. Methods | Improve this Doc View Source CountAsync(CancellationToken) Asynchronously counts the total rows the current table. Declaration public Task<long> CountAsync(CancellationToken cancellationToken = null) Parameters Type Name Description CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description Task < Int64 > A task representing the asynchronous operation, with the number of rows. Remarks This method represents the following SQL statement \\\"SELECT COUNT(*) FROM table\\\". | Improve this Doc View Source Delete() Creates a new delete command. Declaration public IDeleteCommandBuilder<TEntity> Delete() Returns Type Description IDeleteCommandBuilder <TEntity> A Fluent API Builder for a delete command. Remarks The command will be automatically disposed the underlying after the command got executed once. | Improve this Doc View Source Delete(Boolean) Creates a new delete command. Declaration public IDeleteCommandBuilder<TEntity> Delete(bool disposeCommand) Parameters Type Name Description Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IDeleteCommandBuilder <TEntity> A Fluent API Builder for a delete command. | Improve this Doc View Source DeleteAsync(TEntity, CancellationToken) Asynchronously deletes the provided entity by its defined primary key. Declaration public ValueTask<int> DeleteAsync(TEntity entity, CancellationToken cancellationToken = null) Parameters Type Name Description TEntity entity A TEntity instance representing the row, which will be deleted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description ValueTask < Int32 > A task representing the asynchronous operation, with the number of rows deleted. Remarks This method represents the following SQL statement \\\"DELETE FROM table WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source DeleteAsync(TEntity[], CancellationToken) Asynchronously deletes the provided entities by their defined primary keys. Declaration public ValueTask<int> DeleteAsync(TEntity[] entities, CancellationToken cancellationToken = null) Parameters Type Name Description TEntity[] entities A set of TEntity instances representing the rows, which will be deleted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description ValueTask < Int32 > A task representing the asynchronous operation, with the number of rows deleted. Remarks This method represents the following SQL statement \\\"DELETE FROM table WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source DeleteAsync(IEnumerable<TEntity>, CancellationToken) Asynchronously deletes the provided entities by their defined primary keys. Declaration public ValueTask<int> DeleteAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken = null) Parameters Type Name Description IEnumerable <TEntity> entities A set of TEntity instances representing the rows, which will be deleted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description ValueTask < Int32 > A task representing the asynchronous operation, with the number of rows deleted. Remarks This method represents the following SQL statement \\\"DELETE FROM table WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source DeleteAsync(IList<TEntity>, CancellationToken) Asynchronously deletes the provided entities by their defined primary keys. Declaration public ValueTask<int> DeleteAsync(IList<TEntity> entities, CancellationToken cancellationToken = null) Parameters Type Name Description IList <TEntity> entities A set of TEntity instances representing the rows, which will be deleted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description ValueTask < Int32 > A task representing the asynchronous operation, with the number of rows deleted. Remarks This method represents the following SQL statement \\\"DELETE FROM table WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source DeleteAsync(List<TEntity>, CancellationToken) Asynchronously deletes the provided entities by their defined primary keys. Declaration public ValueTask<int> DeleteAsync(List<TEntity> entities, CancellationToken cancellationToken = null) Parameters Type Name Description List <TEntity> entities A set of TEntity instances representing the rows, which will be deleted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description ValueTask < Int32 > A task representing the asynchronous operation, with the number of rows deleted. Remarks This method represents the following SQL statement \\\"DELETE FROM table WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source DeleteAsync(IDeleteCommand<TEntity>, TEntity, CancellationToken) Asynchronously deletes the provided entity by its defined primary key. Declaration public ValueTask<int> DeleteAsync(IDeleteCommand<TEntity> deleteCommand, TEntity entity, CancellationToken cancellationToken = null) Parameters Type Name Description IDeleteCommand <TEntity> deleteCommand A IDeleteCommand<TEntity> instance which contains all the settings for this operation. TEntity entity A TEntity instance representing the row, which will be deleted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description ValueTask < Int32 > A task representing the asynchronous operation, with the number of rows deleted. Remarks This method represents the following SQL statement \\\"DELETE FROM table WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source DeleteAsync(IDeleteCommand<TEntity>, IEnumerable<TEntity>, CancellationToken) Asynchronously deletes the provided entities by their defined primary keys. Declaration public ValueTask<int> DeleteAsync(IDeleteCommand<TEntity> deleteCommand, IEnumerable<TEntity> entities, CancellationToken cancellationToken = null) Parameters Type Name Description IDeleteCommand <TEntity> deleteCommand A IDeleteCommand<TEntity> instance which contains all the settings for this operation. IEnumerable <TEntity> entities A set of TEntity instances representing the rows, which will be deleted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description ValueTask < Int32 > A task representing the asynchronous operation, with the number of rows deleted. Remarks This method represents the following SQL statement \\\"DELETE FROM table WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source GetProxiedEntity() Constructs a new proxied instance of the TEntity entity. Declaration public TEntity GetProxiedEntity() Returns Type Description TEntity A TEntity instance which will be change tracked. Remarks Any property which should be change tracked on an entity has to be marked virtual. | Improve this Doc View Source Insert() Creates a new insert command. Declaration public IBaseInsertRelationBuilder<TEntity, TEntity> Insert() Returns Type Description IBaseInsertRelationBuilder <TEntity, TEntity> A Fluent API Builder for a insert command. Remarks The command will be automatically disposed the underlying after the command got executed once. | Improve this Doc View Source InsertAsync(TEntity, CancellationToken) Asynchronously inserts the entity and all entities reachable from the current provided instance into the current table. Declaration public Task<int> InsertAsync(TEntity entity, CancellationToken cancellationToken = null) Parameters Type Name Description TEntity entity A TEntity instance representing the row, which will be inserted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description Task < Int32 > A task representing the asynchronous operation, with the number of rows inserted. Remarks This method represents the following SQL statement \\\"INSERT INTO table (foo, bar) VALUES ('foo', 'bar')\\\". This API is using parameterized commands. | Improve this Doc View Source InsertAsync(IList<TEntity>, CancellationToken) Asynchronously inserts a list of entities and all entities reachable from the current provided instances into the current table. Declaration public Task<int> InsertAsync(IList<TEntity> entities, CancellationToken cancellationToken = null) Parameters Type Name Description IList <TEntity> entities A list of TEntity instance representing the rows, which will be inserted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description Task < Int32 > A task representing the asynchronous operation, with the number of rows inserted. Remarks This method represents the following SQL statement \\\"INSERT INTO table (foo, bar) VALUES ('foo', 'bar'), ('foo', 'bar')\\\". This API is using parameterized commands. | Improve this Doc View Source InsertAsync(IInsertCommand<TEntity>, TEntity, CancellationToken) Asynchronously inserts the entity and all entities reachable from the current provided instance into the current table. Declaration public Task<int> InsertAsync(IInsertCommand<TEntity> insertCommand, TEntity entity, CancellationToken cancellationToken = null) Parameters Type Name Description IInsertCommand <TEntity> insertCommand A IInsertCommand<TEntity> instance which contains all the settings for this operation. TEntity entity A TEntity instance representing the row, which will be inserted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description Task < Int32 > A task representing the asynchronous operation, with the number of rows inserted. Remarks This method represents the following SQL statement \\\"INSERT INTO table (foo, bar) VALUES ('foo', 'bar')\\\". This API is using parameterized commands. | Improve this Doc View Source InsertAsync(IInsertCommand<TEntity>, List<TEntity>, CancellationToken) Asynchronously inserts a list of entities and all entities reachable from the current provided instances into the current table. Declaration public Task<int> InsertAsync(IInsertCommand<TEntity> insertCommand, List<TEntity> entities, CancellationToken cancellationToken = null) Parameters Type Name Description IInsertCommand <TEntity> insertCommand A IInsertCommand<TEntity> instance which contains all the settings for this operation. List <TEntity> entities A list of TEntity instance representing the rows, which will be inserted. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description Task < Int32 > A task representing the asynchronous operation, with the number of rows inserted. Remarks This method represents the following SQL statement \\\"INSERT INTO table (foo, bar) VALUES ('foo', 'bar'), ('foo', 'bar')\\\". This API is using parameterized commands. | Improve this Doc View Source TrackChanges(ref TEntity) Starts tracking the provided TEntity . Declaration public void TrackChanges(ref TEntity entity) Parameters Type Name Description TEntity entity A TEntity instance which will be change tracked. Remarks Any property which should be change tracked on an entity has to be marked virtual. | Improve this Doc View Source TrackChanges(IList<TEntity>) Starts tracking the provided TEntity 's. Declaration public void TrackChanges(IList<TEntity> entities) Parameters Type Name Description IList <TEntity> entities A set of TEntity instances which will be change tracked. Remarks This method represents the following SQL statement \\\"UPDATE table SET foo = 'foo' WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source TruncateAsync(ForeignTruncateOptions, CancellationToken) Asynchronously truncates the current table with the provided options. Declaration public Task TruncateAsync(ForeignTruncateOptions foreignOptions, CancellationToken cancellationToken = null) Parameters Type Name Description ForeignTruncateOptions foreignOptions Specifies how the truncate operation should handle foreign tables. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description Task A task representing the asynchronous operation. Remarks This method represents the following SQL statement \\\"TRUNCATE table [CASCADE|RESTRICT|NONE]\\\". | Improve this Doc View Source TruncateAsync(IdentityTruncateOptions, ForeignTruncateOptions, CancellationToken) Asynchronously truncates the current table with the provided options. Declaration public Task TruncateAsync(IdentityTruncateOptions truncateOptions = default(IdentityTruncateOptions), ForeignTruncateOptions foreignOptions = default(ForeignTruncateOptions), CancellationToken cancellationToken = null) Parameters Type Name Description IdentityTruncateOptions truncateOptions Specifies how the truncate operation should handle identities in the table. ForeignTruncateOptions foreignOptions Specifies how the truncate operation should handle foreign tables. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description Task A task representing the asynchronous operation. Remarks This method represents the following SQL statement \\\"TRUNCATE table [RESTART IDENTITY|CONTINUE IDENTITY|NONE] [CASCADE|RESTRICT|NONE]\\\". | Improve this Doc View Source Update() Creates a new update command. Declaration public IUpdateCommandBuilder<TEntity> Update() Returns Type Description IUpdateCommandBuilder <TEntity> A Fluent API Builder for a update command. | Improve this Doc View Source Update(Boolean) Creates a new update command. Declaration public IUpdateCommandBuilder<TEntity> Update(bool disposeCommand) Parameters Type Name Description Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IUpdateCommandBuilder <TEntity> A Fluent API Builder for a update command. | Improve this Doc View Source UpdateAsync(TEntity, CancellationToken) Asynchronously updates the provided entity by its defined primary keys. Declaration public ValueTask UpdateAsync(TEntity entity, CancellationToken cancellationToken = null) Parameters Type Name Description TEntity entity A TEntity instance representing the row, which will be updated. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description ValueTask A task representing the asynchronous operation. Remarks This method represents the following SQL statement \\\"UPDATE table SET foo = 'foo' WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source UpdateAsync(TEntity[], CancellationToken) Asynchronously updates the provided entity by its defined primary keys. Declaration public ValueTask UpdateAsync(TEntity[] entities, CancellationToken cancellationToken = null) Parameters Type Name Description TEntity[] entities A set of TEntity instances representing the rows, which will be updated. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description ValueTask A task representing the asynchronous operation. Remarks This method represents the following SQL statement \\\"UPDATE table SET foo = 'foo' WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source UpdateAsync(IEnumerable<TEntity>, CancellationToken) Asynchronously updates the provided entity by its defined primary keys. Declaration public ValueTask UpdateAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken = null) Parameters Type Name Description IEnumerable <TEntity> entities A set of TEntity instances representing the rows, which will be updated. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description ValueTask A task representing the asynchronous operation. Remarks This method represents the following SQL statement \\\"UPDATE table SET foo = 'foo' WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source UpdateAsync(IList<TEntity>, CancellationToken) Asynchronously updates the provided entity by its defined primary keys. Declaration public ValueTask UpdateAsync(IList<TEntity> entities, CancellationToken cancellationToken = null) Parameters Type Name Description IList <TEntity> entities A set of TEntity instances representing the rows, which will be updated. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description ValueTask A task representing the asynchronous operation. Remarks This method represents the following SQL statement \\\"UPDATE table SET foo = 'foo' WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source UpdateAsync(List<TEntity>, CancellationToken) Asynchronously updates the provided entity by its defined primary keys. Declaration public ValueTask UpdateAsync(List<TEntity> entities, CancellationToken cancellationToken = null) Parameters Type Name Description List <TEntity> entities A set of TEntity instances representing the rows, which will be updated. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description ValueTask A task representing the asynchronous operation. Remarks This method represents the following SQL statement \\\"UPDATE table SET foo = 'foo' WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source UpdateAsync(IUpdateCommand<TEntity>, TEntity, CancellationToken) Asynchronously updates the provided entity by its defined primary keys. Declaration public ValueTask UpdateAsync(IUpdateCommand<TEntity> updateCommand, TEntity entity, CancellationToken cancellationToken = null) Parameters Type Name Description IUpdateCommand <TEntity> updateCommand A IUpdateCommand<TEntity> instance which contains all the settings for this operation. TEntity entity A TEntity instance representing the row, which will be updated. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description ValueTask A task representing the asynchronous operation. Remarks This method represents the following SQL statement \\\"UPDATE table SET foo = 'foo' WHERE pk = 0\\\". This API is using parameterized commands. | Improve this Doc View Source UpdateAsync(IUpdateCommand<TEntity>, IEnumerable<TEntity>, CancellationToken) Asynchronously updates the provided entity by its defined primary keys. Declaration public ValueTask UpdateAsync(IUpdateCommand<TEntity> updateCommand, IEnumerable<TEntity> entities, CancellationToken cancellationToken = null) Parameters Type Name Description IUpdateCommand <TEntity> updateCommand A IUpdateCommand<TEntity> instance which contains all the settings for this operation. IEnumerable <TEntity> entities A set of TEntity instances representing the rows, which will be updated. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description ValueTask A task representing the asynchronous operation. Remarks This method represents the following SQL statement \\\"UPDATE table SET foo = 'foo' WHERE pk = 0\\\". This API is using parameterized commands.\"\n  },\n  \"api/Venflow.TableBase-1.html\": {\n    \"href\": \"api/Venflow.TableBase-1.html\",\n    \"title\": \"Class TableBase<TEntity> | Venflow Documentation\",\n    \"keywords\": \"Class TableBase<TEntity> A TableBase<TEntity> is used to perform query operations of all sorts. Inheritance Object TableBase<TEntity> Table<TEntity> Namespace : Venflow Assembly : Venflow.dll Syntax public class TableBase<TEntity> : object where TEntity : class, new() Type Parameters Name Description TEntity The entity which represents a table in the Database. Methods | Improve this Doc View Source QueryAsync<TReturn>(IQueryCommand<TEntity, TReturn>, CancellationToken) Asynchronously queries one or more entities with the configured joins. Declaration public Task<TReturn> QueryAsync<TReturn>(IQueryCommand<TEntity, TReturn> queryCommand, CancellationToken cancellationToken = null) where TReturn : class, new() Parameters Type Name Description IQueryCommand <TEntity, TReturn> queryCommand A IQueryCommand<TEntity, TReturn> instance representing the query which will be performed. CancellationToken cancellationToken The cancellation token, which is used to cancel the operation. Returns Type Description Task <TReturn> A task representing the asynchronous operation, with the result of the executed query. Type Parameters Name Description TReturn Remarks This method could represents the following SQL statement \\\"SELECT * FROM table\\\". | Improve this Doc View Source QueryBatch(Expression<Func<TEntity, FormattableString>>, Boolean) Creates a new query command, which expects a set of primary rows to be returned. This API does support string interpolation! Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(Expression<Func<TEntity, FormattableString>> sql, bool disposeCommand = true) Parameters Type Name Description Expression < Func <TEntity, FormattableString >> sql A string containing the SQL statement. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. | Improve this Doc View Source QueryBatch(String, IList<NpgsqlParameter>) Creates a new query command, which expects a set of primary rows to be returned. This API does not support string interpolation! If you want to pass interpolated SQL use QueryInterpolatedSingle(FormattableString, Boolean) . Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(string sql, IList<NpgsqlParameter> parameters) Parameters Type Name Description String sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. IList < NpgsqlParameter > parameters A set of which contain parameters for the sql command. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. Remarks The command will be automatically disposed the underlying after the command got executed once. | Improve this Doc View Source QueryBatch(String, NpgsqlParameter[]) Creates a new query command, which expects a set of primary rows to be returned. This API does not support string interpolation! If you want to pass interpolated SQL use QueryInterpolatedSingle(FormattableString, Boolean) . Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(string sql, params NpgsqlParameter[] parameters) Parameters Type Name Description String sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. NpgsqlParameter [] parameters A set of which contain parameters for the sql command. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. Remarks The command will be automatically disposed the underlying after the command got executed once. | Improve this Doc View Source QueryBatch(String, Boolean) Creates a new query command, which expects a set of primary rows to be returned. This API does not support string interpolation! If you need to pass parameters with the query, either use QuerySingle(String, NpgsqlParameter[]) or QueryInterpolatedSingle(FormattableString, Boolean) . Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(string sql, bool disposeCommand = true) Parameters Type Name Description String sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. | Improve this Doc View Source QueryBatch(String, Boolean, NpgsqlParameter[]) Creates a new query command, which expects a set of primary rows to be returned. This API does not support string interpolation! If you want to pass interpolated SQL use QueryInterpolatedSingle(FormattableString, Boolean) . Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(string sql, bool disposeCommand, params NpgsqlParameter[] parameters) Parameters Type Name Description String sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. NpgsqlParameter [] parameters A set of which contain parameters for the sql command. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. | Improve this Doc View Source QueryBatch<TOne>(Expression<Func<TEntity, TOne, FormattableString>>, Boolean) Creates a new query command, which expects a set of primary rows to be returned. This API does support string interpolation! Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne>(Expression<Func<TEntity, TOne, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, FormattableString >> sql A string containing the SQL statement. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. Type Parameters Name Description TOne | Improve this Doc View Source QueryBatch<TOne, Two>(Expression<Func<TEntity, TOne, Two, FormattableString>>, Boolean) Creates a new query command, which expects a set of primary rows to be returned. This API does support string interpolation! Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, Two>(Expression<Func<TEntity, TOne, Two, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, Two, FormattableString >> sql A string containing the SQL statement. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. Type Parameters Name Description TOne Two | Improve this Doc View Source QueryBatch<TOne, Two, TThree>(Expression<Func<TEntity, TOne, Two, TThree, FormattableString>>, Boolean) Creates a new query command, which expects a set of primary rows to be returned. This API does support string interpolation! Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, Two, TThree>(Expression<Func<TEntity, TOne, Two, TThree, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, Two, TThree, FormattableString >> sql A string containing the SQL statement. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. Type Parameters Name Description TOne Two TThree | Improve this Doc View Source QueryBatch<TOne, Two, TThree, TFour>(Expression<Func<TEntity, TOne, Two, TThree, TFour, FormattableString>>, Boolean) Creates a new query command, which expects a set of primary rows to be returned. This API does support string interpolation! Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, Two, TThree, TFour>(Expression<Func<TEntity, TOne, Two, TThree, TFour, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new() where TFour : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, Two, TThree, TFour, FormattableString >> sql A string containing the SQL statement. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. Type Parameters Name Description TOne Two TThree TFour | Improve this Doc View Source QueryBatch<TOne, Two, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, FormattableString>>, Boolean) Creates a new query command, which expects a set of primary rows to be returned. This API does support string interpolation! Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, Two, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, Two, TThree, TFour, TFive, FormattableString >> sql A string containing the SQL statement. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. Type Parameters Name Description TOne Two TThree TFour TFive | Improve this Doc View Source QueryBatch<TOne, Two, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString>>, Boolean) Creates a new query command, which expects a set of primary rows to be returned. This API does support string interpolation! Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, Two, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString >> sql A string containing the SQL statement. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. Type Parameters Name Description TOne Two TThree TFour TFive TSix | Improve this Doc View Source QueryBatch<TOne, Two, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString>>, Boolean) Creates a new query command, which expects a set of primary rows to be returned. This API does support string interpolation! Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, Two, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new() where TSeven : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString >> sql A string containing the SQL statement. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. Type Parameters Name Description TOne Two TThree TFour TFive TSix TSeven | Improve this Doc View Source QueryBatch<TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>>, Boolean) Creates a new query command, which expects a set of primary rows to be returned. This API does support string interpolation! Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new() where TSeven : class, new() where TEight : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString >> sql A string containing the SQL statement. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. Type Parameters Name Description TOne Two TThree TFour TFive TSix TSeven TEight | Improve this Doc View Source QueryInterpolatedBatch(FormattableString, Boolean) Creates a new query command, which expects a set of primary rows to be returned. This API does support string interpolation! Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryInterpolatedBatch(FormattableString sql, bool disposeCommand = true) Parameters Type Name Description FormattableString sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. | Improve this Doc View Source QueryInterpolatedBatch(FormattableSqlStringBuilder, Boolean) Creates a new query command, which expects a set of primary rows to be returned. This API does support string interpolation! Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryInterpolatedBatch(FormattableSqlStringBuilder sql, bool disposeCommand = true) Parameters Type Name Description FormattableSqlStringBuilder sql A FormattableSqlStringBuilder instance containing the SQL statement. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, List <TEntity>> A Fluent API Builder for a query command. | Improve this Doc View Source QueryInterpolatedSingle(FormattableString, Boolean) Creates a new query command, which expects a single returned primary row. This API does support string interpolation! Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QueryInterpolatedSingle(FormattableString sql, bool disposeCommand = true) Parameters Type Name Description FormattableString sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. | Improve this Doc View Source QueryInterpolatedSingle(FormattableSqlStringBuilder, Boolean) Creates a new query command, which expects a single returned primary row. This API does support string interpolation! Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QueryInterpolatedSingle(FormattableSqlStringBuilder sql, bool disposeCommand = true) Parameters Type Name Description FormattableSqlStringBuilder sql A FormattableSqlStringBuilder instance containing the SQL statement. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. | Improve this Doc View Source QuerySingle(Expression<Func<TEntity, FormattableString>>, Boolean) Creates a new query command, which expects a single returned primary row. This API does support string interpolation! Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(Expression<Func<TEntity, FormattableString>> sql, bool disposeCommand = true) Parameters Type Name Description Expression < Func <TEntity, FormattableString >> sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. | Improve this Doc View Source QuerySingle(String, IList<NpgsqlParameter>) Creates a new query command, which expects a single returned primary row. This API does not support string interpolation! If you want to pass interpolated SQL use QueryInterpolatedSingle(FormattableString, Boolean) . Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(string sql, IList<NpgsqlParameter> parameters) Parameters Type Name Description String sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. IList < NpgsqlParameter > parameters A set of which contain parameters for the sql command. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. Remarks The command will be automatically disposed the underlying after the command got executed once. | Improve this Doc View Source QuerySingle(String, NpgsqlParameter[]) Creates a new query command, which expects a single returned primary row. This API does not support string interpolation! If you want to pass interpolated SQL use QueryInterpolatedSingle(FormattableString, Boolean) . Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(string sql, params NpgsqlParameter[] parameters) Parameters Type Name Description String sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. NpgsqlParameter [] parameters A set of which contain parameters for the sql command. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. Remarks The command will be automatically disposed the underlying after the command got executed once. | Improve this Doc View Source QuerySingle(String, Boolean) Creates a new query command, which expects a single returned primary row. This API does not support string interpolation! If you need to pass parameters with the query, either use QuerySingle(String, NpgsqlParameter[]) or QueryInterpolatedSingle(FormattableString, Boolean) . Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(string sql, bool disposeCommand = true) Parameters Type Name Description String sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. | Improve this Doc View Source QuerySingle(String, Boolean, NpgsqlParameter[]) Creates a new query command, which expects a single returned primary row. This API does not support string interpolation! If you want to pass interpolated SQL use QueryInterpolatedSingle(FormattableString, Boolean) . Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(string sql, bool disposeCommand, params NpgsqlParameter[] parameters) Parameters Type Name Description String sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. NpgsqlParameter [] parameters A set of which contain parameters for the sql command. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. | Improve this Doc View Source QuerySingle<TOne>(Expression<Func<TEntity, TOne, FormattableString>>, Boolean) Creates a new query command, which expects a single returned primary row. This API does support string interpolation! Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne>(Expression<Func<TEntity, TOne, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, FormattableString >> sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. Type Parameters Name Description TOne | Improve this Doc View Source QuerySingle<TOne, Two>(Expression<Func<TEntity, TOne, Two, FormattableString>>, Boolean) Creates a new query command, which expects a single returned primary row. This API does support string interpolation! Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, Two>(Expression<Func<TEntity, TOne, Two, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, Two, FormattableString >> sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. Type Parameters Name Description TOne Two | Improve this Doc View Source QuerySingle<TOne, Two, TThree>(Expression<Func<TEntity, TOne, Two, TThree, FormattableString>>, Boolean) Creates a new query command, which expects a single returned primary row. This API does support string interpolation! Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, Two, TThree>(Expression<Func<TEntity, TOne, Two, TThree, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, Two, TThree, FormattableString >> sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. Type Parameters Name Description TOne Two TThree | Improve this Doc View Source QuerySingle<TOne, Two, TThree, TFour>(Expression<Func<TEntity, TOne, Two, TThree, TFour, FormattableString>>, Boolean) Creates a new query command, which expects a single returned primary row. This API does support string interpolation! Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, Two, TThree, TFour>(Expression<Func<TEntity, TOne, Two, TThree, TFour, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new() where TFour : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, Two, TThree, TFour, FormattableString >> sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. Type Parameters Name Description TOne Two TThree TFour | Improve this Doc View Source QuerySingle<TOne, Two, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, FormattableString>>, Boolean) Creates a new query command, which expects a single returned primary row. This API does support string interpolation! Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, Two, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, Two, TThree, TFour, TFive, FormattableString >> sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. Type Parameters Name Description TOne Two TThree TFour TFive | Improve this Doc View Source QuerySingle<TOne, Two, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString>>, Boolean) Creates a new query command, which expects a single returned primary row. This API does support string interpolation! Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, Two, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString >> sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. Type Parameters Name Description TOne Two TThree TFour TFive TSix | Improve this Doc View Source QuerySingle<TOne, Two, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString>>, Boolean) Creates a new query command, which expects a single returned primary row. This API does support string interpolation! Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, Two, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new() where TSeven : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString >> sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. Type Parameters Name Description TOne Two TThree TFour TFive TSix TSeven | Improve this Doc View Source QuerySingle<TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>>, Boolean) Creates a new query command, which expects a single returned primary row. This API does support string interpolation! Declaration public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new() where TSeven : class, new() where TEight : class, new() Parameters Type Name Description Expression < Func <TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString >> sql A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. Boolean disposeCommand Indicates whether or not to dispose the underlying after the command got executed once. Returns Type Description IBaseQueryRelationBuilder <TEntity, TEntity, TEntity> A Fluent API Builder for a query command. Type Parameters Name Description TOne Two TThree TFour TFive TSix TSeven TEight\"\n  },\n  \"api/Venflow.TypeArgumentException.html\": {\n    \"href\": \"api/Venflow.TypeArgumentException.html\",\n    \"title\": \"Class TypeArgumentException | Venflow Documentation\",\n    \"keywords\": \"Class TypeArgumentException Represents an error which occur when an invalid type argument gets passed to a generic method. Inheritance Object TypeArgumentException Namespace : Venflow Assembly : Venflow.dll Syntax public class TypeArgumentException : Exception Constructors | Improve this Doc View Source TypeArgumentException() Declaration public TypeArgumentException() | Improve this Doc View Source TypeArgumentException(String) Declaration public TypeArgumentException(string message) Parameters Type Name Description String message | Improve this Doc View Source TypeArgumentException(String, Exception) Declaration public TypeArgumentException(string message, Exception inner) Parameters Type Name Description String message Exception inner | Improve this Doc View Source TypeArgumentException(String, String) Declaration public TypeArgumentException(string message, string type) Parameters Type Name Description String message String type\"\n  },\n  \"api/Venflow.VenflowConfiguration.html\": {\n    \"href\": \"api/Venflow.VenflowConfiguration.html\",\n    \"title\": \"Class VenflowConfiguration | Venflow Documentation\",\n    \"keywords\": \"Class VenflowConfiguration Contains methods to globally set the configuration of Venflow. Inheritance Object VenflowConfiguration Namespace : Venflow Assembly : Venflow.dll Syntax public static class VenflowConfiguration : object Properties | Improve this Doc View Source DynamicCacheExpirationTime Determines the expiration duration time of the underlying SQL Materializer Cache in seconds, defaults to 5 minutes. Declaration public static long DynamicCacheExpirationTime { get; } Property Value Type Description Int64 Remarks Venflow uses the SQL used in queries to map a materializer to this specific query. This is faster, than using the returned columns and used relations as a cache key. If a query with the executed SQL won't be called again within the next DynamicCacheExpirationTime , it will be removed from the cache. However do note, that the materializer itself will not be removed from the cache. | Improve this Doc View Source ShouldUseDeepValidation Determines whether or not Venflow will perform more extensive validation through out its usage. This setting will be set to true automatically, if you are in DEBUG, otherwise false . Declaration public static bool ShouldUseDeepValidation { get; } Property Value Type Description Boolean | Improve this Doc View Source ThrowLoggedExceptions Determines whether or not Venflow will propagate exceptions to the caller of a command, if the exception is being logged. Defaults to true . Declaration public static bool ThrowLoggedExceptions { get; set; } Property Value Type Description Boolean Methods | Improve this Doc View Source SetDynamicCacheExpirationTime(Int64) Sets the value of the DynamicCacheExpirationTime property. Declaration public static void SetDynamicCacheExpirationTime(long expirationTime) Parameters Type Name Description Int64 expirationTime The expiration duration time in seconds. | Improve this Doc View Source SetDynamicCacheExpirationTime(TimeSpan) Sets the value of the DynamicCacheExpirationTime property. Declaration public static void SetDynamicCacheExpirationTime(TimeSpan timeSpan) Parameters Type Name Description TimeSpan timeSpan The expiration duration time. | Improve this Doc View Source UseDeepValidation(Boolean) Changes the value of the ShouldUseDeepValidation property. Declaration public static void UseDeepValidation(bool validation) Parameters Type Name Description Boolean validation Determines if Venflow should use deep validation or not.\"\n  },\n  \"api/Venflow.VenflowDbType.html\": {\n    \"href\": \"api/Venflow.VenflowDbType.html\",\n    \"title\": \"Class VenflowDbType | Venflow Documentation\",\n    \"keywords\": \"Class VenflowDbType Inheritance Object VenflowDbType Namespace : Venflow Assembly : Venflow.dll Syntax public static class VenflowDbType : object Fields | Improve this Doc View Source Abstime Corresponds to the obsolete PostgreSQL \\\"abstime\\\" type. Declaration public const int Abstime = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-datetime.html | Improve this Doc View Source Array Corresponds to the PostgreSQL \\\"array\\\" type, a variable-length multidimensional array of another type. This value must be combined with another value from via a bit OR (e.g. NpgsqlDbType.Array | NpgsqlDbType.Integer) Declaration public const int Array = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/arrays.html | Improve this Doc View Source Bigint Corresponds to the PostgreSQL 8-byte \\\"bigint\\\" type. Declaration public const int Bigint = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-numeric.html | Improve this Doc View Source Bit Corresponds to the PostgreSQL \\\"bit\\\" type. Declaration public const int Bit = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-bit.html | Improve this Doc View Source Boolean Corresponds to the PostgreSQL \\\"boolean\\\" type. Declaration public const int Boolean = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-boolean.html | Improve this Doc View Source Box Corresponds to the PostgreSQL geometric \\\"box\\\" type. Declaration public const int Box = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-geometric.html | Improve this Doc View Source Bytea Corresponds to the PostgreSQL \\\"bytea\\\" type, holding a raw byte string. Declaration public const int Bytea = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-binary.html | Improve this Doc View Source Char Corresponds to the PostgreSQL \\\"char(n)\\\" type. Declaration public const int Char = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-character.html | Improve this Doc View Source Cid Corresponds to the PostgreSQL \\\"cid\\\" type, an internal command identifier. Declaration public const int Cid = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-oid.html | Improve this Doc View Source Cidr Corresponds to the PostgreSQL \\\"cidr\\\" type, a field storing an IPv4 or IPv6 network. Declaration public const int Cidr = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-net-types.html | Improve this Doc View Source Circle Corresponds to the PostgreSQL geometric \\\"circle\\\" type. Declaration public const int Circle = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-geometric.html | Improve this Doc View Source Citext Corresponds to the PostgreSQL \\\"citext\\\" type for the citext module. Declaration public const int Citext = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/citext.html | Improve this Doc View Source Date Corresponds to the PostgreSQL \\\"date\\\" type. Declaration public const int Date = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-datetime.html | Improve this Doc View Source Double Corresponds to the PostgreSQL 8-byte floating-point \\\"double\\\" type. Declaration public const int Double = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-numeric.html | Improve this Doc View Source Geography The geography (geodetic) type for PostgreSQL spatial extension PostGIS. Declaration public const int Geography = null Field Value Type Description Int32 | Improve this Doc View Source Geometry The geometry type for PostgreSQL spatial extension PostGIS. Declaration public const int Geometry = null Field Value Type Description Int32 | Improve this Doc View Source Hstore Corresponds to the PostgreSQL \\\"hstore\\\" type, a dictionary of string key-value pairs. Declaration public const int Hstore = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/hstore.html | Improve this Doc View Source Inet Corresponds to the PostgreSQL \\\"inet\\\" type. Declaration public const int Inet = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-net-types.html | Improve this Doc View Source Int2Vector Corresponds to the PostgreSQL internal \\\"int2vector\\\" type. Declaration public const int Int2Vector = null Field Value Type Description Int32 | Improve this Doc View Source Integer Corresponds to the PostgreSQL 4-byte \\\"integer\\\" type. Declaration public const int Integer = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-numeric.html | Improve this Doc View Source InternalChar Corresponds to the PostgreSQL \\\"char\\\" type. Declaration public const int InternalChar = null Field Value Type Description Int32 Remarks This is an internal field and should normally not be used for regular applications. See https://www.postgresql.org/docs/current/static/datatype-text.html | Improve this Doc View Source Interval Corresponds to the PostgreSQL \\\"interval\\\" type. Declaration public const int Interval = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-datetime.html | Improve this Doc View Source Json Corresponds to the PostgreSQL \\\"json\\\" type, a field storing JSON in text format. Declaration public const int Json = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-json.html See Also Jsonb | Improve this Doc View Source Jsonb Corresponds to the PostgreSQL \\\"jsonb\\\" type, a field storing JSON in an optimized binary. format. Declaration public const int Jsonb = null Field Value Type Description Int32 Remarks Supported since PostgreSQL 9.4. See https://www.postgresql.org/docs/current/static/datatype-json.html | Improve this Doc View Source JsonPath Corresponds to the PostgreSQL \\\"jsonpath\\\" type, a field storing JSON path in text format. format. Declaration public const int JsonPath = null Field Value Type Description Int32 Remarks Supported since PostgreSQL 12. See https://www.postgresql.org/docs/current/datatype-json.html#DATATYPE-JSONPATH | Improve this Doc View Source Line Corresponds to the PostgreSQL geometric \\\"line\\\" type. Declaration public const int Line = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-geometric.html | Improve this Doc View Source LQuery The PostgreSQL lquery type for PostgreSQL extension ltree Declaration public const int LQuery = null Field Value Type Description Int32 Remarks See http://www.postgresql.org/docs/current/static/ltree.html | Improve this Doc View Source LSeg Corresponds to the PostgreSQL geometric \\\"lseg\\\" type. Declaration public const int LSeg = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-geometric.html | Improve this Doc View Source LTree The PostgreSQL ltree type, each value is a label path \\\"a.label.tree.value\\\", forming a tree in a set. Declaration public const int LTree = null Field Value Type Description Int32 Remarks See http://www.postgresql.org/docs/current/static/ltree.html | Improve this Doc View Source LTxtQuery The PostgreSQL ltxtquery type for PostgreSQL extension ltree Declaration public const int LTxtQuery = null Field Value Type Description Int32 Remarks See http://www.postgresql.org/docs/current/static/ltree.html | Improve this Doc View Source MacAddr Corresponds to the PostgreSQL \\\"macaddr\\\" type, a field storing a 6-byte physical address. Declaration public const int MacAddr = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-net-types.html | Improve this Doc View Source MacAddr8 Corresponds to the PostgreSQL \\\"macaddr8\\\" type, a field storing a 6-byte or 8-byte physical address. Declaration public const int MacAddr8 = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-net-types.html | Improve this Doc View Source Money Corresponds to the PostgreSQL \\\"money\\\" type. Declaration public const int Money = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-money.html | Improve this Doc View Source Multirange Corresponds to the PostgreSQL \\\"multirange\\\" type, continuous range of values of specific type. This value must be combined with another value from via a bit OR (e.g. NpgsqlDbType.Multirange | NpgsqlDbType.Integer) Declaration public const int Multirange = null Field Value Type Description Int32 Remarks Supported since PostgreSQL 14. See https://www.postgresql.org/docs/current/static/rangetypes.html | Improve this Doc View Source Name Corresponds to the PostgreSQL internal \\\"name\\\" type. Declaration public const int Name = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-character.html | Improve this Doc View Source Numeric Corresponds to the PostgreSQL arbitrary-precision \\\"numeric\\\" type. Declaration public const int Numeric = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-numeric.html | Improve this Doc View Source Oid Corresponds to the PostgreSQL \\\"oid\\\" type. Declaration public const int Oid = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-oid.html | Improve this Doc View Source Oidvector Corresponds to the PostgreSQL internal \\\"oidvector\\\" type. Declaration public const int Oidvector = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-oid.html | Improve this Doc View Source Path Corresponds to the PostgreSQL geometric \\\"path\\\" type. Declaration public const int Path = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-geometric.html | Improve this Doc View Source PgLsn Corresponds to the PostgreSQL \\\"pg_lsn\\\" type, which can be used to store LSN (Log Sequence Number) data which is a pointer to a location in the WAL. Declaration public const int PgLsn = null Field Value Type Description Int32 Remarks See: https://www.postgresql.org/docs/current/datatype-pg-lsn.html and https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=7d03a83f4d0736ba869fa6f93973f7623a27038a | Improve this Doc View Source Point Corresponds to the PostgreSQL geometric \\\"point\\\" type. Declaration public const int Point = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-geometric.html | Improve this Doc View Source Polygon Corresponds to the PostgreSQL geometric \\\"polygon\\\" type. Declaration public const int Polygon = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-geometric.html | Improve this Doc View Source Range Corresponds to the PostgreSQL \\\"range\\\" type, continuous range of values of specific type. This value must be combined with another value from via a bit OR (e.g. NpgsqlDbType.Range | NpgsqlDbType.Integer) Declaration public const int Range = null Field Value Type Description Int32 Remarks Supported since PostgreSQL 9.2. See https://www.postgresql.org/docs/current/static/rangetypes.html | Improve this Doc View Source Real Corresponds to the PostgreSQL floating-point \\\"real\\\" type. Declaration public const int Real = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-numeric.html | Improve this Doc View Source Refcursor Corresponds to the PostgreSQL \\\"refcursor\\\" type. Declaration public const int Refcursor = null Field Value Type Description Int32 | Improve this Doc View Source Regconfig Corresponds to the PostgreSQL \\\"regconfig\\\" type. Declaration public const int Regconfig = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-textsearch.html | Improve this Doc View Source Regtype Corresponds to the PostgreSQL \\\"regtype\\\" type, a numeric (OID) ID of a type in the pg_type table. Declaration public const int Regtype = null Field Value Type Description Int32 | Improve this Doc View Source Smallint Corresponds to the PostgreSQL 2-byte \\\"smallint\\\" type. Declaration public const int Smallint = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-numeric.html | Improve this Doc View Source Text Corresponds to the PostgreSQL \\\"text\\\" type. Declaration public const int Text = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-character.html | Improve this Doc View Source Tid Corresponds to the PostgreSQL \\\"tid\\\" type, a tuple id identifying the physical location of a row within its table. Declaration public const int Tid = null Field Value Type Description Int32 | Improve this Doc View Source Time Corresponds to the PostgreSQL \\\"time\\\" type. Declaration public const int Time = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-datetime.html | Improve this Doc View Source Timestamp Corresponds to the PostgreSQL \\\"timestamp\\\" type. Declaration public const int Timestamp = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-datetime.html | Improve this Doc View Source TimestampTz Corresponds to the PostgreSQL \\\"timestamp with time zone\\\" type. Declaration public const int TimestampTz = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-datetime.html | Improve this Doc View Source TimestampTZ Corresponds to the PostgreSQL \\\"timestamp with time zone\\\" type. Declaration public const int TimestampTZ = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-datetime.html | Improve this Doc View Source TimeTz Corresponds to the PostgreSQL \\\"time with time zone\\\" type. Declaration public const int TimeTz = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-datetime.html | Improve this Doc View Source TimeTZ Corresponds to the PostgreSQL \\\"time with time zone\\\" type. Declaration public const int TimeTZ = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-datetime.html | Improve this Doc View Source TsQuery Corresponds to the PostgreSQL \\\"tsquery\\\" type. Declaration public const int TsQuery = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-textsearch.html | Improve this Doc View Source TsVector Corresponds to the PostgreSQL \\\"tsvector\\\" type. Declaration public const int TsVector = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-textsearch.html | Improve this Doc View Source Unknown A special value that can be used to send parameter values to the database without specifying their type, allowing the database to cast them to another value based on context. The value will be converted to a string and send as text. Declaration public const int Unknown = null Field Value Type Description Int32 Remarks This value shouldn't ordinarily be used, and makes sense only when sending a data type unsupported by Npgsql. | Improve this Doc View Source Uuid Corresponds to the PostgreSQL \\\"uuid\\\" type. Declaration public const int Uuid = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-uuid.html | Improve this Doc View Source Varbit Corresponds to the PostgreSQL \\\"varbit\\\" type, a field storing a variable-length string of bits. Declaration public const int Varbit = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-boolean.html | Improve this Doc View Source Varchar Corresponds to the PostgreSQL \\\"varchar\\\" type. Declaration public const int Varchar = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-character.html | Improve this Doc View Source Xid Corresponds to the PostgreSQL \\\"xid\\\" type, an internal transaction identifier. Declaration public const int Xid = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-oid.html | Improve this Doc View Source Xid8 Corresponds to the PostgreSQL \\\"xid8\\\" type, an internal transaction identifier. Declaration public const int Xid8 = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-oid.html | Improve this Doc View Source Xml Corresponds to the PostgreSQL \\\"xml\\\" type. Declaration public const int Xml = null Field Value Type Description Int32 Remarks See https://www.postgresql.org/docs/current/static/datatype-xml.html\"\n  },\n  \"guides/advanced/aspnetcore.html\": {\n    \"href\": \"guides/advanced/aspnetcore.html\",\n    \"title\": \"Asp.Net Core with Venflow | Venflow Documentation\",\n    \"keywords\": \"Asp.Net Core with Venflow Venflow natively adds container support for Asp.Net Core through the Venflow.AspNetCore NuGet package. It allows to directly register a Database to your IServiceCollection through the AddDatabase method. Warning Although this is fairly straightforward, you should ensure that your Database class has a public constructor with a DatabaseOptionsBuilder<T> as a parameter which is getting passed to the appropriate base constructor. Otherwise it will ignore any options you configured.\"\n  },\n  \"guides/advanced/enums.html\": {\n    \"href\": \"guides/advanced/enums.html\",\n    \"title\": \"Enums with Venflow | Venflow Documentation\",\n    \"keywords\": \"Enums with Venflow Enums are quite heavily used in C# and PostgreSQL, there are two different options of mapping you can choose from. By default any enum will be mapped as the underlying numeric data type in the database. However if you want to use a native PostgreSQL enum you have to specify that in the Configuration of your entity. public class FooConfiguration : EntityConfiguration<Foo> { protected override void Configure(IEntityBuilder<Foo> entityBuilder) { entityBuilder.MapPostgresEnum(x => x.Bar); } } Note It is enough to map your PostgreSQL enum once in an assembly. However, if you prefer, you can also configure it multiple times. Note By default the name of the enum within C# will be converted to a lower-cased _ separated name. That means FooBaz would be converted to foo_baz . If you want to override any of the naming behaviours you can pass a valid value to the name / npgsqlNameTranslator parameters.\"\n  },\n  \"guides/advanced/interpolation.html\": {\n    \"href\": \"guides/advanced/interpolation.html\",\n    \"title\": \"Interpolation with Venflow | Venflow Documentation\",\n    \"keywords\": \"Interpolation with Venflow If you never heard about string interpolation you should check the official docs . Writing SQL can be a real pain especially while writing in by hand and keeping it injection safe. However Venflow tries to help you with all of that, especially by providing a simple way to write injection safe SQL. All API's which allow for SQL with parameters also have a counterpart called something along the lines of *Interpolation*. They accept a FormattableString which allow for interpolated strings. Lets take a look at how this would like with a query, that queries all blogs with a similar one to the name provided by the user. var name = Console.ReadLine(); // The name of the blogs to find with a similar name var blogs = await database.Blogs.QueryInterpolatedBatch($@\\\"SELECT * FROM \\\"\\\"Blogs\\\"\\\" WHERE \\\"\\\"Name\\\"\\\" LIKE {name}\\\") .QueryAsync(); Warning This way of injecting parameters is totally safe, however you need to be very careful to always choose the interpolation methods while doing this. Extract interpolated SQL into variables If your SQL statement is a little bit larger than usual you might want to extract your string to a local variable or similar. However you need to be careful while choosing the variable type. Your habits might want to tell you to choose a string or var however you need to make sure that you explicitly set the variable type to FormattableString . Otherwise the string interpolation happens inline and no parameterizing by Venflow will happen. Down below you will see a simple example of how that would look like. FormattableString sql = $@\\\"SELECT * FROM \\\"\\\"Blogs\\\"\\\" WHERE \\\"\\\"Name\\\"\\\" LIKE {Console.ReadLine()}\\\"; var blogs = await database.Blogs.QueryInterpolatedBatch(sql) .QueryAsync(); Supported interpolation types At the current state you can use all types Npgsql supports , as well as a few neat features Venflow implemented such as the support for ulong , ulong? and all types that implement IList<T> , this includes types such as arrays and all collections that implement it. Lets look at its behaviour with an example. var blogIds = new int[3] { 1, 2, 3 }; FormattableString sql = $@\\\"SELECT * FROM \\\"\\\"Blogs\\\"\\\" WHERE \\\"\\\"Id\\\"\\\" IN ({blogIds})\\\"; var blogs = await database.Blogs.QueryInterpolatedBatch(sql) .QueryAsync(); This will query all blogs with the ids 1 , 2 and 3 . The above written SQL statement will be converted to the following: -- @p* will contain their repective values e.g. (1, 2, 3) SELECT * FROM \\\"Blogs\\\" WHERE \\\"Id\\\" IN (@p1, @p2, @p3) Of course the numbers usually would be parametrized, however for the sake of this example it contains the values directly. Dynamic SQL There might be situations in which you need to dynamically generate SQL with parameters, in which case the common StringBuilder isn't sufficient enough. Venflow provides you with the FormattableSqlStringBuilder class which acts like a StringBuilder , however it provides methods, which allow for interpolated SQL. Lets take a look at this with a more practical example. public Task<List<Blogs>> GetBlogsAsync(string[]? names) { var stringBuilder = new FormattableSqlStringBuilder(); stringBuilder.Append(@\\\"SELECT * FROM \\\"\\\"Blogs\\\"\\\"\\\"); if(names is not null && names.Length > 0) { stringBuilder.Append(@\\\" WHERE \\\"\\\"Name\\\"\\\" IN (\\\"); stringBuilder.AppendParameter(names); stringBuilder.AppendInterpolated(@$\\\") AND LENGTH(\\\"\\\"Name\\\"\\\") > {5}\\\"); } return database.Blogs.QueryInterpolatedBatch(stringBuilder).QueryAsync(); } Obviously the query shown above is not too useful, however if names would be provided, it would only query those and additionally they would need to be longer than 5 characters.\"\n  },\n  \"guides/advanced/logging.html\": {\n    \"href\": \"guides/advanced/logging.html\",\n    \"title\": \"Logging with Venflow | Venflow Documentation\",\n    \"keywords\": \"Logging with Venflow Logging in general is a very important topic, especially in a scenario like this, in which the ORM partially creates SQL. At the current state, Venflow only supports logging executed commands, rather than the logging of internal events. Setup the logging provider You configure your logging provider on a Database basis, by overriding the Configure method. For this example, lets use the database which you already know from the Setup Guide . By using the provided DatabaseOptionsBuilder , you can call the LogTo method on it. The delegate defines three parameters, the executed NpgsqlCommand , the CommandType executed as well as the exception if any occurred. However it is important to note that Venflow, at least at the current state, only logs the executed commands and nothing else. Note The sensitive data logging is a bit special, since it populates the parameters on the client, rather than on the server. This means, that the populated SQL might not always be 100% accurate. To get the the sensitive data call the NpgsqlCommandExtensions.GetUnParameterizedCommandText extension method on the provided NpgsqlCommand instance. However, it also got some other caveats, you can get more information by further inspecting the API reference. public class BlogDatabase : Database { public Table<Blog> Blogs { get; set; } public Table<Post> Posts { get; set; } public BlogDatabase() : base(\\\"Your connection string.\\\") { } protected override void Configure(DatabaseOptionsBuilder optionsBuilder) { // You can also configure multiple loggers. optionsBuilder.LogTo((command, type, exception) => Console.WriteLine(command.CommandText)); } } Setup the logging provider in a more specific manner You don't always want the ORM to log every single SQL statement ever to be executed, in this case Venflow allows to individually override the logging behaviour on a command basis by calling LogTo on the method chain. In the example down below, all globally defined loggers will be overridden by the loggers configured on the command. FormattableString sql = $@\\\"SELECT * FROM \\\"\\\"Blogs\\\"\\\" WHERE \\\"\\\"Id\\\"\\\" = {someId} LIMIT 1\\\"; var blog = await database.Blogs.QueryInterpolatedSingle(sql) // You can also configure multiple loggers. .LogTo((command, type, exception) => Console.WriteLine(command.CommandText)) .QueryAsync(); However, lets assume you wouldn't want to configure the logger on a command basis, but would rather cherry pick the commands. In that case you would need to set the DatabaseOptionsBuilder.DefaultLoggingBehavior to DefaultLoggingBehavior.Never in the same method you configured the global logger. Then you would want to call LogTo on all commands you would want to be logged.\"\n  },\n  \"guides/advanced/logging_extensions.html\": {\n    \"href\": \"guides/advanced/logging_extensions.html\",\n    \"title\": \"Logging with Venflow and Microsoft.Extensions.Logging | Venflow Documentation\",\n    \"keywords\": \"Logging with Venflow and Microsoft.Extensions.Logging Venflow has out of the box support for Microsoft.Extensions.Logging , however it needs an add-in package called Venflow.Extensions.Logging which can be downloaded through the NuGet Package Manager. After installing you will be able to use the extensions method UseLoggerFactory on your DatabaseOptionsBuilder instance as shown in the example below. The Boolean parameter specifies whether or not to include sensitive information in the formatted log. public class BlogDatabase : Database { // Omitted for brevity. private readonly ILoggerFactory _loggerFactory; public BlogDatabase(ILoggerFactory loggerFactory) : base(\\\"Your connection string.\\\") { _loggerFactory = loggerFactory; } protected override void Configure(DatabaseOptionsBuilder optionsBuilder) { optionsBuilder.UseLoggerFactory(_loggerFactory, true); } }\"\n  },\n  \"guides/advanced/nullables.html\": {\n    \"href\": \"guides/advanced/nullables.html\",\n    \"title\": \"Nullables with Venflow | Venflow Documentation\",\n    \"keywords\": \"Nullables with Venflow Since C#8 null-able reference types are supported which help you writing better code and improves the IntelliSense. However for Venflow this also is a big deal. If you have specified <Nullable>enable</Nullable> in your .csproj file you opt-in for this feature. You will then be forced to mark all fields as null-able which are also marked as null-able in your database. That way Venflow can produce way more optimized code. Warning You will also be forced to apply the null-able identifiers for all foreign-keys and navigation properties, if they are indeed null-able.\"\n  },\n  \"guides/advanced/prepared_statements.html\": {\n    \"href\": \"guides/advanced/prepared_statements.html\",\n    \"title\": \"Statement Preparation with Venflow | Venflow Documentation\",\n    \"keywords\": \"Statement Preparation with Venflow You can also prepare Query statements with Venflow through the Query Builder. This would look something like the following. var someId = 10; var query = await database.Blogs.QueryInterpolatedBatch($@\\\"SELECT * FROM \\\"\\\"Blogs\\\"\\\" WHERE \\\"\\\"Id\\\"\\\" = {someId}\\\", false) .Build() .PrepareAsync(); // You need to store this stamenet in a field or similar and reuse it, every time you want to query through this prepared statment. var blogs = await _database.Blogs.QueryAsync(query); // You can also inline this with the line above. Note Also do not forget to call UnprepareAsync or DisposeAsync on this command once you no longer need it. Note One handy feature that comes in for you, is that you can use this prepared command with any Database instance.\"\n  },\n  \"guides/advanced/query_command_cache.html\": {\n    \"href\": \"guides/advanced/query_command_cache.html\",\n    \"title\": \"Caching Command Queries | Venflow Documentation\",\n    \"keywords\": \"Caching Command Queries Do note, that this guide is not about Query Response Caching, but rather about caching the underlying command. Venflow uses different methods to cache the underlying query result parser aka. query materializer. There are two layers to this caching mechanism, where the first one is by SQL query string and the second one by the actual properties of the query such as returned columns. There is not much for you to configure, however if you do wish you can configure the cache expiration time of the first layer. This is important, in order to prevent too much memory allocation by the SQL query strings. In the example shown below, the cache expiration time is set to 10 minutes instead of the default of 5 minutes. VenflowConfiguration.SetDynamicCacheExpirationTime(TimeSpan.FromMinutes(10)); Note Once a SQL query reached its expiration time, it will indeed be removed from the first layer cache, however once it will be executed again, it will NOT need to recompile the query materializer, since it calls the slower, but memory-lighter second layer cache instead.\"\n  },\n  \"guides/advanced/strong_key.html\": {\n    \"href\": \"guides/advanced/strong_key.html\",\n    \"title\": \"Strongly-typed Ids with Venflow | Venflow Documentation\",\n    \"keywords\": \"Strongly-typed Ids with Venflow Usually when interacting with any SQL database ids are quite common, especially when you have to write the SQL on your own. One might now ask themselves, why there even would be a need for strongly-typed ids, lets look at the example below. var blogId = 10; var postId = 14; var post = GetPostByBlog(postId, blogId); public Post GetPostByBlog(int blogId, int postId) { // Omitted for brevity } This code will compile just fine, however as you might have spotted, the postId and blogId are in the wrong order and therefore might not give us the expected result. This can be a real nightmare to fix as it is rather hard to spot in a large codebase with a lot of different entities. Luckily Venflow directly provides you with a build in solution called strongly-typed ids, through the Key<T,TKey> API. Lets look at a full implementation. public class Blog { public Key<Blog, int> Id { get; set; } // Using Key instead of int public string Name { get; set; } public IList<Post> Posts { get; } public Blog() { Posts = new List<Post>(); } } public class Post { public Key<Post, int> Id { get; set; } // Using Key instead of int public string Title { get; set; } public string Content { get; set; } public Key<Blog, int> BlogId { get; set; } // Using Key instead of int public Blog Blog { get; set; } } Not only do primary-keys benefit from this, but also all the columns/properties which take any kind of id, such as foreign-keys. Not only do we now have type-safety, but also close to zero effort, since equality operators as well as implicit cast operators are predefined. Lets take the example from before and see what changes. Key<Blog, int> blogId = 10; Key<Post, int> postId = 14; var post = GetPostByBlog(postId, blogId); public Post GetPostByBlog(Key<Blog, int> blogId, Key<Post, int> postId) { // Omitted for brevity } This will no longer compile, due to the fact, that the Key<Post, int> stored in postId can not be implicitly converted to the Key<Blog, int> parameter defined in the by the GetPostByBlog method. Reducing the boilerplate This is already an improvement, but it is somewhat annoying to always specify the type the key belongs to as well as the type of the key. In most databases you will most likely end up with the same type of id for all of your tables. Therefor it is rather unnecessary to specify it every time in code. Venflow provides you with a Source Generator to create a strongly-typed id with a fixed type for us. However, do note that Source Generators are only available through C#9. [Venflow.GeneratedKey(typeof(int))] public partial struct Key<T> { } From now on you would be able to create all your strongly-typed ids as shown below. public class Post { public Key<Post> Id { get; set; } // Using Key<T> instead of Key<T, TKey> public string Title { get; set; } public string Content { get; set; } public Key<Blog> BlogId { get; set; } // Using Key<T> instead of Key<T, TKey> public Blog Blog { get; set; } } If required you could also create multiple strongly-typed ids with a fixed types, by naming them differently, for example IntKey<T> or GuidKey<T> . Note If you want to use Strongly-typed id's without referencing the whole ORM, you can install Venflow.Keys from NuGet. Support for JSON Venflow natively supports System.Text.Json and Newtonsoft.Json , however if you do want to use Newtonsoft.Json you will need to additionally add Venflow.NewtonsoftJson . System.Text.Json You will need to tell the serializer and de-serializer how to handle the new type, you can do this by adding the following line to your JsonOptions . var options = new JsonOptions(); options.Converters.Add(new JsonKeyConverterFactory()); Newtonsoft.Json You will need to tell the serializer and de-serializer how to handle the new type, you can do this by adding the following line to your JsonSerializerSettings . var settings = new JsonSerializerSettings(); settings.Converters.Add(new NewtonsoftJsonKeyConverter()); Support for Asp.Net Core Venflow natively supports System.Text.Json with Asp.Net Core through the Venflow.AspNetCore NuGet package. In your Startup.cs file you can add the code below in your ConfigureServices method. servics.AddVenflowJson(); Newtonsoft.Json At the moment you still have to write your own implementation for Newtonsoft.Json , an example can be found below. servics.AddNewtonsoftJson(options => { options.SerializerSettings.Converters.Add(new NewtonsoftJsonKeyConverter()); });\"\n  },\n  \"guides/advanced/validation.html\": {\n    \"href\": \"guides/advanced/validation.html\",\n    \"title\": \"Validation with Venflow | Venflow Documentation\",\n    \"keywords\": \"Validation with Venflow Venflow performs a lot of validation under the hood, to perform the best possible UX. However this comes at a performance trade-off. Therefore Venflow only performs these validation, if you are using Venflow in a DEBUG build. If you would compile your assembly to RELEASE these validations wouldn't be performed. In order to manually override this behaviour you can configure this setting with the static VenflowConfiguration class. In the below example we would tell Venflow, to always use 'Deep Validation', no matter the configuration. You should place this at very beginning of your program, however you can change this value whenever you want. VenflowConfiguration.UseDeepValidation(true);\"\n  },\n  \"guides/getting_started/installation.html\": {\n    \"href\": \"guides/getting_started/installation.html\",\n    \"title\": \"Installing Venflow | Venflow Documentation\",\n    \"keywords\": \"Venflow Installation Supported Platforms Venflow supports .Net Framework 4.8 , .Net Standard 2.1 , .Net Core 3.1 , .Net 5 and .Net 6 . Installation from NuGet Venflow is distributed through the official NuGet feed as a lot of the other packages, which makes its install as easy as its get. Using Visual Studio Using the Nuget Package Manager Right click on 'References', and select 'Manage NuGet packages' In the \\\"Browse\\\" tab, search for Venflow Click install. Click on 'Tools', 'Nuget Package Manager' and 'Package Manager Console' Enter Install-Package Venflow\"\n  },\n  \"guides/getting_started/setup.html\": {\n    \"href\": \"guides/getting_started/setup.html\",\n    \"title\": \"Setup Venflow | Venflow Documentation\",\n    \"keywords\": \"Venflow Setup Configure the Database Warning Be aware, that LINQPad may throw unexpected errors and you therefore should use a real .Net Project instead. In Venflow you are reflecting your PostgreSQL database with the Database class, which will host all of your tables. In the following example we will configure a database containing two tables, Blogs and Posts . One Blog contains many posts and a post contains a single Blog. public class BlogDatabase : Database { public Table<Blog> Blogs { get; set; } public Table<Post> Posts { get; set; } public BlogDatabase() : base(\\\"Your connection string.\\\") { } } Note Usually you would use your Database with an IOC Container and register it as a Transient / Scoped depending on the use. Warning This class represents a connection to your database and therefore doesn't support multi threaded use. Entities Entities represent a row inside a table of your database, for our current example this would look something like the following. Entities have to follow a specific schema: The Entity itself has to be public. All properties representing a column have to be public and need to have a public setter. public class Blog { public int Id { get; set; } public string Name { get; set; } public IList<Post> Posts { get; } public Blog() { Posts = new List<Post>(); } } public class Post { public int Id { get; set; } public string Title { get; set; } public string Content { get; set; } public int BlogId { get; set; } public Blog Blog { get; set; } } Note You don't necessarily need to instantiate the Posts navigation property on the Blog Entity, since Venflow will instantiate them otherwise. However in most cases it is more convenient to instantiate them on your own, otherwise foreign collections might be null ! Warning All properties which you want to be updateable by change-tracking have to be marked as virtual! Configuring Entities Now lets configure the actual relation between Blogs and Posts through the EntityConfiguration<T> class. In the Configure , method you can configure several things such as the name of the table this entity should map to and much more. These configuration classes do automatically get discovered, if they are in the same assembly as the Database class. If they are not in the same assembly, you can override the Configure method in the Database class which passes in a DatabaseOptionsBuilder , which will allow you to specify assemblies which should also be searched for entity configurations. public class BlogConfiguration : EntityConfiguration<Blog> { protected override void Configure(IEntityBuilder<Blog> entityBuilder) { entityBuilder.HasMany(b => b.Posts) .WithOne(p => p.Blog) .UsingForeignKey(p => p.BlogId); } } Note Most of the configurations have to be configured with the IEntityConfiguration<T> interface, however there are a few exceptions to this rule. Primary Keys get automatically mapped if they are named Id or decorated with the KeyAttribute . A property can also be ignored with the NotMappedAttribute .\"\n  },\n  \"guides/introduction/intro.html\": {\n    \"href\": \"guides/introduction/intro.html\",\n    \"title\": \"Introduction to Venflow | Venflow Documentation\",\n    \"keywords\": \"Introduction Welcome to the documentation, there are a few requirements your skills should meet. Pretty solid understanding of C#, if not take a look at the C# Programming Guide Experience with SQL Queries and PostgreSQL in general In the guides section you can find information on how to install Venflow and articles which help you to get started. You need more help? Feel free to create a GitHub issue or join the Discord Server .\"\n  },\n  \"guides/operations/count.html\": {\n    \"href\": \"guides/operations/count.html\",\n    \"title\": \"Count with Venflow | Venflow Documentation\",\n    \"keywords\": \"Count Rows with Venflow Your Database class exposes Table<T> properties which expose count operations. In Venflow counts are always automatically generated. For this example, we want to get the amount of rows in the Posts table. await database.Posts.CountAsync();\"\n  },\n  \"guides/operations/delete.html\": {\n    \"href\": \"guides/operations/delete.html\",\n    \"title\": \"Delete with Venflow | Venflow Documentation\",\n    \"keywords\": \"Delete Data with Venflow Your Database class exposes Table<T> properties which expose delete operations. In Venflow deletes are always automatically generated. For this example, we want to delete a blog with all of its posts at once. var blog = await database.Blogs.QuerySingle(@\\\"SELECT * FROM \\\"\\\"Blogs\\\"\\\" LIMIT 1\\\").QueryAsync(); await database.Blogs.DeleteAsync(blog); As an alternative, if you already have the primary key of the blog you want to delete you can create a new Blog instance. await database.Blogs.DeleteAsync(new Blog { Id = 1 });\"\n  },\n  \"guides/operations/execute.html\": {\n    \"href\": \"guides/operations/execute.html\",\n    \"title\": \"Execute with Venflow | Venflow Documentation\",\n    \"keywords\": \"Execute SQL with Venflow Warning Be carful while dealing with raw SQL and ensure that you never pass user modified SQL to any of the methods. Instead use parameterized overloads or the Interpolated siblings. Your Database class exposes Execute methods which allow for fully custom SQL. In this example we drop a table. await database.ExecuteAsync(@\\\"DROP TABLE \\\"\\\"Foo\\\"\\\"\\\");\"\n  },\n  \"guides/operations/insert.html\": {\n    \"href\": \"guides/operations/insert.html\",\n    \"title\": \"Insert with Venflow | Venflow Documentation\",\n    \"keywords\": \"Insert Data with Venflow Your Database class exposes Table<T> properties which expose insert operations. In Venflow insert are always automatically generated. For this example, we want to insert a blog with a few posts at once. var blog = new Blog { Name = \\\"My new Blog\\\", Posts = new List<Post> { new Post { Title = \\\"This is my first Post\\\", Content = \\\"Hey there.\\\" }, new Post { Title = \\\"This is my second Post\\\", Content = \\\"Hey there again!\\\" } } }; await database.Blogs.InsertAsync(blog); Insert Data without relations One of the nice things with Venflow is, that you don't need to set all navigation properties to null, if you don't want to insert them. In this example we would have posts with a blog, but we only want to insert the blog. var blog = new Blog { Name = \\\"My new Blog\\\", Posts = new List<Post> { new Post { Title = \\\"This is my first Post\\\", Content = \\\"Hey there.\\\" }, new Post { Title = \\\"This is my second Post\\\", Content = \\\"Hey there again!\\\" } } }; await database.Blogs.Insert().InsertAsync(blog); Note This builder exposes similar methods to the Query builder, you can use InsertWith and AndWith to further configure the insert. Note The method InsertWithAll will insert with all populated and reachable relations. This is the equivalent to calling database.Blogs.InsertAsync() .\"\n  },\n  \"guides/operations/query.html\": {\n    \"href\": \"guides/operations/query.html\",\n    \"title\": \"Query with Venflow | Venflow Documentation\",\n    \"keywords\": \"Query Data with Venflow Warning Be carful while dealing with raw SQL and ensure that you never pass user modified SQL to any of the methods. Instead use parameterized and lambda overloads, or the Interpolated siblings. Warning The primary key always has to be present and it has to be the first column of any given table returned by a SQL Query. Query data without relations Your Database class exposes Table<T> properties which expose query operations. In Venflow queries are based on hand-written SQL. In this case we query the first 10 blogs in the database. await using var database = new BlogDatabase(); // You should register this in a Transient/Scoped your IOC Container. // You can re-use this in different BlogDatabase instances through the database.Blogs.QueryAsync() method // If you intend to reuse the query below you need to pass the QueryBatch method false for the disposeCommand, // otherwise the underyling command will be disposed after the first use. var query = database.Blogs.QueryBatch(@\\\"SELECT * FROM \\\"\\\"Blogs\\\"\\\" LIMIT 10\\\").Build(); var blogs = await query.QueryAsync(); // You can also inline this with the line above. Additionally if you do not intend to reuse the the command instance you can omit the Build method call and directly call QueryAsync . Also, if you instead only wanted to query the first result, you can use the QuerySingle API. var blog = await database.Blogs.QuerySingle(@\\\"SELECT * FROM \\\"\\\"Blogs\\\"\\\" LIMIT 1\\\").QueryAsync(); Query data with relations In this case we want to get the first 5 blogs with all of their posts. If you want to perform a join, the builder exposes the JoinWith and the ThenWith method to perform nested joins. const string sql = @\\\"SELECT * FROM ( SELECT * FROM \\\"\\\"Blogs\\\"\\\" LIMIT 5 ) AS \\\"\\\"Blogs\\\"\\\" JOIN \\\"\\\"Posts\\\"\\\" ON \\\"\\\"Posts\\\"\\\".\\\"\\\"BlogId\\\"\\\" = \\\"\\\"Blogs\\\"\\\".\\\"\\\"Id\\\"\\\"\\\"; var blogs = await database.Blogs.QueryBatch(sql).JoinWith(x => x.Posts).QueryAsync(); If you instead only wanted to query the first blog with all of its posts, you can again use the QuerySingle API. var blog = await database.Blogs.QuerySingle().JoinWith(x => x.Posts).QueryAsync(); Warning When joining with multiple relations, ensure that the order of joins configured with Venflow, are equal to the order of joins in the SQL. Queries with parameters Most of the times your query contains some sort of parameters. With Venflow you have two options, either by using the raw NpgsqlParameter class and the matching QuerySingle / QueryBatch overloads or the Interpolated SQL methods. You can learn more about string interpolation in this guide . In this example, we try to query the first blog with the id 5 with all of its posts. FormattableString sql = $@\\\"SELECT * FROM ( SELECT * FROM \\\"\\\"Blogs\\\"\\\" WHERE \\\"\\\"Id\\\"\\\" = {5} LIMIT 1 ) AS \\\"\\\"Blogs\\\"\\\" JOIN \\\"\\\"Posts\\\"\\\" ON \\\"\\\"Posts\\\"\\\".\\\"\\\"BlogId\\\"\\\" = \\\"\\\"Blogs\\\"\\\".\\\"\\\"Id\\\"\\\"\\\"; var blog = await database.Blogs.QueryInterpolatedSingle(sql).JoinWith(x => x.Posts).QueryAsync(); Note Most of the methods in Venflow which accept raw SQL do have a sibling method called *Interpolated* . Query with refactorable SQL All Query* methods do contain an overload with a Func<T, FormattableString> parameter. This will not only allow for usual string interpolation like the Query*Interpolated methods, but also for refactorable SQL. var id = 1; var blog = await Database.Blogs.QuerySingle(b => $\\\"SELECT * FROM {b} WHERE {b.Id} = {id}\\\").QueryAsync(); This would result in the following SQL: -- @p1 will contain the value '1' SELECT * FROM \\\"Blogs\\\" WHERE \\\"Blogs\\\".\\\"Id\\\" = @p1 Note As the lambda is converted to an expression tree under the hood, try to keep computations as low as possible inside the interpolated string itself e.g. {} , in order to reduce the memory footprint as well as to improve the performance. Instead try to compute everything before querying and store these results in locals which then can used inside the interpolated SQL. Query relations with refactorable SQL Querying with relations works quite similar as in the example above. var id = 1; var blog = await Database.Blogs.QuerySingle<Post>( (b, p) => $\\\"SELECT * FROM {b} LEFT JOIN {p} ON {p.BlogId} = {b.Id} WHERE {b.Id} = {id}\\\" ).JoinWith(x => x.Posts).QueryAsync(); This would result in the following SQL: -- @p1 will contain the value '1' SELECT * FROM \\\"Blogs\\\" LEFT JOIN \\\"Posts\\\" ON \\\"Posts\\\".\\\"BlogId\\\" = \\\"Blogs\\\".\\\"Id\\\" WHERE \\\"Blogs\\\".\\\"Id\\\" = @p1 Note As the lambda is converted to an expression tree under the hood, try to keep computations as low as possible inside the interpolated string itself e.g. {} , in order to reduce the memory footprint as well as to improve the performance. Instead try to compute everything before querying and store these results in locals which then can used inside the interpolated SQL. Query partial data The beautiful thing about Venflow is that you can only query for partial data, which means that a query doesn't necessarily has to return all column. There are only two thing you need to be aware of: The primary key always needs to be returned Assuming you have two tables, table A and table B, which you are joining together. Table A isn't allowed to contain a column (other than the primary key) to have the same name as the primary key of table B. Otherwise Venflow won't be able to know when to spilt the SQL result. A simple example of that would be something like the following, where we just query the name and the primary key of all blogs. const string sql = @\\\"SELECT \\\"\\\"Id\\\"\\\", \\\"\\\"Name\\\"\\\" FROM \\\"\\\"Blogs\\\"\\\"\\\"; var blogs = await database.Blogs.QueryBatch(sql).QueryAsync(); Queries which don't return entities In Venflow you have the option to construct queries which don't necessarily return a row of a table, in this case you can use the Custom<T> method on your Database class. In the following example we want to return the amount of rows in the Blogs table. public class CountReturn { public int Count { get; set; } } await database.Custom<CountReturn>().QuerySingle(@\\\"SELECT COUNT(*) FROM \\\"\\\"Blogs\\\"\\\"\\\").QueryAsync(); Warning This API does not support any of the usual methods available on regular entities, such as change tracking or joins.\"\n  },\n  \"guides/operations/truncate.html\": {\n    \"href\": \"guides/operations/truncate.html\",\n    \"title\": \"Truncate with Venflow | Venflow Documentation\",\n    \"keywords\": \"Truncate Table with Venflow Your Database class exposes Table<T> properties which expose truncate operations. In Venflow truncates are always automatically. For this example, we want to truncate the Blogs table. await database.Blogs.TruncateAsync();\"\n  },\n  \"guides/operations/update.html\": {\n    \"href\": \"guides/operations/update.html\",\n    \"title\": \"Update with Venflow | Venflow Documentation\",\n    \"keywords\": \"Update Data with Venflow Your Database class exposes Table<T> properties which expose update operations. In Venflow updates are always automatically generated. Updates of data happen through change-tracking of entities, however this does not include navigation properties. For this example, we want to update the title of a post. Warning All properties which you want to be updateable by change-tracking have to be marked as virtual! In order to get a change-tracked entity you can choose either of two ways. You can use the TrackChanges method on the query builder to immediately get change tracked entities. var post = await database.Posts.QuerySingle().TrackChanges().QueryAsync(); post.Title = \\\"This post was updated!\\\"; await database.Posts.UpdateAsync(post); Or you change track an entity after it was created. var post = new Post { Id = 1 }; database.Posts.TrackChanges(ref post); post.Title = \\\"This post was updated!\\\"; await database.Posts.UpdateAsync(post); Note Change tracking is not limited to one Database instance, additionally updating a change tracked entity is thread save. Warning Change tracking won't compare the old value and the new value of a property, this means that if you assign a property, no matter the value, it is considered to be changed.\"\n  },\n  \"index.html\": {\n    \"href\": \"index.html\",\n    \"title\": \"Venflow | Venflow Documentation\",\n    \"keywords\": \"Venflow A brand new, fast, and lightweight ORM. | Documentation About Venflow is a brand new ORM, written from the ground up to try and provide an alternative to EF-Core and many other ORMs. It allows you to define Models and their relations with each other. Additionally it maps all queries on its own while still maintaining great performance. Lets face it, EF-Core is awesome, but it can be slow, really slow. However this library tries to overcome that by providing similar features while maintaining great performance. Venflow comes with a very similar UX to Dapper and EF-Core, in order to keep the learning curve as low as possible. Features Simple change-tracking for update operations Autogenerated Inserts Autogenerated Deletes Autogenerated Query Materializer, Join Generator SQL Injection safe string Interpolated SQL Collaboration The simplest way to do so, is by giving the project a ⭐ and sharing the project to others. How you can help other than that? This can be done in numerous ways, over on the issue section, such as: Creating feature requests Creating pull requests Reporting bugs For more information take a look at our contribution guideline . Installation Venflow can currently be downloaded on nuget.org . Also you can install it via the P ackage M anager C onsole: Install-Package Venflow Comparison Benchmarking ORM's isn't an easy task, since there are a bunch of different factors which can alter the result in one way or another. I do not present any beautiful graphs here simply because they would get too complex and it would require too many graphs to remain practical. This is also the reason why I tried to come up with a composite number based on benchmark results. If you still want check all the individual benchmarks, which you definitely should, the source code can be found here and the results as .csv and .md are over here . Lets just directly hop into the composite numbers of each tested ORM. <!--Benchmark Start--> ORM Name Composite Score* Mean Score* Allocation Score* #1 Dapper 2,917 2,813 0,104 #2 Venflow 4,567 3,851 0,716 #3 RepoDb 50,295 48,043 2,252 #4 EFCore 109,965 91,581 18,385 <!--Benchmark End--> * Lower is considered to be better ** Do have missing benchmark entries for specific benchmark groups and therefor might have either better or worse scores. Now how do I calculate this magic number ? The formula is as following: compositeScore = Σ((meanTime / lowestMeanTimeOfGroup - 1) + (allocation / lowestAllocationOfGroup - 1) / 10) A group is considered to be a list of benchmark entries which are inside the same file and have the same count and target framework. Now as some ORM's don't have any benchmarks entries for specific benchmark groups it will instead take the lowest mean and the lowest allocation from this group. The source code of the calculation can be found here . Disclaimer The benchmarks themselves or even the calculation of the composite numbers may not be right and contain bugs. Therefor take these results with a grain of salt. If you find any bugs inside the calculations or in the benchmarks please create an issue and I'll try to fix it ASAP. Is this package for you? Especially for ORM's it is becoming a harder challenge than ever before, to choose the right one for you. This project tries to be as transparent as possible, so if any of the following points apply to you or your project, choose a different ORM at least for your current project. You are feeling unsure about writing raw SQL. † You are using a database other than PostgreSQL. † You rely on a code-first implementation. You require Linq2Sql. † indicates that this point might change it the future But why should I use Venflow over EF-Core anyway? Obviously this project is nowhere near as mature as EF-Core as it already covers all your needs. However Venflow is all about performance in every way. You might ask yourself now, why would I even care? Well, especially for Web-Apps it really matters! Your response times for all requests involving some sort of Database interaction will immediately decrease. This also means that your application will not take up as much resources on your server. Obviously this only is applicable, if the website encounters somewhat high traffic. But why should I use Venflow over Dapper anyway? Venflow supports a lot more things out of the box, such as automatically generated Delete/Insert statements, as well as simple change tracking to easily update specific entities. Another big factor, which probably is one of the biggest differences to Dapper, are the automatically generated materializers for queries. A lot of the times a materializer generated by Venflow will be faster, especially for bigger tables, than a hand written Dapper one. This is due to the nature of how Dapper and Venflow handle parsing of SQL results. Basic usage As already mentioned, Venflow tries to keep the learning curve from other ORM's as low as possible, therefore a lot of patterns will seem familiar to either EFCore or Dapper. Basic configuration The official documentation and guides can be found here In Venflow you are reflecting your PostgreSQL database with the Database class, which will host all of your tables. This class represents a connection to your database and therefor doesn't support multi threaded use. In the following example we will configure a database containing two tables, Blogs and Posts . One Blog contains many posts and a post contains a single Blog. public class BlogDatabase : Database { public Table<Blog> Blogs { get; set; } public Table<Post> Posts { get; set; } public BlogDatabase() : base(\\\"Your connection string.\\\") { } } Now lets configure the actual relation between Blogs and Posts through the EntityConfiguration<T> class. In the Configure , method you can configure several things such as the name of the table this entity should map to and much more. These configuration classes do automatically get discovered, if they are in the same assembly as the Database class. If they are not in the same assembly, you can override the Configure method in the Database class which passes in a DatabaseOptionsBuilder , which will allow you to specify assemblies which should also be searched for entity configurations. public class BlogConfiguration : EntityConfiguration<Blog> { protected override void Configure(IEntityBuilder<Blog> entityBuilder) { entityBuilder.HasMany(b => b.Posts) .WithOne(p => p.Blog) .UsingForeignKey(p => p.PostId); } } An instance of your Database class exposes the underlying connection and the actual CRUD builders. In the example below you can see how you would query a set of Blogs with their posts. await using var database = new BlogDatabase(); // You should register a Transient/Scoped your DI Container. const string sql = @\\\"SELECT * FROM \\\"\\\"Blogs\\\"\\\" JOIN \\\"\\\"Posts\\\"\\\" ON \\\"\\\"Posts\\\"\\\".\\\"\\\"BlogId\\\"\\\" = \\\"\\\"Blogs\\\"\\\".\\\"\\\"Id\\\"\\\"\\\"; // You can re-use this in different BlogDatabase instances through the database.Blogs.QueryAsync() method // If you intend to reuse the query below you need to pass the QueryBatch method false for the disposeCommand, // otherwise the underyling command will be disposed after the first use. var blogs = database.Blogs.QueryBatch(sql).JoinWith(x => x.Posts).QueryAsync(); Subsequent joins can be configured using the ThenWith method. Do note, that one handy feature of Venflow is string interpolated SQL. This means that most of the methods which accept SQL also have a sibling named *Interpolated* which will automatically extract the used variables and use a parameterized query instead. Road map Composed PK support Direct support for many to many relations Support for materialized Views Bulk operation support from PostgreSQL.Bulk Code-First AOT proxy/entity generation with Source Generators Acknowledgements I also want to mention all the other great packages out there, build by awesome people, which helped with building Venflow in one way or another such as being open-source. Npgsql by the Npgsql core contributers for providing an awesome and fast PostgreSQL data provider. Sharplab by ashmind and the sharplab.io website for immensely simplify the generation for IL. EF-Core by Microsoft and the .Net team for providing the inspiration for such an awesome surface API. RepoDb by mikependon for providing the idea of generating runtime IL/Expressions to boost performance. Fody by the Fody core contributers for providing an easy way to IL weave Venflow. GitHub for hosting the documentation with GitHub Pages and the repository itself. DocFX by Microsoft and the .Net team for providing a great any easy static markdown/documentation html generator. Typora for being a fully extensive and great markdown editor. GitKraken for providing a full fledged git UI with a bunch of great features. Shields for providing awesome badges for the README. Awesome people which helped in the development LunarLite for helping me with highly complex logically issues. AnotherZane for being one of the early preview testers. Jas and Altrius for providing general surface API ideas. Notes Contact information If you feel like something is not working as intended or you are experiencing issues, feel free to create an issue. Also for feature requests just create an issue. For further information feel free to send me an email at office@twenty-four.dev or message me on Discord 24_minutes#7496 . Sponsors I wanna thank JetBrains for providing me and the project with a free Open Source license for their whole JetBrains suite. Their tools greatly improve the development speed of this project. If you want to get a free Open Source license for your own project and their collaborators, visit their Open Source page .\"\n  }\n}"
  },
  {
    "path": "docs/manifest.json",
    "content": "{\n  \"homepages\": [],\n  \"source_base_path\": \"/github/workspace/docs/docfx\",\n  \"xrefmap\": \"xrefmap.yml\",\n  \"files\": [\n    {\n      \"type\": \"Resource\",\n      \"output\": {\n        \"resource\": {\n          \"relative_path\": \"index.json\"\n        }\n      },\n      \"is_incremental\": false\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.html\",\n          \"hash\": \"gA9oRHnZcF3CI6E6/PoWUw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/System.Runtime.CompilerServices.NullableAttribute.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/System.Runtime.CompilerServices.NullableAttribute.html\",\n          \"hash\": \"5K+XyM3v05BNPYwYMIrPsQ==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/System.Runtime.CompilerServices.NullableContextAttribute.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/System.Runtime.CompilerServices.NullableContextAttribute.html\",\n          \"hash\": \"hPboEKcbZkv6Q2qbe54yPg==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/System.Runtime.CompilerServices.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/System.Runtime.CompilerServices.html\",\n          \"hash\": \"kFKLSZKpn7+RvWwz16XHzA==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.AspNetCore.VenflowServiceCollectionExtensions.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.AspNetCore.VenflowServiceCollectionExtensions.html\",\n          \"hash\": \"zTqXXFZz7q7QWLRYkjBECw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.AspNetCore.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.AspNetCore.html\",\n          \"hash\": \"XsL7QBVkx1XW7LoBkAANhw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Commands.IBaseInsertRelationBuilder-2.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Commands.IBaseInsertRelationBuilder-2.html\",\n          \"hash\": \"DsJ/vhiwDEQkACn2VxKjbw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Commands.IBaseQueryRelationBuilder-3.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Commands.IBaseQueryRelationBuilder-3.html\",\n          \"hash\": \"R73c/JYP4g0qEf3q8fiWcA==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Commands.IDeleteCommand-1.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Commands.IDeleteCommand-1.html\",\n          \"hash\": \"OVKSutOucdi7+Ui4cr+WpA==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Commands.IDeleteCommandBuilder-1.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Commands.IDeleteCommandBuilder-1.html\",\n          \"hash\": \"VLZEE5/UY6+LuglPIVOuBg==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Commands.IInsertCommand-1.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Commands.IInsertCommand-1.html\",\n          \"hash\": \"PD7bn313826mjR5pSb/BEw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Commands.IInsertCommandBuilder-1.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Commands.IInsertCommandBuilder-1.html\",\n          \"hash\": \"8xYtwup7lWLw0d5Z3HwuYg==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Commands.IInsertRelationBuilder-2.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Commands.IInsertRelationBuilder-2.html\",\n          \"hash\": \"AN0NyM6yWktxrdZeVxv5/A==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Commands.IPreCommandBuilder-2.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Commands.IPreCommandBuilder-2.html\",\n          \"hash\": \"Jf8FQ5XI8aXmptSb1iETUw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Commands.IQueryCommand-2.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Commands.IQueryCommand-2.html\",\n          \"hash\": \"EOOS5eD5gdyuTZHSLRomEg==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Commands.IQueryCommandBuilder-2.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Commands.IQueryCommandBuilder-2.html\",\n          \"hash\": \"wXFNAv7Bdp/l6yMjoH7+VQ==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Commands.IQueryRelationBuilder-3.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Commands.IQueryRelationBuilder-3.html\",\n          \"hash\": \"czW866o5DjgBryCSKfOFbQ==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Commands.ISpecficVenflowCommandBuilder-2.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Commands.ISpecficVenflowCommandBuilder-2.html\",\n          \"hash\": \"eqXdQRZuAvMYjaoY6oyc3w==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Commands.IUpdateCommand-1.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Commands.IUpdateCommand-1.html\",\n          \"hash\": \"eGh32LuZb4hDSjdu5DACWQ==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Commands.IUpdateCommandBuilder-1.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Commands.IUpdateCommandBuilder-1.html\",\n          \"hash\": \"YdRb+LHnJVqnu0UAe7W5OQ==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Commands.IVenflowCommand-1.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Commands.IVenflowCommand-1.html\",\n          \"hash\": \"avPXCh3V2dWLpGBnbnc45w==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Commands.IVenflowCommandBuilder-1.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Commands.IVenflowCommandBuilder-1.html\",\n          \"hash\": \"XOSdON754mmfG/KWhk6CuA==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Commands.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Commands.html\",\n          \"hash\": \"uocLg2cVjoXClHxh8w8OMg==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Database.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Database.html\",\n          \"hash\": \"kPSpmLBAl0rEu+u+w5VXoQ==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.DatabaseConfigurationOptionsBuilder.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.DatabaseConfigurationOptionsBuilder.html\",\n          \"hash\": \"KVPTYQnE7MjaKIo3izterg==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.DatabaseOptionsBuilder-1.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.DatabaseOptionsBuilder-1.html\",\n          \"hash\": \"hWYvA4ENCTaol2FDJSyE+g==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Enums.CommandType.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Enums.CommandType.html\",\n          \"hash\": \"oG19lLXhJkCswt3vp+DoLg==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Enums.ForeignTruncateOptions.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Enums.ForeignTruncateOptions.html\",\n          \"hash\": \"ZsfWsfwahvzciJIKM6QyOQ==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Enums.IdentityTruncateOptions.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Enums.IdentityTruncateOptions.html\",\n          \"hash\": \"uwZc5BRXRMfTaSncuAPLNg==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Enums.JoinBehaviour.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Enums.JoinBehaviour.html\",\n          \"hash\": \"fv7x859MFcx+I2EU32nWBQ==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Enums.LoggingBehavior.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Enums.LoggingBehavior.html\",\n          \"hash\": \"OgdC5KLU64ouDCd4np8BXw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Enums.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Enums.html\",\n          \"hash\": \"of8z9O3CDa1kVwO5gn8Beg==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.html\",\n          \"hash\": \"lxT81soy3OC3szu6sxx7Cw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Extensions.Logging.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Extensions.Logging.html\",\n          \"hash\": \"0V+HJI5aCiHL8CULhFZ1fA==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.FormattableSqlStringBuilder.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.FormattableSqlStringBuilder.html\",\n          \"hash\": \"3q1QCFGBYcPzPFGJJfOlVg==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.IDatabaseTransaction.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.IDatabaseTransaction.html\",\n          \"hash\": \"itMVr92As1cX29ooPOOD/w==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.IKey-2.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.IKey-2.html\",\n          \"hash\": \"1F52I4jJJtjncmvPi3IVmQ==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.IKey.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.IKey.html\",\n          \"hash\": \"7wD2lRAJZAvRQG8F+Skiow==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.IParameterTypeHandler.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.IParameterTypeHandler.html\",\n          \"hash\": \"XeUqyxdD6DRcMOWcIpup1A==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.InvalidEntityRelationException.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.InvalidEntityRelationException.html\",\n          \"hash\": \"WtCkjguoEJIPzZjdhI13+Q==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Json.JsonKeyConverterFactory.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Json.JsonKeyConverterFactory.html\",\n          \"hash\": \"dCzPPMZpVWLfw6OCn4vPgQ==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Json.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Json.html\",\n          \"hash\": \"elQxoqJfOirHMbFg1UE5JA==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Key-2.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Key-2.html\",\n          \"hash\": \"qA5b/Ln1OYsaHObsffuUQw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.KeyConverter.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.KeyConverter.html\",\n          \"hash\": \"tq2urBGLxTH8lK0TJZw7eQ==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.LoggerCallback.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.LoggerCallback.html\",\n          \"hash\": \"CaiTLeVkilnP8GNp3oI8gw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html\",\n          \"hash\": \"9SRvB++xJesCjwnyDqXMeA==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html\",\n          \"hash\": \"PibM9jHwdQmeLaeILN8oew==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html\",\n          \"hash\": \"C8QqDt1zPoRtD5G3PCCHSQ==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.html\",\n          \"hash\": \"AReh8SfhL+Ehe3MDx9/BLw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder-2.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder-2.html\",\n          \"hash\": \"YQAqCnY3j01zlH/VIvaFKw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html\",\n          \"hash\": \"0MSOHoWAbY/3FKB79VhKlw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Modeling.Definitions.Builder.IPropertyBuilder.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Modeling.Definitions.Builder.IPropertyBuilder.html\",\n          \"hash\": \"sUHknZ8SjRtKn7JYRchObw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder-2.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder-2.html\",\n          \"hash\": \"93CKN/aKQzt8QV72y3ywAQ==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html\",\n          \"hash\": \"MIKOBq41zoEV3rhWn7lLHA==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Modeling.Definitions.Builder.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Modeling.Definitions.Builder.html\",\n          \"hash\": \"Oe0ef/XXzbwybb/2qaIscA==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Modeling.Definitions.EntityConfiguration-1.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Modeling.Definitions.EntityConfiguration-1.html\",\n          \"hash\": \"qZewPMlH/DUIrygCfaLY1g==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Modeling.Definitions.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Modeling.Definitions.html\",\n          \"hash\": \"y9/f+t9XuR6VB7wj06W2Pw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.html\",\n          \"hash\": \"MaKhAy8gN8HgaJ3puniBiw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.NewtonsoftJson.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.NewtonsoftJson.html\",\n          \"hash\": \"u3FqMa91wb5fxdxuixl2vg==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.NpgsqlCommandExtensions.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.NpgsqlCommandExtensions.html\",\n          \"hash\": \"EmJaHHm4w124zduYGZIZdw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.NpgsqlQuotedNameTranslator.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.NpgsqlQuotedNameTranslator.html\",\n          \"hash\": \"qBEnFuhHR4dLV9fL3Fjrsg==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.ParameterTypeHandler.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.ParameterTypeHandler.html\",\n          \"hash\": \"KtfjFkdQQgsYh3FiqSligQ==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.Table-1.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.Table-1.html\",\n          \"hash\": \"XDgYv3E4+nWnNSibeOfV6w==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.TableBase-1.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.TableBase-1.html\",\n          \"hash\": \"zCd6j1ltVflhzA+hVcfn5g==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.TypeArgumentException.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.TypeArgumentException.html\",\n          \"hash\": \"61XpLYLbsvYbcsEz3PXYlg==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.VenflowConfiguration.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.VenflowConfiguration.html\",\n          \"hash\": \"H2aohqiDu8CFqW9Z3FLDmA==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.VenflowDbType.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.VenflowDbType.html\",\n          \"hash\": \"7f2cJRCj22jvGxznMSozsQ==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"ManagedReference\",\n      \"source_relative_path\": \"api/Venflow.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/Venflow.html\",\n          \"hash\": \"QstsyHWNa1uC+lPhcT/K4g==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Conceptual\",\n      \"source_relative_path\": \"api/index.md\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/index.html\",\n          \"hash\": \"cDP76J/SD2icIPYxGVm8cQ==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Toc\",\n      \"source_relative_path\": \"api/toc.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"api/toc.html\",\n          \"hash\": \"hTCpxM5FZCVqfNLPlVa3Dw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Resource\",\n      \"source_relative_path\": \"favicon.ico\",\n      \"output\": {\n        \"resource\": {\n          \"relative_path\": \"favicon.ico\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Conceptual\",\n      \"source_relative_path\": \"guides/advanced/aspnetcore.md\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"guides/advanced/aspnetcore.html\",\n          \"hash\": \"K8ixGwz+ufewGWLlE/SNsA==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Conceptual\",\n      \"source_relative_path\": \"guides/advanced/enums.md\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"guides/advanced/enums.html\",\n          \"hash\": \"6jD3GhIGmw9VvDAjHknnog==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Conceptual\",\n      \"source_relative_path\": \"guides/advanced/interpolation.md\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"guides/advanced/interpolation.html\",\n          \"hash\": \"DJw1JgYSPyxOzNfUiw0mwQ==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"log_codes\": [\n        \"UidNotFound\"\n      ],\n      \"type\": \"Conceptual\",\n      \"source_relative_path\": \"guides/advanced/logging.md\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"guides/advanced/logging.html\",\n          \"hash\": \"6gzki0GYumarpGlCylReYw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"log_codes\": [\n        \"UidNotFound\"\n      ],\n      \"type\": \"Conceptual\",\n      \"source_relative_path\": \"guides/advanced/logging_extensions.md\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"guides/advanced/logging_extensions.html\",\n          \"hash\": \"8B8qc95yv7/UOfO1g4cnfw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Conceptual\",\n      \"source_relative_path\": \"guides/advanced/nullables.md\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"guides/advanced/nullables.html\",\n          \"hash\": \"dLAbENW+z5RTQuhhEJuf2A==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Conceptual\",\n      \"source_relative_path\": \"guides/advanced/prepared_statements.md\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"guides/advanced/prepared_statements.html\",\n          \"hash\": \"LlWcxuMC/ntaujfI3NL3cg==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Conceptual\",\n      \"source_relative_path\": \"guides/advanced/query_command_cache.md\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"guides/advanced/query_command_cache.html\",\n          \"hash\": \"wdafJkqWoYwwFOAJfM0fOQ==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Conceptual\",\n      \"source_relative_path\": \"guides/advanced/strong_key.md\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"guides/advanced/strong_key.html\",\n          \"hash\": \"PKzwfl6/dKWWwbzNXV1HZw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Conceptual\",\n      \"source_relative_path\": \"guides/advanced/validation.md\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"guides/advanced/validation.html\",\n          \"hash\": \"c6BlTGJEuVU9rnCJBmFTdw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Conceptual\",\n      \"source_relative_path\": \"guides/getting_started/installation.md\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"guides/getting_started/installation.html\",\n          \"hash\": \"cJGjbDMdQeyKaoB+OrKX7Q==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Conceptual\",\n      \"source_relative_path\": \"guides/getting_started/setup.md\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"guides/getting_started/setup.html\",\n          \"hash\": \"Di+QP2TdHjp61ingJo58Cw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Conceptual\",\n      \"source_relative_path\": \"guides/introduction/intro.md\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"guides/introduction/intro.html\",\n          \"hash\": \"SRACYmPfKHVaJtWi1nhlhg==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Conceptual\",\n      \"source_relative_path\": \"guides/operations/count.md\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"guides/operations/count.html\",\n          \"hash\": \"rAiXBBlgJgUJzh9oHjha/w==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Conceptual\",\n      \"source_relative_path\": \"guides/operations/delete.md\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"guides/operations/delete.html\",\n          \"hash\": \"ClpZB85pYg3rw+43NRr1Bg==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Conceptual\",\n      \"source_relative_path\": \"guides/operations/execute.md\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"guides/operations/execute.html\",\n          \"hash\": \"4mW6aFwS142BCdi/pARVyA==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Conceptual\",\n      \"source_relative_path\": \"guides/operations/insert.md\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"guides/operations/insert.html\",\n          \"hash\": \"fflksA5808xsqgDDrGxOjg==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Conceptual\",\n      \"source_relative_path\": \"guides/operations/query.md\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"guides/operations/query.html\",\n          \"hash\": \"o4A1wQXmIwFUGa/VQX2YZg==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Conceptual\",\n      \"source_relative_path\": \"guides/operations/truncate.md\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"guides/operations/truncate.html\",\n          \"hash\": \"NLROaD5x1FeVnPeudPMGkA==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Conceptual\",\n      \"source_relative_path\": \"guides/operations/update.md\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"guides/operations/update.html\",\n          \"hash\": \"JfVehZqD3tv7xmjT2F6Gcg==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Toc\",\n      \"source_relative_path\": \"guides/toc.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"guides/toc.html\",\n          \"hash\": \"ruryBmeKDtVCgyhi10EZbQ==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Resource\",\n      \"source_relative_path\": \"images/jetbrains_logo.png\",\n      \"output\": {\n        \"resource\": {\n          \"relative_path\": \"images/jetbrains_logo.png\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"log_codes\": [\n        \"InvalidFileLink\"\n      ],\n      \"type\": \"Conceptual\",\n      \"source_relative_path\": \"index.md\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"index.html\",\n          \"hash\": \"JfiEJ8ObJbxIeZXoSbl7fg==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Toc\",\n      \"source_relative_path\": \"toc.yml\",\n      \"output\": {\n        \".html\": {\n          \"relative_path\": \"toc.html\",\n          \"hash\": \"1jOsVPoy2pm1XrNDH+lhWw==\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    },\n    {\n      \"type\": \"Resource\",\n      \"source_relative_path\": \"venflow.svg\",\n      \"output\": {\n        \"resource\": {\n          \"relative_path\": \"venflow.svg\"\n        }\n      },\n      \"is_incremental\": false,\n      \"version\": \"\"\n    }\n  ],\n  \"incremental_info\": [\n    {\n      \"status\": {\n        \"can_incremental\": false,\n        \"details\": \"Cannot build incrementally because last build info is missing.\",\n        \"incrementalPhase\": \"build\",\n        \"total_file_count\": 0,\n        \"skipped_file_count\": 0,\n        \"full_build_reason_code\": \"NoAvailableBuildCache\"\n      },\n      \"processors\": {\n        \"ConceptualDocumentProcessor\": {\n          \"can_incremental\": false,\n          \"incrementalPhase\": \"build\",\n          \"total_file_count\": 22,\n          \"skipped_file_count\": 0\n        },\n        \"ManagedReferenceDocumentProcessor\": {\n          \"can_incremental\": false,\n          \"incrementalPhase\": \"build\",\n          \"total_file_count\": 68,\n          \"skipped_file_count\": 0\n        },\n        \"ResourceDocumentProcessor\": {\n          \"can_incremental\": false,\n          \"details\": \"Processor ResourceDocumentProcessor cannot support incremental build because the processor doesn't implement ISupportIncrementalDocumentProcessor interface.\",\n          \"incrementalPhase\": \"build\",\n          \"total_file_count\": 0,\n          \"skipped_file_count\": 0\n        },\n        \"TocDocumentProcessor\": {\n          \"can_incremental\": false,\n          \"details\": \"Processor TocDocumentProcessor cannot support incremental build because the processor doesn't implement ISupportIncrementalDocumentProcessor interface.\",\n          \"incrementalPhase\": \"build\",\n          \"total_file_count\": 0,\n          \"skipped_file_count\": 0\n        }\n      }\n    },\n    {\n      \"status\": {\n        \"can_incremental\": false,\n        \"details\": \"Cannot support incremental post processing, the reason is: should not trace intermediate info.\",\n        \"incrementalPhase\": \"postProcessing\",\n        \"total_file_count\": 0,\n        \"skipped_file_count\": 0\n      },\n      \"processors\": {}\n    }\n  ],\n  \"version_info\": {},\n  \"groups\": [\n    {\n      \"xrefmap\": \"xrefmap.yml\"\n    }\n  ]\n}"
  },
  {
    "path": "docs/search-stopwords.json",
    "content": "[\n  \"a\",\n  \"able\",\n  \"about\",\n  \"across\",\n  \"after\",\n  \"all\",\n  \"almost\",\n  \"also\",\n  \"am\",\n  \"among\",\n  \"an\",\n  \"and\",\n  \"any\",\n  \"are\",\n  \"as\",\n  \"at\",\n  \"be\",\n  \"because\",\n  \"been\",\n  \"but\",\n  \"by\",\n  \"can\",\n  \"cannot\",\n  \"could\",\n  \"dear\",\n  \"did\",\n  \"do\",\n  \"does\",\n  \"either\",\n  \"else\",\n  \"ever\",\n  \"every\",\n  \"for\",\n  \"from\",\n  \"get\",\n  \"got\",\n  \"had\",\n  \"has\",\n  \"have\",\n  \"he\",\n  \"her\",\n  \"hers\",\n  \"him\",\n  \"his\",\n  \"how\",\n  \"however\",\n  \"i\",\n  \"if\",\n  \"in\",\n  \"into\",\n  \"is\",\n  \"it\",\n  \"its\",\n  \"just\",\n  \"least\",\n  \"let\",\n  \"like\",\n  \"likely\",\n  \"may\",\n  \"me\",\n  \"might\",\n  \"most\",\n  \"must\",\n  \"my\",\n  \"neither\",\n  \"no\",\n  \"nor\",\n  \"not\",\n  \"of\",\n  \"off\",\n  \"often\",\n  \"on\",\n  \"only\",\n  \"or\",\n  \"other\",\n  \"our\",\n  \"own\",\n  \"rather\",\n  \"said\",\n  \"say\",\n  \"says\",\n  \"she\",\n  \"should\",\n  \"since\",\n  \"so\",\n  \"some\",\n  \"than\",\n  \"that\",\n  \"the\",\n  \"their\",\n  \"them\",\n  \"then\",\n  \"there\",\n  \"these\",\n  \"they\",\n  \"this\",\n  \"tis\",\n  \"to\",\n  \"too\",\n  \"twas\",\n  \"us\",\n  \"wants\",\n  \"was\",\n  \"we\",\n  \"were\",\n  \"what\",\n  \"when\",\n  \"where\",\n  \"which\",\n  \"while\",\n  \"who\",\n  \"whom\",\n  \"why\",\n  \"will\",\n  \"with\",\n  \"would\",\n  \"yet\",\n  \"you\",\n  \"your\"\n]\n"
  },
  {
    "path": "docs/styles/dark.css",
    "content": "/* Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information. */\n\n@import url('vs2015.css');\nhtml,\nbody {\n    background: #212121;\n    color: #C0C0C0;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n    color: #E0E0E0;\n}\n\nbutton,\na {\n    color: #64B5F6;\n}\n\n.sidenav{\n  background-color: rgb(30, 30, 30);\n}\n\nbutton:hover,\nbutton:focus,\na:hover,\na:focus,\n.btn:focus,\n.btn:hover{\n    color: #2196F3;\n}\n\na.disable,\na.disable:hover {\n    color: #EEEEEE;\n}\n\n.divider {\n    color: #37474F;\n}\n\nhr {\n    border-color: #37474F;\n}\n\n.subnav {\n    background: #383838\n}\n\n.inheritance h5,\n.inheritedMembers h5 {\n    border-bottom: 1px solid #37474F;\n}\n\narticle h4 {\n    border-bottom: 1px solid #37474F;\n}\n\n.docs-search {\n    background: #424242;\n}\n\n.search-results-group-heading {\n    color: #424242;\n}\n\n.search-close {\n    color: #424242;\n}\n\n.sidetoc {\n    background-color: #1b1b1b;\n    border-left: 0px solid #37474F;\n    border-right: 0px solid #37474F;\n}\n\n.sideaffix {\n    overflow: visible;\n}\n\n.sideaffix>div.contribution>ul>li>a.contribution-link:hover {\n    background-color: #333333;\n}\n\n/* toc */\n\n.toc .nav>li>a {\n    color: rgb(218, 218, 218);\n}\n\n.toc .nav>li>a:hover,\n.toc .nav>li>a:focus {\n    color: #E0E0E0;\n}\n\n.toc .nav>li.active>a {\n    color: #90CAF9;\n}\n\n.toc .nav>li.active>a:hover,\n.toc .nav>li.active>a:focus {\n    background-color: #37474F;\n    color: #4FC3F7;\n}\n\n.sidefilter {\n    background-color: #1b1b1b;\n    border-left: 0px solid #37474F;\n    border-right: 0px solid #37474F;\n}\n\n.affix ul>li>a:hover {\n    background: none;\n    color: #EEEEEE;\n}\n\n.affix ul>li.active>a,\n.affix ul>li.active>a:before {\n    color: #B3E5FC;\n}\n\n.affix ul>li>a {\n    color: #EEEEEE;\n}\n\n.affix>ul>li.active>a,\n.affix>ul>li.active>a:before {\n    color: #B3E5FC;\n}\n\n.tryspan {\n    border-color: #37474F;\n}\n\n.footer {\n    border-top: 1px solid #5F5F5F;\n    background: #616161;\n}\n\n/* alert */\n.alert-info {\n    color: #d9edf7;\n    background: #004458;\n    border-color: #005873;\n}\n\n.alert-warning {\n    color: #fffaf2;\n    background: #80551a;\n    border-color: #99661f;\n}\n\n.alert-danger {\n    color: #fff2f2;\n    background: #4d0000;\n    border-color: #660000;\n}\n\n/* For tabbed content */\n\n.tabGroup {\n    margin-top: 1rem;\n}\n\n.tabGroup ul[role=\"tablist\"] {\n    margin: 0;\n    padding: 0;\n    list-style: none;\n}\n\n.tabGroup ul[role=\"tablist\"]>li {\n    list-style: none;\n    display: inline-block;\n}\n\n.tabGroup a[role=\"tab\"] {\n    color: white;\n    box-sizing: border-box;\n    display: inline-block;\n    padding: 5px 7.5px;\n    text-decoration: none;\n    border-bottom: 2px solid #fff;\n}\n\n.tabGroup a[role=\"tab\"]:hover,\n.tabGroup a[role=\"tab\"]:focus,\n.tabGroup a[role=\"tab\"][aria-selected=\"true\"] {\n    border-bottom: 2px solid #607D8B;\n}\n\n.tabGroup a[role=\"tab\"][aria-selected=\"true\"] {\n    color: #81D4FA;\n}\n\n.tabGroup a[role=\"tab\"]:hover,\n.tabGroup a[role=\"tab\"]:focus {\n    color: #29B6F6;\n}\n\n.tabGroup a[role=\"tab\"]:focus {\n    outline: 1px solid #607D8B;\n    outline-offset: -1px;\n}\n\n@media (min-width: 768px) {\n    .tabGroup a[role=\"tab\"] {\n        padding: 5px 15px;\n    }\n}\n\n.tabGroup section[role=\"tabpanel\"] {\n    border: 1px solid #607D8B;\n    padding: 15px;\n    margin: 0;\n    overflow: hidden;\n}\n\n.tabGroup section[role=\"tabpanel\"]>.codeHeader,\n.tabGroup section[role=\"tabpanel\"]>pre {\n    margin-left: -16px;\n    margin-right: -16px;\n}\n\n.tabGroup section[role=\"tabpanel\"]> :first-child {\n    margin-top: 0;\n}\n\n.tabGroup section[role=\"tabpanel\"]>pre:last-child {\n    display: block;\n    margin-bottom: -16px;\n}\n\n.mainContainer[dir='rtl'] main ul[role=\"tablist\"] {\n    margin: 0;\n}\n\n/* code */\n\ncode {\n    color: white;\n    background-color: #4a4c52;\n    border-radius: 4px;\n    padding: 3px 7px;\n}\n\npre {\n    background-color: #282a36;\n}\n\n/* table */\n\n.table-striped>tbody>tr:nth-of-type(odd) {\n    background-color: #333333;\n    color: #d3d3d3\n}\n\ntbody>tr {\n    background-color: #424242;\n    color: #c0c0c0\n}\n\n.table>tbody+tbody {\n    border-top: 2px solid rgb(173, 173, 173)\n}\n\n/* top navbar */\n.navbar-inverse[role=\"navigation\"] {\n    background-color: #2C2F33;\n}\n\n/* select */\n\nselect {\n    background-color: #3b3b3b;\n    border-color: #2e2e2e;\n}\n\n/* \n    Following code regarding collapse container are fetched \n    or modified from the Materialize project.\n\n    The MIT License (MIT)\n    Copyright (c) 2014-2018 Materialize\n    https://github.com/Dogfalo/materialize\n*/\n\n/* all collapse container */\n.collapse-container.last-modified {\n    -webkit-box-shadow: 0 2px 2px 0 rgba(50, 50, 50, 0.64), 0 3px 1px -2px rgba(50, 50, 50, 0.62), 0 1px 5px 0 rgba(50, 50, 50, 0.7);\n    box-shadow: 0 2px 2px 0 rgba(50, 50, 50, 0.64), 0 3px 1px -2px rgba(50, 50, 50, 0.62), 0 1px 5px 0 rgba(50, 50, 50, 0.7);\n    border-top: 1px solid rgba(96, 96, 96, 0.7);\n    border-right: 1px solid rgba(96, 96, 96, 0.7);\n    border-left: 1px solid rgba(96, 96, 96, 0.7);\n}\n\n/* header */\n.collapse-container.last-modified>:nth-child(odd) {\n    background-color: #3f3f3f;\n    border-bottom: 1px solid rgba(96, 96, 96, 0.7);\n}\n\n/* body */\n.collapse-container.last-modified>:nth-child(even) {\n    border-bottom: 1px solid rgba(96, 96, 96, 0.7);\n    background-color: inherit;\n}\n\nspan.arrow-d{\n    border-top: 5px solid white\n}\n\nspan.arrow-r{\n    border-left: 5px solid white\n}\n\n.logo-switcher {\n    background: url(\"../marketing/logo/SVG/Combinationmark White.svg\") no-repeat;\n}\n"
  },
  {
    "path": "docs/styles/docfx.css",
    "content": "/* Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information. */\nhtml,\nbody {\n  font-family: 'Segoe UI', Tahoma, Helvetica, sans-serif;\n  height: 100%;\n}\nbutton,\na {\n  color: #337ab7;\n  cursor: pointer;\n}\nbutton:hover,\nbutton:focus,\na:hover,\na:focus {\n  color: #23527c;\n  text-decoration: none;\n}\na.disable,\na.disable:hover {\n  text-decoration: none;\n  cursor: default;\n  color: #000000;\n}\n\nh1, h2, h3, h4, h5, h6, .text-break {\n    word-wrap: break-word;\n    word-break: break-word;\n}\n\nh1 mark,\nh2 mark,\nh3 mark,\nh4 mark,\nh5 mark,\nh6 mark {\n  padding: 0;\n}\n\n.inheritance .level0:before,\n.inheritance .level1:before,\n.inheritance .level2:before,\n.inheritance .level3:before,\n.inheritance .level4:before,\n.inheritance .level5:before,\n.inheritance .level6:before,\n.inheritance .level7:before,\n.inheritance .level8:before,\n.inheritance .level9:before {\n    content: '↳';\n    margin-right: 5px;\n}\n\n.inheritance .level0 {\n    margin-left: 0em;\n}\n\n.inheritance .level1 {\n    margin-left: 1em;\n}\n\n.inheritance .level2 {\n    margin-left: 2em;\n}\n\n.inheritance .level3 {\n    margin-left: 3em;\n}\n\n.inheritance .level4 {\n    margin-left: 4em;\n}\n\n.inheritance .level5 {\n    margin-left: 5em;\n}\n\n.inheritance .level6 {\n    margin-left: 6em;\n}\n\n.inheritance .level7 {\n    margin-left: 7em;\n}\n\n.inheritance .level8 {\n    margin-left: 8em;\n}\n\n.inheritance .level9 {\n    margin-left: 9em;\n}\n\n.level0.summary {\n  margin: 2em 0 2em 0;\n}\n\n.level1.summary {\n  margin: 1em 0 1em 0;\n}\n\nspan.parametername,\nspan.paramref,\nspan.typeparamref {\n    font-style: italic;\n}\nspan.languagekeyword{\n    font-weight: bold;\n}\n\nsvg:hover path {\n    fill: #ffffff;\n}\n\n.hljs {\n  display: inline;\n  background-color: inherit;\n  padding: 0;\n}\n/* additional spacing fixes */\n.btn + .btn {\n  margin-left: 10px;\n}\n.btn.pull-right {\n  margin-left: 10px;\n  margin-top: 5px;\n}\n.table {\n  margin-bottom: 10px;\n}\ntable p {\n  margin-bottom: 0;\n}\ntable a {\n  display: inline-block;\n}\n\n/* Make hidden attribute compatible with old browser.*/\n[hidden] {\n  display: none !important;\n}\n\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n  margin-top: 15px;\n  margin-bottom: 10px;\n  font-weight: 400;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n  margin-top: 10px;\n  margin-bottom: 5px;\n}\n.navbar {\n  margin-bottom: 0;\n}\n#wrapper {\n  min-height: 100%;\n  position: relative;\n}\n/* blends header footer and content together with gradient effect */\n.grad-top {\n  /* For Safari 5.1 to 6.0 */\n  /* For Opera 11.1 to 12.0 */\n  /* For Firefox 3.6 to 15 */\n  background: linear-gradient(rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0));\n  /* Standard syntax */\n  height: 5px;\n}\n.grad-bottom {\n  /* For Safari 5.1 to 6.0 */\n  /* For Opera 11.1 to 12.0 */\n  /* For Firefox 3.6 to 15 */\n  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.05));\n  /* Standard syntax */\n  height: 5px;\n}\n.divider {\n  margin: 0 5px;\n  color: #cccccc;\n}\nhr {\n  border-color: #cccccc;\n}\nheader {\n  position: fixed;\n  top: 0;\n  left: 0;\n  right: 0;\n  z-index: 1000;\n}\nheader .navbar {\n  border-width: 0 0 1px;\n  border-radius: 0;\n}\n.navbar-brand {\n  font-size: inherit;\n  padding: 0;\n}\n.navbar-collapse {\n  margin: 0 -15px;\n}\n.subnav {\n  min-height: 40px;\n}\n\n.inheritance h5, .inheritedMembers h5{\n  padding-bottom: 5px;\n  border-bottom: 1px solid #ccc;\n}\n\narticle h1, article h2, article h3, article h4{\n  margin-top: 25px;\n}\n\narticle h4{\n  border: 0;\n  font-weight: bold;\n  margin-top: 2em;\n}\n\narticle span.small.pull-right{\n  margin-top: 20px;\n}\n\narticle section {\n  margin-left: 1em;\n}\n\n/*.expand-all {\n  padding: 10px 0;\n}*/\n.breadcrumb {\n  margin: 0;\n  padding: 10px 0;\n  background-color: inherit;\n  white-space: nowrap;\n}\n.breadcrumb > li + li:before {\n  content: \"\\00a0/\";\n}\n#autocollapse.collapsed .navbar-header {\n  float: none;\n}\n#autocollapse.collapsed .navbar-toggle {\n  display: block;\n}\n#autocollapse.collapsed .navbar-collapse {\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n#autocollapse.collapsed .navbar-collapse.collapse {\n  display: none !important;\n}\n#autocollapse.collapsed .navbar-nav {\n  float: none !important;\n  margin: 7.5px -15px;\n}\n#autocollapse.collapsed .navbar-nav > li {\n  float: none;\n}\n#autocollapse.collapsed .navbar-nav > li > a {\n  padding-top: 10px;\n  padding-bottom: 10px;\n}\n#autocollapse.collapsed .collapse.in,\n#autocollapse.collapsed .collapsing {\n  display: block !important;\n}\n#autocollapse.collapsed .collapse.in .navbar-right,\n#autocollapse.collapsed .collapsing .navbar-right {\n  float: none !important;\n}\n#autocollapse .form-group {\n  width: 100%;\n}\n#autocollapse .form-control {\n  width: 100%;\n}\n#autocollapse .navbar-header {\n  margin-left: 0;\n  margin-right: 0;\n}\n#autocollapse .navbar-brand {\n  margin-left: 0;\n}\n.collapse.in,\n.collapsing {\n  text-align: center;\n}\n.collapsing .navbar-form {\n  margin: 0 auto;\n  max-width: 400px;\n  padding: 10px 15px;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n.collapsed .collapse.in .navbar-form {\n  margin: 0 auto;\n  max-width: 400px;\n  padding: 10px 15px;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n.navbar .navbar-nav {\n  display: inline-block;\n}\n.docs-search {\n  background: white;\n  vertical-align: middle;\n}\n.docs-search > .search-query {\n  font-size: 14px;\n  border: 0;\n  width: 120%;\n  color: #555;\n}\n.docs-search > .search-query:focus {\n  outline: 0;\n}\n.search-results-frame {\n  clear: both;\n  display: table;\n  width: 100%;\n}\n.search-results.ng-hide {\n  display: none;\n}\n.search-results-container {\n  padding-bottom: 1em;\n  border-top: 1px solid #111;\n  background: rgba(25, 25, 25, 0.5);\n}\n.search-results-container .search-results-group {\n  padding-top: 50px !important;\n  padding: 10px;\n}\n.search-results-group-heading {\n  font-family: \"Open Sans\";\n  padding-left: 10px;\n  color: white;\n}\n.search-close {\n  position: absolute;\n  left: 50%;\n  margin-left: -100px;\n  color: white;\n  text-align: center;\n  padding: 5px;\n  background: #333;\n  border-top-right-radius: 5px;\n  border-top-left-radius: 5px;\n  width: 200px;\n  box-shadow: 0 0 10px #111;\n}\n#search {\n  display: none;\n}\n\n/* Search results display*/\n#search-results {\n  max-width: 960px !important;\n  margin-top: 120px;\n  margin-bottom: 115px;\n  margin-left: auto;\n  margin-right: auto;\n  line-height: 1.8;\n  display: none;\n}\n\n#search-results>.search-list {\n  text-align: center;\n  font-size: 2.5rem;\n  margin-bottom: 50px;\n}\n\n#search-results p {\n  text-align: center;\n}\n\n#search-results p .index-loading {\n  animation: index-loading 1.5s infinite linear;\n  -webkit-animation: index-loading 1.5s infinite linear;\n  -o-animation: index-loading 1.5s infinite linear;\n  font-size: 2.5rem;\n}\n\n@keyframes index-loading {\n    from { transform: scale(1) rotate(0deg);}\n    to { transform: scale(1) rotate(360deg);}\n}\n\n@-webkit-keyframes index-loading {\n    from { -webkit-transform: rotate(0deg);}\n    to { -webkit-transform: rotate(360deg);}\n}\n\n@-o-keyframes index-loading {\n    from { -o-transform: rotate(0deg);}\n    to { -o-transform: rotate(360deg);}\n}\n\n#search-results .sr-items {\n  font-size: 24px;\n}\n\n.sr-item {\n  margin-bottom: 25px;\n}\n\n.sr-item>.item-href {\n  font-size: 14px;\n  color: #093;\n}\n\n.sr-item>.item-brief {\n  font-size: 13px;\n}\n\n.pagination>li>a {\n  color: #47A7A0\n}\n\n.pagination>.active>a {\n  background-color: #47A7A0;\n  border-color: #47A7A0;\n}\n\n.fixed_header {\n  position: fixed;\n  width: 100%;\n  padding-bottom: 10px;\n  padding-top: 10px;\n  margin: 0px;\n  top: 0;\n  z-index: 9999;\n  left: 0;\n}\n\n.fixed_header+.toc{\n  margin-top: 50px;\n  margin-left: 0;\n}\n\n.sidenav, .fixed_header, .toc  {\n  background-color: #f1f1f1;\n}\n\n.sidetoc {\n  position: fixed;\n  width: 260px;\n  top: 150px;\n  bottom: 0;\n  overflow-x: hidden;\n  overflow-y: auto;\n  background-color: #f1f1f1;\n  border-left: 1px solid #e7e7e7;\n  border-right: 1px solid #e7e7e7;\n  z-index: 1;\n}\n\n.sidetoc.shiftup {\n  bottom: 70px;\n}\n\nbody .toc{\n  background-color: #f1f1f1;\n  overflow-x: hidden;\n}\n\n.sidetoggle.ng-hide {\n  display: block !important;\n}\n.sidetoc-expand > .caret {\n  margin-left: 0px;\n  margin-top: -2px;\n}\n.sidetoc-expand > .caret-side {\n  border-left: 4px solid;\n  border-top: 4px solid transparent;\n  border-bottom: 4px solid transparent;\n  margin-left: 4px;\n  margin-top: -4px;\n}\n.sidetoc-heading {\n  font-weight: 500;\n}\n\n.toc {\n  margin: 0px 0 0 10px;\n  padding: 0 10px;\n}\n.expand-stub {\n  position: absolute;\n  left: -10px;\n}\n.toc .nav > li > a.sidetoc-expand {\n  position: absolute;\n  top: 0;\n  left: 0;\n}\n.toc .nav > li > a {\n  color: #666666;\n  margin-left: 5px;\n  display: block;\n  padding: 0;\n}\n.toc .nav > li > a:hover,\n.toc .nav > li > a:focus {\n  color: #000000;\n  background: none;\n  text-decoration: inherit;\n}\n.toc .nav > li.active > a {\n  color: #337ab7;\n}\n.toc .nav > li.active > a:hover,\n.toc .nav > li.active > a:focus {\n  color: #23527c;\n}\n\n.toc .nav > li> .expand-stub {\n  cursor: pointer;\n}\n\n.toc .nav > li.active > .expand-stub::before,\n.toc .nav > li.in > .expand-stub::before,\n.toc .nav > li.in.active > .expand-stub::before,\n.toc .nav > li.filtered > .expand-stub::before {\n    content: \"-\";\n}\n\n.toc .nav > li > .expand-stub::before,\n.toc .nav > li.active > .expand-stub::before {\n    content: \"+\";\n}\n\n.toc .nav > li.filtered > ul,\n.toc .nav > li.in > ul {\n  display: block;\n}\n\n.toc .nav > li > ul {\n  display: none;\n}\n\n.toc ul{\n  font-size: 12px;\n  margin: 0 0 0 3px;\n}\n\n.toc .level1 > li {\n  font-weight: bold;\n  margin-top: 10px;\n  position: relative;\n  font-size: 16px;\n}\n.toc .level2 {\n  font-weight: normal;\n  margin: 5px 0 0 15px;\n  font-size: 14px;\n}\n.toc-toggle {\n  display: none;\n  margin: 0 15px 0px 15px;\n}\n.sidefilter {\n  position: fixed;\n  top: 90px;\n  width: 260px;\n  background-color: #f1f1f1;\n  padding: 15px;\n  border-left: 1px solid #e7e7e7;\n  border-right: 1px solid #e7e7e7;\n  z-index: 1;\n}\n.toc-filter {\n  border-radius: 5px;\n  background: #fff;\n  color: #666666;\n  padding: 5px;\n  position: relative;\n  margin: 0 5px 0 5px;\n}\n.toc-filter > input {\n  border: 0;\n  color: #666666;\n  padding-left: 20px;\n  padding-right: 20px;\n  width: 100%;\n}\n.toc-filter > input:focus {\n  outline: 0;\n}\n.toc-filter > .filter-icon {\n  position: absolute;\n  top: 10px;\n  left: 5px;\n}\n.toc-filter > .clear-icon {\n  position: absolute;\n  top: 10px;\n  right: 5px;\n}\n.article {\n  margin-top: 120px;\n  margin-bottom: 115px;\n}\n\n#_content>a{\n  margin-top: 105px;\n}\n\n.article.grid-right {\n  margin-left: 280px;\n}\n\n.inheritance hr {\n  margin-top: 5px;\n  margin-bottom: 5px;\n}\n.article img {\n  max-width: 100%;\n}\n.sideaffix {\n  margin-top: 50px;\n  font-size: 12px;\n  max-height: 100%;\n  overflow: hidden;\n  top: 100px;\n  bottom: 10px;\n  position: fixed;\n}\n.sideaffix.shiftup {\n  bottom: 70px;\n}\n.affix {\n  position: relative;\n  height: 100%;\n}\n.sideaffix > div.contribution {\n  margin-bottom: 20px;\n}\n.sideaffix > div.contribution > ul > li > a.contribution-link {\n  padding: 6px 10px;\n  font-weight: bold;\n  font-size: 14px;\n}\n.sideaffix > div.contribution > ul > li > a.contribution-link:hover {\n  background-color: #ffffff;\n}\n.sideaffix ul.nav > li > a:focus {\n  background: none;\n}\n.affix h5 {\n  font-weight: bold;\n  text-transform: uppercase;\n  padding-left: 10px;\n  font-size: 12px;\n}\n.affix > ul.level1 {\n  overflow: hidden;\n  padding-bottom: 10px;\n  height: calc(100% - 100px);\n}\n.affix ul > li > a:before {\n  color: #cccccc;\n  position: absolute;\n}\n.affix ul > li > a:hover {\n  background: none;\n  color: #666666;\n}\n.affix ul > li.active > a,\n.affix ul > li.active > a:before {\n  color: #337ab7;\n}\n.affix ul > li > a {\n  padding: 5px 12px;\n  color: #666666;\n}\n.affix > ul > li.active:last-child {\n  margin-bottom: 50px;\n}\n.affix > ul > li > a:before {\n  content: \"|\";\n  font-size: 16px;\n  top: 1px;\n  left: 0;\n}\n.affix > ul > li.active > a,\n.affix > ul > li.active > a:before {\n  color: #337ab7;\n  font-weight: bold;\n}\n.affix ul ul > li > a {\n  padding: 2px 15px;\n}\n.affix ul ul > li > a:before {\n  content: \">\";\n  font-size: 14px;\n  top: -1px;\n  left: 5px;\n}\n.affix ul > li > a:before,\n.affix ul ul {\n  display: none;\n}\n.affix ul > li.active > ul,\n.affix ul > li.active > a:before,\n.affix ul > li > a:hover:before {\n  display: block;\n  white-space: nowrap;\n}\n.codewrapper {\n  position: relative;\n}\n.trydiv {\n  height: 0px;\n}\n.tryspan {\n  position: absolute;\n  top: 0px;\n  right: 0px;\n  border-style: solid;\n  border-radius: 0px 4px;\n  box-sizing: border-box;\n  border-width: 1px;\n  border-color: #cccccc;\n  text-align: center;\n  padding: 2px 8px;\n  background-color: white;\n  font-size: 12px;\n  cursor: pointer;\n  z-index: 100;\n  display: none;\n  color: #767676;\n}\n.tryspan:hover {\n  background-color: #3b8bd0;\n  color: white;\n  border-color: #3b8bd0;\n}\n.codewrapper:hover .tryspan {\n  display: block;\n}\n.sample-response .response-content{\n  max-height: 200px;\n}\nfooter {\n  position: absolute;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 1000;\n}\n.footer {\n  border-top: 1px solid #e7e7e7;\n  background-color: #f8f8f8;\n  padding: 15px 0;\n}\n@media (min-width: 768px) {\n  #sidetoggle.collapse {\n    display: block;\n  }\n  .topnav .navbar-nav {\n    float: none;\n    white-space: nowrap;\n  }\n  .topnav .navbar-nav > li {\n    float: none;\n    display: inline-block;\n  }\n}\n@media only screen and (max-width: 768px) {\n  #mobile-indicator {\n    display: block;\n  }\n  /* TOC display for responsive */\n  .article {\n    margin-top: 30px !important;\n  }\n  header {\n    position: static;\n  }\n  .topnav {\n    text-align: center;\n  }\n  .sidenav {\n    padding: 15px 0;\n    margin-left: -15px;\n    margin-right: -15px;\n  }\n  .sidefilter {\n    position: static;\n    width: auto;\n    float: none;\n    border: none;\n  }\n  .sidetoc {\n    position: static;\n    width: auto;\n    float: none;\n    padding-bottom: 0px;\n    border: none;\n  }\n  .toc .nav > li, .toc .nav > li >a {\n    display: inline-block;\n  }\n  .toc li:after {\n    margin-left: -3px;\n    margin-right: 5px;\n    content: \", \";\n    color: #666666;\n  }\n  .toc .level1 > li {\n    display: block;\n  }\n  \n  .toc .level1 > li:after {\n    display: none;\n  }\n  .article.grid-right {\n    margin-left: 0;\n  }\n  .grad-top,\n  .grad-bottom {\n    display: none;\n  }\n  .toc-toggle {\n    display: block;\n  }\n  .sidetoggle.ng-hide {\n    display: none !important;\n  }\n  /*.expand-all {\n    display: none;\n  }*/\n  .sideaffix {\n    display: none;\n  }\n  .mobile-hide {\n    display: none;\n  }\n  .breadcrumb {\n    white-space: inherit;\n  }\n\n  /* workaround for #hashtag url is no longer needed*/\n  h1:before,\n  h2:before,\n  h3:before,\n  h4:before {\n      content: '';\n      display: none;\n  }\n}\n\n/* For toc iframe */\n@media (max-width: 260px) {\n  .toc .level2 > li {\n    display: block;\n  }\n\n  .toc .level2 > li:after {\n    display: none;\n  }\n}\n\n/* Code snippet */\ncode {\n  color: #717374;\n  background-color: #f1f2f3;\n}\n\na code {\n  color: #337ab7;\n  background-color: #f1f2f3;\n}\n\na code:hover {\n  text-decoration: underline;\n}\n\n.hljs-keyword {\n  color: rgb(86,156,214);\n}\n\n.hljs-string {\n  color: rgb(214, 157, 133);\n}\n\npre {\n  border: 0;\n}\n\n/* For code snippet line highlight */\npre > code .line-highlight {\n  background-color: #ffffcc;\n}\n\n/* Alerts */\n.alert h5 {\n    text-transform: uppercase;\n    font-weight: bold;\n    margin-top: 0;\n}\n\n.alert h5:before {\n    position:relative;\n    top:1px;\n    display:inline-block;\n    font-family:'Glyphicons Halflings';\n    line-height:1;\n    -webkit-font-smoothing:antialiased;\n    -moz-osx-font-smoothing:grayscale;\n    margin-right: 5px;\n    font-weight: normal;\n}\n\n.alert-info h5:before {\n    content:\"\\e086\"\n}\n\n.alert-warning h5:before {\n    content:\"\\e127\"\n}\n\n.alert-danger h5:before {\n    content:\"\\e107\"\n}\n\n/* For Embedded Video */\ndiv.embeddedvideo {\n    padding-top: 56.25%;\n    position: relative;\n    width: 100%;\n}\n\ndiv.embeddedvideo iframe {\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    width: 100%;\n    height: 100%;\n}\n\n/* For printer */\n@media print{\n  .article.grid-right {\n    margin-top: 0px;\n    margin-left: 0px;\n  }\n  .sideaffix {\n    display: none;\n  }\n  .mobile-hide {\n    display: none;\n  }\n  .footer {\n    display: none;\n  }\n}\n\n/* For tabbed content */\n\n.tabGroup {\n  margin-top: 1rem; }\n  .tabGroup ul[role=\"tablist\"] {\n    margin: 0;\n    padding: 0;\n    list-style: none; }\n    .tabGroup ul[role=\"tablist\"] > li {\n      list-style: none;\n      display: inline-block; }\n  .tabGroup a[role=\"tab\"] {\n    color: #6e6e6e;\n    box-sizing: border-box;\n    display: inline-block;\n    padding: 5px 7.5px;\n    text-decoration: none;\n    border-bottom: 2px solid #fff; }\n    .tabGroup a[role=\"tab\"]:hover, .tabGroup a[role=\"tab\"]:focus, .tabGroup a[role=\"tab\"][aria-selected=\"true\"] {\n      border-bottom: 2px solid #0050C5; }\n    .tabGroup a[role=\"tab\"][aria-selected=\"true\"] {\n      color: #222; }\n    .tabGroup a[role=\"tab\"]:hover, .tabGroup a[role=\"tab\"]:focus {\n      color: #0050C5; }\n    .tabGroup a[role=\"tab\"]:focus {\n      outline: 1px solid #0050C5;\n      outline-offset: -1px; }\n  @media (min-width: 768px) {\n    .tabGroup a[role=\"tab\"] {\n      padding: 5px 15px; } }\n  .tabGroup section[role=\"tabpanel\"] {\n    border: 1px solid #e0e0e0;\n    padding: 15px;\n    margin: 0;\n    overflow: hidden; }\n    .tabGroup section[role=\"tabpanel\"] > .codeHeader,\n    .tabGroup section[role=\"tabpanel\"] > pre {\n      margin-left: -16px;\n      margin-right: -16px; }\n    .tabGroup section[role=\"tabpanel\"] > :first-child {\n      margin-top: 0; }\n    .tabGroup section[role=\"tabpanel\"] > pre:last-child {\n      display: block;\n      margin-bottom: -16px; }\n\n.mainContainer[dir='rtl'] main ul[role=\"tablist\"] {\n  margin: 0; }\n\n/* Color theme */\n\n/* These are not important, tune down **/\n.decalaration, .fieldValue, .parameters, .returns {\n  color: #a2a2a2;\n}\n\n/* Major sections, increase visibility **/\n#fields, #properties, #methods, #events {\n    font-weight: bold;\n    margin-top: 2em;\n}\n"
  },
  {
    "path": "docs/styles/docfx.js",
    "content": "// Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.\n$(function () {\n  var active = 'active';\n  var expanded = 'in';\n  var collapsed = 'collapsed';\n  var filtered = 'filtered';\n  var show = 'show';\n  var hide = 'hide';\n  var util = new utility();\n\n  workAroundFixedHeaderForAnchors();\n  highlight();\n  enableSearch();\n\n  renderTables();\n  renderAlerts();\n  renderLinks();\n  renderNavbar();\n  renderSidebar();\n  renderAffix();\n  renderFooter();\n  renderLogo();\n\n  breakText();\n  renderTabs();\n\n  window.refresh = function (article) {\n    // Update markup result\n    if (typeof article == 'undefined' || typeof article.content == 'undefined')\n      console.error(\"Null Argument\");\n    $(\"article.content\").html(article.content);\n\n    highlight();\n    renderTables();\n    renderAlerts();\n    renderAffix();\n    renderTabs();\n  }\n\n  // Add this event listener when needed\n  // window.addEventListener('content-update', contentUpdate);\n\n  function breakText() {\n    $(\".xref\").addClass(\"text-break\");\n    var texts = $(\".text-break\");\n    texts.each(function () {\n      $(this).breakWord();\n    });\n  }\n\n  // Styling for tables in conceptual documents using Bootstrap.\n  // See http://getbootstrap.com/css/#tables\n  function renderTables() {\n    $('table').addClass('table table-bordered table-striped table-condensed').wrap('<div class=\\\"table-responsive\\\"></div>');\n  }\n\n  // Styling for alerts.\n  function renderAlerts() {\n    $('.NOTE, .TIP').addClass('alert alert-info');\n    $('.WARNING').addClass('alert alert-warning');\n    $('.IMPORTANT, .CAUTION').addClass('alert alert-danger');\n  }\n\n  // Enable anchors for headings.\n  (function () {\n    anchors.options = {\n      placement: 'left',\n      visible: 'hover'\n    };\n    anchors.add('article h2:not(.no-anchor), article h3:not(.no-anchor), article h4:not(.no-anchor)');\n  })();\n\n  // Open links to different host in a new window.\n  function renderLinks() {\n    if ($(\"meta[property='docfx:newtab']\").attr(\"content\") === \"true\") {\n      $(document.links).filter(function () {\n        return this.hostname !== window.location.hostname;\n      }).attr('target', '_blank');\n    }\n  }\n\n  // Enable highlight.js\n  function highlight() {\n    $('pre code').each(function (i, block) {\n      hljs.highlightBlock(block);\n    });\n    $('pre code[highlight-lines]').each(function (i, block) {\n      if (block.innerHTML === \"\") return;\n      var lines = block.innerHTML.split('\\n');\n\n      queryString = block.getAttribute('highlight-lines');\n      if (!queryString) return;\n\n      var ranges = queryString.split(',');\n      for (var j = 0, range; range = ranges[j++];) {\n        var found = range.match(/^(\\d+)\\-(\\d+)?$/);\n        if (found) {\n          // consider region as `{startlinenumber}-{endlinenumber}`, in which {endlinenumber} is optional\n          var start = +found[1];\n          var end = +found[2];\n          if (isNaN(end) || end > lines.length) {\n            end = lines.length;\n          }\n        } else {\n          // consider region as a sigine line number\n          if (isNaN(range)) continue;\n          var start = +range;\n          var end = start;\n        }\n        if (start <= 0 || end <= 0 || start > end || start > lines.length) {\n          // skip current region if invalid\n          continue;\n        }\n        lines[start - 1] = '<span class=\"line-highlight\">' + lines[start - 1];\n        lines[end - 1] = lines[end - 1] + '</span>';\n      }\n\n      block.innerHTML = lines.join('\\n');\n    });\n  }\n\n  // Support full-text-search\n  function enableSearch() {\n    var query;\n    var relHref = $(\"meta[property='docfx\\\\:rel']\").attr(\"content\");\n    if (typeof relHref === 'undefined') {\n      return;\n    }\n    try {\n      var worker = new Worker(relHref + 'styles/search-worker.js');\n      if (!worker && !window.worker) {\n        localSearch();\n      } else {\n        webWorkerSearch();\n      }\n\n      renderSearchBox();\n      highlightKeywords();\n      addSearchEvent();\n    } catch (e) {\n      console.error(e);\n    }\n\n    //Adjust the position of search box in navbar\n    function renderSearchBox() {\n      autoCollapse();\n      $(window).on('resize', autoCollapse);\n      $(document).on('click', '.navbar-collapse.in', function (e) {\n        if ($(e.target).is('a')) {\n          $(this).collapse('hide');\n        }\n      });\n\n      function autoCollapse() {\n        var navbar = $('#autocollapse');\n        if (navbar.height() === null) {\n          setTimeout(autoCollapse, 300);\n        }\n        navbar.removeClass(collapsed);\n        if (navbar.height() > 60) {\n          navbar.addClass(collapsed);\n        }\n      }\n    }\n\n    // Search factory\n    function localSearch() {\n      console.log(\"using local search\");\n      var lunrIndex = lunr(function () {\n        this.ref('href');\n        this.field('title', { boost: 50 });\n        this.field('keywords', { boost: 20 });\n      });\n      lunr.tokenizer.seperator = /[\\s\\-\\.]+/;\n      var searchData = {};\n      var searchDataRequest = new XMLHttpRequest();\n\n      var indexPath = relHref + \"index.json\";\n      if (indexPath) {\n        searchDataRequest.open('GET', indexPath);\n        searchDataRequest.onload = function () {\n          if (this.status != 200) {\n            return;\n          }\n          searchData = JSON.parse(this.responseText);\n          for (var prop in searchData) {\n            if (searchData.hasOwnProperty(prop)) {\n              lunrIndex.add(searchData[prop]);\n            }\n          }\n        }\n        searchDataRequest.send();\n      }\n\n      $(\"body\").bind(\"queryReady\", function () {\n        var hits = lunrIndex.search(query);\n        var results = [];\n        hits.forEach(function (hit) {\n          var item = searchData[hit.ref];\n          results.push({ 'href': item.href, 'title': item.title, 'keywords': item.keywords });\n        });\n        handleSearchResults(results);\n      });\n    }\n\n    function webWorkerSearch() {\n      console.log(\"using Web Worker\");\n      var indexReady = $.Deferred();\n\n      worker.onmessage = function (oEvent) {\n        switch (oEvent.data.e) {\n          case 'index-ready':\n            indexReady.resolve();\n            break;\n          case 'query-ready':\n            var hits = oEvent.data.d;\n            handleSearchResults(hits);\n            break;\n        }\n      }\n\n      indexReady.promise().done(function () {\n        $(\"body\").bind(\"queryReady\", function () {\n          worker.postMessage({ q: query });\n        });\n        if (query && (query.length >= 3)) {\n          worker.postMessage({ q: query });\n        }\n      });\n    }\n\n    // Highlight the searching keywords\n    function highlightKeywords() {\n      var q = url('?q');\n      if (q !== null) {\n        var keywords = q.split(\"%20\");\n        keywords.forEach(function (keyword) {\n          if (keyword !== \"\") {\n            $('.data-searchable *').mark(keyword);\n            $('article *').mark(keyword);\n          }\n        });\n      }\n    }\n\n    function addSearchEvent() {\n      $('body').bind(\"searchEvent\", function () {\n        $('#search-query').keypress(function (e) {\n          return e.which !== 13;\n        });\n\n        $('#search-query').keyup(function () {\n          query = $(this).val();\n          if (query.length < 3) {\n            flipContents(\"show\");\n          } else {\n            flipContents(\"hide\");\n            $(\"body\").trigger(\"queryReady\");\n            $('#search-results>.search-list>span').text('\"' + query + '\"');\n          }\n        }).off(\"keydown\");\n      });\n    }\n\n    function flipContents(action) {\n      if (action === \"show\") {\n        $('.hide-when-search').show();\n        $('#search-results').hide();\n      } else {\n        $('.hide-when-search').hide();\n        $('#search-results').show();\n      }\n    }\n\n    function relativeUrlToAbsoluteUrl(currentUrl, relativeUrl) {\n      var currentItems = currentUrl.split(/\\/+/);\n      var relativeItems = relativeUrl.split(/\\/+/);\n      var depth = currentItems.length - 1;\n      var items = [];\n      for (var i = 0; i < relativeItems.length; i++) {\n        if (relativeItems[i] === '..') {\n          depth--;\n        } else if (relativeItems[i] !== '.') {\n          items.push(relativeItems[i]);\n        }\n      }\n      return currentItems.slice(0, depth).concat(items).join('/');\n    }\n\n    function extractContentBrief(content) {\n      var briefOffset = 512;\n      var words = query.split(/\\s+/g);\n      var queryIndex = content.indexOf(words[0]);\n      var briefContent;\n      if (queryIndex > briefOffset) {\n        return \"...\" + content.slice(queryIndex - briefOffset, queryIndex + briefOffset) + \"...\";\n      } else if (queryIndex <= briefOffset) {\n        return content.slice(0, queryIndex + briefOffset) + \"...\";\n      }\n    }\n\n    function handleSearchResults(hits) {\n      var numPerPage = 10;\n      var pagination = $('#pagination');\n      pagination.empty();\n      pagination.removeData(\"twbs-pagination\");\n      if (hits.length === 0) {\n        $('#search-results>.sr-items').html('<p>No results found</p>');\n      } else {        \n        pagination.twbsPagination({\n          first: pagination.data('first'),\n          prev: pagination.data('prev'),\n          next: pagination.data('next'),\n          last: pagination.data('last'),\n          totalPages: Math.ceil(hits.length / numPerPage),\n          visiblePages: 5,\n          onPageClick: function (event, page) {\n            var start = (page - 1) * numPerPage;\n            var curHits = hits.slice(start, start + numPerPage);\n            $('#search-results>.sr-items').empty().append(\n              curHits.map(function (hit) {\n                var currentUrl = window.location.href;\n                var itemRawHref = relativeUrlToAbsoluteUrl(currentUrl, relHref + hit.href);\n                var itemHref = relHref + hit.href + \"?q=\" + query;\n                var itemTitle = hit.title;\n                var itemBrief = extractContentBrief(hit.keywords);\n\n                var itemNode = $('<div>').attr('class', 'sr-item');\n                var itemTitleNode = $('<div>').attr('class', 'item-title').append($('<a>').attr('href', itemHref).attr(\"target\", \"_blank\").text(itemTitle));\n                var itemHrefNode = $('<div>').attr('class', 'item-href').text(itemRawHref);\n                var itemBriefNode = $('<div>').attr('class', 'item-brief').text(itemBrief);\n                itemNode.append(itemTitleNode).append(itemHrefNode).append(itemBriefNode);\n                return itemNode;\n              })\n            );\n            query.split(/\\s+/).forEach(function (word) {\n              if (word !== '') {\n                $('#search-results>.sr-items *').mark(word);\n              }\n            });\n          }\n        });\n      }\n    }\n  };\n\n  // Update href in navbar\n  function renderNavbar() {\n    var navbar = $('#navbar ul')[0];\n    if (typeof (navbar) === 'undefined') {\n      loadNavbar();\n    } else {\n      $('#navbar ul a.active').parents('li').addClass(active);\n      renderBreadcrumb();\n      showSearch();\n    }\n    \n    function showSearch() {\n      if ($('#search-results').length !== 0) {\n          $('#search').show();\n          $('body').trigger(\"searchEvent\");\n      }\n    }\n\n    function loadNavbar() {\n      var navbarPath = $(\"meta[property='docfx\\\\:navrel']\").attr(\"content\");\n      if (!navbarPath) {\n        return;\n      }\n      navbarPath = navbarPath.replace(/\\\\/g, '/');\n      var tocPath = $(\"meta[property='docfx\\\\:tocrel']\").attr(\"content\") || '';\n      if (tocPath) tocPath = tocPath.replace(/\\\\/g, '/');\n      $.get(navbarPath, function (data) {\n        $(data).find(\"#toc>ul\").appendTo(\"#navbar\");\n        showSearch();\n        var index = navbarPath.lastIndexOf('/');\n        var navrel = '';\n        if (index > -1) {\n          navrel = navbarPath.substr(0, index + 1);\n        }\n        $('#navbar>ul').addClass('navbar-nav');\n        var currentAbsPath = util.getAbsolutePath(window.location.pathname);\n        // set active item\n        $('#navbar').find('a[href]').each(function (i, e) {\n          var href = $(e).attr(\"href\");\n          if (util.isRelativePath(href)) {\n            href = navrel + href;\n            $(e).attr(\"href\", href);\n\n            var isActive = false;\n            var originalHref = e.name;\n            if (originalHref) {\n              originalHref = navrel + originalHref;\n              if (util.getDirectory(util.getAbsolutePath(originalHref)) === util.getDirectory(util.getAbsolutePath(tocPath))) {\n                isActive = true;\n              }\n            } else {\n              if (util.getAbsolutePath(href) === currentAbsPath) {\n                var dropdown = $(e).attr('data-toggle') == \"dropdown\"\n                if (!dropdown) {\n                  isActive = true;\n                }\n              }\n            }\n            if (isActive) {\n              $(e).addClass(active);\n            }\n          }\n        });\n        renderNavbar();\n      });\n    }\n  }\n\n  function renderSidebar() {\n    var sidetoc = $('#sidetoggle .sidetoc')[0];\n    if (typeof (sidetoc) === 'undefined') {\n      loadToc();\n    } else {\n      registerTocEvents();\n      if ($('footer').is(':visible')) {\n        $('.sidetoc').addClass('shiftup');\n      }\n\n      // Scroll to active item\n      var top = 0;\n      $('#toc a.active').parents('li').each(function (i, e) {\n        $(e).addClass(active).addClass(expanded);\n        $(e).children('a').addClass(active);\n      })\n      $('#toc a.active').parents('li').each(function (i, e) {\n        top += $(e).position().top;\n      })\n      $('.sidetoc').scrollTop(top - 50);\n\n      if ($('footer').is(':visible')) {\n        $('.sidetoc').addClass('shiftup');\n      }\n\n      renderBreadcrumb();\n    }\n\n    function registerTocEvents() {\n      var tocFilterInput = $('#toc_filter_input');\n      var tocFilterClearButton = $('#toc_filter_clear');\n        \n      $('.toc .nav > li > .expand-stub').click(function (e) {\n        $(e.target).parent().toggleClass(expanded);\n      });\n      $('.toc .nav > li > .expand-stub + a:not([href])').click(function (e) {\n        $(e.target).parent().toggleClass(expanded);\n      });\n      tocFilterInput.on('input', function (e) {\n        var val = this.value;\n        //Save filter string to local session storage\n        if (typeof(Storage) !== \"undefined\") {\n          try {\n            sessionStorage.filterString = val;\n            }\n          catch(e)\n            {}\n        }\n        if (val === '') {\n          // Clear 'filtered' class\n          $('#toc li').removeClass(filtered).removeClass(hide);\n          tocFilterClearButton.fadeOut();\n          return;\n        }\n        tocFilterClearButton.fadeIn();\n\n        // set all parent nodes status\n        $('#toc li>a').filter(function (i, e) {\n          return $(e).siblings().length > 0\n        }).each(function (i, anchor) {\n          var parent = $(anchor).parent();\n          parent.addClass(hide);\n          parent.removeClass(show);\n          parent.removeClass(filtered);\n        })\n        \n        // Get leaf nodes\n        $('#toc li>a').filter(function (i, e) {\n          return $(e).siblings().length === 0\n        }).each(function (i, anchor) {\n          var text = $(anchor).attr('title');\n          var parent = $(anchor).parent();\n          var parentNodes = parent.parents('ul>li');\n          for (var i = 0; i < parentNodes.length; i++) {\n            var parentText = $(parentNodes[i]).children('a').attr('title');\n            if (parentText) text = parentText + '.' + text;\n          };\n          if (filterNavItem(text, val)) {\n            parent.addClass(show);\n            parent.removeClass(hide);\n          } else {\n            parent.addClass(hide);\n            parent.removeClass(show);\n          }\n        });\n        $('#toc li>a').filter(function (i, e) {\n          return $(e).siblings().length > 0\n        }).each(function (i, anchor) {\n          var parent = $(anchor).parent();\n          if (parent.find('li.show').length > 0) {\n            parent.addClass(show);\n            parent.addClass(filtered);\n            parent.removeClass(hide);\n          } else {\n            parent.addClass(hide);\n            parent.removeClass(show);\n            parent.removeClass(filtered);\n          }\n        })\n\n        function filterNavItem(name, text) {\n          if (!text) return true;\n          if (name && name.toLowerCase().indexOf(text.toLowerCase()) > -1) return true;\n          return false;\n        }\n      });\n      \n      // toc filter clear button\n      tocFilterClearButton.hide();\n      tocFilterClearButton.on(\"click\", function(e){\n        tocFilterInput.val(\"\");\n        tocFilterInput.trigger('input');\n        if (typeof(Storage) !== \"undefined\") {\n          try {\n            sessionStorage.filterString = \"\";\n            }\n          catch(e)\n            {}\n        }\n      });\n\n      //Set toc filter from local session storage on page load\n      if (typeof(Storage) !== \"undefined\") {\n        try {\n          tocFilterInput.val(sessionStorage.filterString);\n          tocFilterInput.trigger('input');\n          }\n        catch(e)\n          {}\n      }\n    }\n\n    function loadToc() {\n      var tocPath = $(\"meta[property='docfx\\\\:tocrel']\").attr(\"content\");\n      if (!tocPath) {\n        return;\n      }\n      tocPath = tocPath.replace(/\\\\/g, '/');\n      $('#sidetoc').load(tocPath + \" #sidetoggle > div\", function () {\n        var index = tocPath.lastIndexOf('/');\n        var tocrel = '';\n        if (index > -1) {\n          tocrel = tocPath.substr(0, index + 1);\n        }\n        var currentHref = util.getAbsolutePath(window.location.pathname);\n        $('#sidetoc').find('a[href]').each(function (i, e) {\n          var href = $(e).attr(\"href\");\n          if (util.isRelativePath(href)) {\n            href = tocrel + href;\n            $(e).attr(\"href\", href);\n          }\n\n          if (util.getAbsolutePath(e.href) === currentHref) {\n            $(e).addClass(active);\n          }\n\n          $(e).breakWord();\n        });\n\n        renderSidebar();\n      });\n    }\n  }\n\n  function renderBreadcrumb() {\n    var breadcrumb = [];\n    $('#navbar a.active').each(function (i, e) {\n      breadcrumb.push({\n        href: e.href,\n        name: e.innerHTML\n      });\n    })\n    $('#toc a.active').each(function (i, e) {\n      breadcrumb.push({\n        href: e.href,\n        name: e.innerHTML\n      });\n    })\n\n    var html = util.formList(breadcrumb, 'breadcrumb');\n    $('#breadcrumb').html(html);\n  }\n\n  //Setup Affix\n  function renderAffix() {\n    var hierarchy = getHierarchy();\n    if (!hierarchy || hierarchy.length <= 0) {\n      $(\"#affix\").hide();\n    }\n    else {\n      var html = util.formList(hierarchy, ['nav', 'bs-docs-sidenav']);\n      $(\"#affix>div\").empty().append(html);\n      if ($('footer').is(':visible')) {\n        $(\".sideaffix\").css(\"bottom\", \"70px\");\n      }\n      $('#affix a').click(function(e) {\n        var scrollspy = $('[data-spy=\"scroll\"]').data()['bs.scrollspy'];\n        var target = e.target.hash;\n        if (scrollspy && target) {\n          scrollspy.activate(target);\n        }\n      });\n    }\n\n    function getHierarchy() {\n      // supported headers are h1, h2, h3, and h4\n      var $headers = $($.map(['h1', 'h2', 'h3', 'h4'], function (h) { return \".article article \" + h; }).join(\", \"));\n\n      // a stack of hierarchy items that are currently being built\n      var stack = [];\n      $headers.each(function (i, e) {\n        if (!e.id) {\n          return;\n        }\n\n        var item = {\n          name: htmlEncode($(e).text()),\n          href: \"#\" + e.id,\n          items: []\n        };\n\n        if (!stack.length) {\n          stack.push({ type: e.tagName, siblings: [item] });\n          return;\n        }\n\n        var frame = stack[stack.length - 1];\n        if (e.tagName === frame.type) {\n          frame.siblings.push(item);\n        } else if (e.tagName[1] > frame.type[1]) {\n          // we are looking at a child of the last element of frame.siblings.\n          // push a frame onto the stack. After we've finished building this item's children,\n          // we'll attach it as a child of the last element\n          stack.push({ type: e.tagName, siblings: [item] });\n        } else {  // e.tagName[1] < frame.type[1]\n          // we are looking at a sibling of an ancestor of the current item.\n          // pop frames from the stack, building items as we go, until we reach the correct level at which to attach this item.\n          while (e.tagName[1] < stack[stack.length - 1].type[1]) {\n            buildParent();\n          }\n          if (e.tagName === stack[stack.length - 1].type) {\n            stack[stack.length - 1].siblings.push(item);\n          } else {\n            stack.push({ type: e.tagName, siblings: [item] });\n          }\n        }\n      });\n      while (stack.length > 1) {\n        buildParent();\n      }\n\n      function buildParent() {\n        var childrenToAttach = stack.pop();\n        var parentFrame = stack[stack.length - 1];\n        var parent = parentFrame.siblings[parentFrame.siblings.length - 1];\n        $.each(childrenToAttach.siblings, function (i, child) {\n          parent.items.push(child);\n        });\n      }\n      if (stack.length > 0) {\n\n        var topLevel = stack.pop().siblings;\n        if (topLevel.length === 1) {  // if there's only one topmost header, dump it\n          return topLevel[0].items;\n        }\n        return topLevel;\n      }\n      return undefined;\n    }\n\n    function htmlEncode(str) {\n      if (!str) return str;\n      return str\n        .replace(/&/g, '&amp;')\n        .replace(/\"/g, '&quot;')\n        .replace(/'/g, '&#39;')\n        .replace(/</g, '&lt;')\n        .replace(/>/g, '&gt;');\n    }\n\n    function htmlDecode(value) {\n      if (!str) return str;\n      return value\n        .replace(/&quot;/g, '\"')\n        .replace(/&#39;/g, \"'\")\n        .replace(/&lt;/g, '<')\n        .replace(/&gt;/g, '>')\n        .replace(/&amp;/g, '&');\n    }\n\n    function cssEscape(str) {\n      // see: http://stackoverflow.com/questions/2786538/need-to-escape-a-special-character-in-a-jquery-selector-string#answer-2837646\n      if (!str) return str;\n      return str\n        .replace(/[!\"#$%&'()*+,.\\/:;<=>?@[\\\\\\]^`{|}~]/g, \"\\\\$&\");\n    }\n  }\n\n  // Show footer\n  function renderFooter() {\n    initFooter();\n    $(window).on(\"scroll\", showFooterCore);\n\n    function initFooter() {\n      if (needFooter()) {\n        shiftUpBottomCss();\n        $(\"footer\").show();\n      } else {\n        resetBottomCss();\n        $(\"footer\").hide();\n      }\n    }\n\n    function showFooterCore() {\n      if (needFooter()) {\n        shiftUpBottomCss();\n        $(\"footer\").fadeIn();\n      } else {\n        resetBottomCss();\n        $(\"footer\").fadeOut();\n      }\n    }\n\n    function needFooter() {\n      var scrollHeight = $(document).height();\n      var scrollPosition = $(window).height() + $(window).scrollTop();\n      return (scrollHeight - scrollPosition) < 1;\n    }\n\n    function resetBottomCss() {\n      $(\".sidetoc\").removeClass(\"shiftup\");\n      $(\".sideaffix\").removeClass(\"shiftup\");\n    }\n\n    function shiftUpBottomCss() {\n      $(\".sidetoc\").addClass(\"shiftup\");\n      $(\".sideaffix\").addClass(\"shiftup\");\n    }\n  }\n\n  function renderLogo() {\n    // For LOGO SVG\n    // Replace SVG with inline SVG\n    // http://stackoverflow.com/questions/11978995/how-to-change-color-of-svg-image-using-css-jquery-svg-image-replacement\n    jQuery('img.svg').each(function () {\n      var $img = jQuery(this);\n      var imgID = $img.attr('id');\n      var imgClass = $img.attr('class');\n      var imgURL = $img.attr('src');\n\n      jQuery.get(imgURL, function (data) {\n        // Get the SVG tag, ignore the rest\n        var $svg = jQuery(data).find('svg');\n\n        // Add replaced image's ID to the new SVG\n        if (typeof imgID !== 'undefined') {\n          $svg = $svg.attr('id', imgID);\n        }\n        // Add replaced image's classes to the new SVG\n        if (typeof imgClass !== 'undefined') {\n          $svg = $svg.attr('class', imgClass + ' replaced-svg');\n        }\n\n        // Remove any invalid XML tags as per http://validator.w3.org\n        $svg = $svg.removeAttr('xmlns:a');\n\n        // Replace image with new SVG\n        $img.replaceWith($svg);\n\n      }, 'xml');\n    });\n  }\n\n  function renderTabs() {\n    var contentAttrs = {\n      id: 'data-bi-id',\n      name: 'data-bi-name',\n      type: 'data-bi-type'\n    };\n\n    var Tab = (function () {\n      function Tab(li, a, section) {\n        this.li = li;\n        this.a = a;\n        this.section = section;\n      }\n      Object.defineProperty(Tab.prototype, \"tabIds\", {\n        get: function () { return this.a.getAttribute('data-tab').split(' '); },\n        enumerable: true,\n        configurable: true\n      });\n      Object.defineProperty(Tab.prototype, \"condition\", {\n        get: function () { return this.a.getAttribute('data-condition'); },\n        enumerable: true,\n        configurable: true\n      });\n      Object.defineProperty(Tab.prototype, \"visible\", {\n        get: function () { return !this.li.hasAttribute('hidden'); },\n        set: function (value) {\n          if (value) {\n            this.li.removeAttribute('hidden');\n            this.li.removeAttribute('aria-hidden');\n          }\n          else {\n            this.li.setAttribute('hidden', 'hidden');\n            this.li.setAttribute('aria-hidden', 'true');\n          }\n        },\n        enumerable: true,\n        configurable: true\n      });\n      Object.defineProperty(Tab.prototype, \"selected\", {\n        get: function () { return !this.section.hasAttribute('hidden'); },\n        set: function (value) {\n          if (value) {\n            this.a.setAttribute('aria-selected', 'true');\n            this.a.tabIndex = 0;\n            this.section.removeAttribute('hidden');\n            this.section.removeAttribute('aria-hidden');\n          }\n          else {\n            this.a.setAttribute('aria-selected', 'false');\n            this.a.tabIndex = -1;\n            this.section.setAttribute('hidden', 'hidden');\n            this.section.setAttribute('aria-hidden', 'true');\n          }\n        },\n        enumerable: true,\n        configurable: true\n      });\n      Tab.prototype.focus = function () {\n        this.a.focus();\n      };\n      return Tab;\n    }());\n\n    initTabs(document.body);\n\n    function initTabs(container) {\n      var queryStringTabs = readTabsQueryStringParam();\n      var elements = container.querySelectorAll('.tabGroup');\n      var state = { groups: [], selectedTabs: [] };\n      for (var i = 0; i < elements.length; i++) {\n        var group = initTabGroup(elements.item(i));\n        if (!group.independent) {\n          updateVisibilityAndSelection(group, state);\n          state.groups.push(group);\n        }\n      }\n      container.addEventListener('click', function (event) { return handleClick(event, state); });\n      if (state.groups.length === 0) {\n        return state;\n      }\n      selectTabs(queryStringTabs, container);\n      updateTabsQueryStringParam(state);\n      notifyContentUpdated();\n      return state;\n    }\n\n    function initTabGroup(element) {\n      var group = {\n        independent: element.hasAttribute('data-tab-group-independent'),\n        tabs: []\n      };\n      var li = element.firstElementChild.firstElementChild;\n      while (li) {\n        var a = li.firstElementChild;\n        a.setAttribute(contentAttrs.name, 'tab');\n        var dataTab = a.getAttribute('data-tab').replace(/\\+/g, ' ');\n        a.setAttribute('data-tab', dataTab);\n        var section = element.querySelector(\"[id=\\\"\" + a.getAttribute('aria-controls') + \"\\\"]\");\n        var tab = new Tab(li, a, section);\n        group.tabs.push(tab);\n        li = li.nextElementSibling;\n      }\n      element.setAttribute(contentAttrs.name, 'tab-group');\n      element.tabGroup = group;\n      return group;\n    }\n\n    function updateVisibilityAndSelection(group, state) {\n      var anySelected = false;\n      var firstVisibleTab;\n      for (var _i = 0, _a = group.tabs; _i < _a.length; _i++) {\n        var tab = _a[_i];\n        tab.visible = tab.condition === null || state.selectedTabs.indexOf(tab.condition) !== -1;\n        if (tab.visible) {\n          if (!firstVisibleTab) {\n            firstVisibleTab = tab;\n          }\n        }\n        tab.selected = tab.visible && arraysIntersect(state.selectedTabs, tab.tabIds);\n        anySelected = anySelected || tab.selected;\n      }\n      if (!anySelected) {\n        for (var _b = 0, _c = group.tabs; _b < _c.length; _b++) {\n          var tabIds = _c[_b].tabIds;\n          for (var _d = 0, tabIds_1 = tabIds; _d < tabIds_1.length; _d++) {\n            var tabId = tabIds_1[_d];\n            var index = state.selectedTabs.indexOf(tabId);\n            if (index === -1) {\n              continue;\n            }\n            state.selectedTabs.splice(index, 1);\n          }\n        }\n        var tab = firstVisibleTab;\n        tab.selected = true;\n        state.selectedTabs.push(tab.tabIds[0]);\n      }\n    }\n\n    function getTabInfoFromEvent(event) {\n      if (!(event.target instanceof HTMLElement)) {\n        return null;\n      }\n      var anchor = event.target.closest('a[data-tab]');\n      if (anchor === null) {\n        return null;\n      }\n      var tabIds = anchor.getAttribute('data-tab').split(' ');\n      var group = anchor.parentElement.parentElement.parentElement.tabGroup;\n      if (group === undefined) {\n        return null;\n      }\n      return { tabIds: tabIds, group: group, anchor: anchor };\n    }\n\n    function handleClick(event, state) {\n      var info = getTabInfoFromEvent(event);\n      if (info === null) {\n        return;\n      }\n      event.preventDefault();\n      info.anchor.href = 'javascript:';\n      setTimeout(function () { return info.anchor.href = '#' + info.anchor.getAttribute('aria-controls'); });\n      var tabIds = info.tabIds, group = info.group;\n      var originalTop = info.anchor.getBoundingClientRect().top;\n      if (group.independent) {\n        for (var _i = 0, _a = group.tabs; _i < _a.length; _i++) {\n          var tab = _a[_i];\n          tab.selected = arraysIntersect(tab.tabIds, tabIds);\n        }\n      }\n      else {\n        if (arraysIntersect(state.selectedTabs, tabIds)) {\n          return;\n        }\n        var previousTabId = group.tabs.filter(function (t) { return t.selected; })[0].tabIds[0];\n        state.selectedTabs.splice(state.selectedTabs.indexOf(previousTabId), 1, tabIds[0]);\n        for (var _b = 0, _c = state.groups; _b < _c.length; _b++) {\n          var group_1 = _c[_b];\n          updateVisibilityAndSelection(group_1, state);\n        }\n        updateTabsQueryStringParam(state);\n      }\n      notifyContentUpdated();\n      var top = info.anchor.getBoundingClientRect().top;\n      if (top !== originalTop && event instanceof MouseEvent) {\n        window.scrollTo(0, window.pageYOffset + top - originalTop);\n      }\n    }\n\n    function selectTabs(tabIds) {\n      for (var _i = 0, tabIds_1 = tabIds; _i < tabIds_1.length; _i++) {\n        var tabId = tabIds_1[_i];\n        var a = document.querySelector(\".tabGroup > ul > li > a[data-tab=\\\"\" + tabId + \"\\\"]:not([hidden])\");\n        if (a === null) {\n          return;\n        }\n        a.dispatchEvent(new CustomEvent('click', { bubbles: true }));\n      }\n    }\n\n    function readTabsQueryStringParam() {\n      var qs = parseQueryString();\n      var t = qs.tabs;\n      if (t === undefined || t === '') {\n        return [];\n      }\n      return t.split(',');\n    }\n\n    function updateTabsQueryStringParam(state) {\n      var qs = parseQueryString();\n      qs.tabs = state.selectedTabs.join();\n      var url = location.protocol + \"//\" + location.host + location.pathname + \"?\" + toQueryString(qs) + location.hash;\n      if (location.href === url) {\n        return;\n      }\n      history.replaceState({}, document.title, url);\n    }\n\n    function toQueryString(args) {\n      var parts = [];\n      for (var name_1 in args) {\n        if (args.hasOwnProperty(name_1) && args[name_1] !== '' && args[name_1] !== null && args[name_1] !== undefined) {\n          parts.push(encodeURIComponent(name_1) + '=' + encodeURIComponent(args[name_1]));\n        }\n      }\n      return parts.join('&');\n    }\n\n    function parseQueryString(queryString) {\n      var match;\n      var pl = /\\+/g;\n      var search = /([^&=]+)=?([^&]*)/g;\n      var decode = function (s) { return decodeURIComponent(s.replace(pl, ' ')); };\n      if (queryString === undefined) {\n        queryString = '';\n      }\n      queryString = queryString.substring(1);\n      var urlParams = {};\n      while (match = search.exec(queryString)) {\n        urlParams[decode(match[1])] = decode(match[2]);\n      }\n      return urlParams;\n    }\n\n    function arraysIntersect(a, b) {\n      for (var _i = 0, a_1 = a; _i < a_1.length; _i++) {\n        var itemA = a_1[_i];\n        for (var _a = 0, b_1 = b; _a < b_1.length; _a++) {\n          var itemB = b_1[_a];\n          if (itemA === itemB) {\n            return true;\n          }\n        }\n      }\n      return false;\n    }\n\n    function notifyContentUpdated() {\n      // Dispatch this event when needed\n      // window.dispatchEvent(new CustomEvent('content-update'));\n    }\n  }\n\n  function utility() {\n    this.getAbsolutePath = getAbsolutePath;\n    this.isRelativePath = isRelativePath;\n    this.isAbsolutePath = isAbsolutePath;\n    this.getDirectory = getDirectory;\n    this.formList = formList;\n\n    function getAbsolutePath(href) {\n      // Use anchor to normalize href\n      var anchor = $('<a href=\"' + href + '\"></a>')[0];\n      // Ignore protocal, remove search and query\n      return anchor.host + anchor.pathname;\n    }\n\n    function isRelativePath(href) {\n      if (href === undefined || href === '' || href[0] === '/') {\n        return false;\n      }\n      return !isAbsolutePath(href);\n    }\n\n    function isAbsolutePath(href) {\n      return (/^(?:[a-z]+:)?\\/\\//i).test(href);\n    }\n\n    function getDirectory(href) {\n      if (!href) return '';\n      var index = href.lastIndexOf('/');\n      if (index == -1) return '';\n      if (index > -1) {\n        return href.substr(0, index);\n      }\n    }\n\n    function formList(item, classes) {\n      var level = 1;\n      var model = {\n        items: item\n      };\n      var cls = [].concat(classes).join(\" \");\n      return getList(model, cls);\n\n      function getList(model, cls) {\n        if (!model || !model.items) return null;\n        var l = model.items.length;\n        if (l === 0) return null;\n        var html = '<ul class=\"level' + level + ' ' + (cls || '') + '\">';\n        level++;\n        for (var i = 0; i < l; i++) {\n          var item = model.items[i];\n          var href = item.href;\n          var name = item.name;\n          if (!name) continue;\n          html += href ? '<li><a href=\"' + href + '\">' + name + '</a>' : '<li>' + name;\n          html += getList(item, cls) || '';\n          html += '</li>';\n        }\n        html += '</ul>';\n        return html;\n      }\n    }\n\n    /**\n     * Add <wbr> into long word.\n     * @param {String} text - The word to break. It should be in plain text without HTML tags.\n     */\n    function breakPlainText(text) {\n      if (!text) return text;\n      return text.replace(/([a-z])([A-Z])|(\\.)(\\w)/g, '$1$3<wbr>$2$4')\n    }\n\n    /**\n     * Add <wbr> into long word. The jQuery element should contain no html tags.\n     * If the jQuery element contains tags, this function will not change the element.\n     */\n    $.fn.breakWord = function () {\n      if (this.html() == this.text()) {\n        this.html(function (index, text) {\n          return breakPlainText(text);\n        })\n      }\n      return this;\n    }\n  }\n\n  // adjusted from https://stackoverflow.com/a/13067009/1523776\n  function workAroundFixedHeaderForAnchors() {\n    var HISTORY_SUPPORT = !!(history && history.pushState);\n    var ANCHOR_REGEX = /^#[^ ]+$/;\n\n    function getFixedOffset() {\n      return $('header').first().height();\n    }\n\n    /**\n     * If the provided href is an anchor which resolves to an element on the\n     * page, scroll to it.\n     * @param  {String} href\n     * @return {Boolean} - Was the href an anchor.\n     */\n    function scrollIfAnchor(href, pushToHistory) {\n      var match, rect, anchorOffset;\n\n      if (!ANCHOR_REGEX.test(href)) {\n        return false;\n      }\n\n      match = document.getElementById(href.slice(1));\n\n      if (match) {\n        rect = match.getBoundingClientRect();\n        anchorOffset = window.pageYOffset + rect.top - getFixedOffset();\n        window.scrollTo(window.pageXOffset, anchorOffset);\n\n        // Add the state to history as-per normal anchor links\n        if (HISTORY_SUPPORT && pushToHistory) {\n          history.pushState({}, document.title, location.pathname + href);\n        }\n      }\n\n      return !!match;\n    }\n\n    /**\n     * Attempt to scroll to the current location's hash.\n     */\n    function scrollToCurrent() {\n      scrollIfAnchor(window.location.hash);\n    }\n\n    /**\n     * If the click event's target was an anchor, fix the scroll position.\n     */\n    function delegateAnchors(e) {\n      var elem = e.target;\n\n      if (scrollIfAnchor(elem.getAttribute('href'), true)) {\n        e.preventDefault();\n      }\n    }\n\n    $(window).on('hashchange', scrollToCurrent);\n\n    $(window).on('load', function () {\n        // scroll to the anchor if present, offset by the header\n        scrollToCurrent();\n    });\n\n    $(document).ready(function () {\n        // Exclude tabbed content case\n        $('a:not([data-tab])').click(function (e) { delegateAnchors(e); });\n    });\n  }\n});\n"
  },
  {
    "path": "docs/styles/docfx.vendor.css",
    "content": "/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n.label,sub,sup{vertical-align:baseline}\nhr,img{border:0}\nbody,figure{margin:0}\n.btn-group>.btn-group,.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.dropdown-menu{float:left}\n.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.pre-scrollable{max-height:340px}\nhtml{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}\narticle,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}\naudio,canvas,progress,video{display:inline-block;vertical-align:baseline}\naudio:not([controls]){display:none;height:0}\n[hidden],template{display:none}\na{background-color:transparent}\na:active,a:hover{outline:0}\nabbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}\nb,optgroup,strong{font-weight:700}\ndfn{font-style:italic}\nh1{margin:.67em 0}\nmark{background:#ff0;color:#000}\nsub,sup{font-size:75%;line-height:0;position:relative}\nsup{top:-.5em}\nsub{bottom:-.25em}\nimg{vertical-align:middle}\nsvg:not(:root){overflow:hidden}\nhr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}\npre,textarea{overflow:auto}\ncode,kbd,pre,samp{font-size:1em}\nbutton,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}\n.glyphicon,address{font-style:normal}\nbutton{overflow:visible}\nbutton,select{text-transform:none}\nbutton,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}\nbutton[disabled],html input[disabled]{cursor:default}\nbutton::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}\ninput[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}\ninput[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}\ninput[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}\ntable{border-collapse:collapse;border-spacing:0}\ntd,th{padding:0}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print{blockquote,img,pre,tr{page-break-inside:avoid}\n*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}\na,a:visited{text-decoration:underline}\na[href]:after{content:\" (\" attr(href) \")\"}\nabbr[title]:after{content:\" (\" attr(title) \")\"}\na[href^=\"javascript:\"]:after,a[href^=\"#\"]:after{content:\"\"}\nblockquote,pre{border:1px solid #999}\nthead{display:table-header-group}\nimg{max-width:100%!important}\nh2,h3,p{orphans:3;widows:3}\nh2,h3{page-break-after:avoid}\n.navbar{display:none}\n.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}\n.label{border:1px solid #000}\n.table{border-collapse:collapse!important}\n.table td,.table th{background-color:#fff!important}\n.table-bordered td,.table-bordered th{border:1px solid #ddd!important}\n}\n.img-thumbnail,body{background-color:#fff}\n@font-face{font-family:\"Glyphicons Halflings\";src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format(\"embedded-opentype\"),url(../fonts/glyphicons-halflings-regular.woff2) format(\"woff2\"),url(../fonts/glyphicons-halflings-regular.woff) format(\"woff\"),url(../fonts/glyphicons-halflings-regular.ttf) format(\"truetype\"),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format(\"svg\")}\n.glyphicon{position:relative;top:1px;display:inline-block;font-family:\"Glyphicons Halflings\";font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}\n.glyphicon-asterisk:before{content:\"\\002a\"}\n.glyphicon-plus:before{content:\"\\002b\"}\n.glyphicon-eur:before,.glyphicon-euro:before{content:\"\\20ac\"}\n.glyphicon-minus:before{content:\"\\2212\"}\n.glyphicon-cloud:before{content:\"\\2601\"}\n.glyphicon-envelope:before{content:\"\\2709\"}\n.glyphicon-pencil:before{content:\"\\270f\"}\n.glyphicon-glass:before{content:\"\\e001\"}\n.glyphicon-music:before{content:\"\\e002\"}\n.glyphicon-search:before{content:\"\\e003\"}\n.glyphicon-heart:before{content:\"\\e005\"}\n.glyphicon-star:before{content:\"\\e006\"}\n.glyphicon-star-empty:before{content:\"\\e007\"}\n.glyphicon-user:before{content:\"\\e008\"}\n.glyphicon-film:before{content:\"\\e009\"}\n.glyphicon-th-large:before{content:\"\\e010\"}\n.glyphicon-th:before{content:\"\\e011\"}\n.glyphicon-th-list:before{content:\"\\e012\"}\n.glyphicon-ok:before{content:\"\\e013\"}\n.glyphicon-remove:before{content:\"\\e014\"}\n.glyphicon-zoom-in:before{content:\"\\e015\"}\n.glyphicon-zoom-out:before{content:\"\\e016\"}\n.glyphicon-off:before{content:\"\\e017\"}\n.glyphicon-signal:before{content:\"\\e018\"}\n.glyphicon-cog:before{content:\"\\e019\"}\n.glyphicon-trash:before{content:\"\\e020\"}\n.glyphicon-home:before{content:\"\\e021\"}\n.glyphicon-file:before{content:\"\\e022\"}\n.glyphicon-time:before{content:\"\\e023\"}\n.glyphicon-road:before{content:\"\\e024\"}\n.glyphicon-download-alt:before{content:\"\\e025\"}\n.glyphicon-download:before{content:\"\\e026\"}\n.glyphicon-upload:before{content:\"\\e027\"}\n.glyphicon-inbox:before{content:\"\\e028\"}\n.glyphicon-play-circle:before{content:\"\\e029\"}\n.glyphicon-repeat:before{content:\"\\e030\"}\n.glyphicon-refresh:before{content:\"\\e031\"}\n.glyphicon-list-alt:before{content:\"\\e032\"}\n.glyphicon-lock:before{content:\"\\e033\"}\n.glyphicon-flag:before{content:\"\\e034\"}\n.glyphicon-headphones:before{content:\"\\e035\"}\n.glyphicon-volume-off:before{content:\"\\e036\"}\n.glyphicon-volume-down:before{content:\"\\e037\"}\n.glyphicon-volume-up:before{content:\"\\e038\"}\n.glyphicon-qrcode:before{content:\"\\e039\"}\n.glyphicon-barcode:before{content:\"\\e040\"}\n.glyphicon-tag:before{content:\"\\e041\"}\n.glyphicon-tags:before{content:\"\\e042\"}\n.glyphicon-book:before{content:\"\\e043\"}\n.glyphicon-bookmark:before{content:\"\\e044\"}\n.glyphicon-print:before{content:\"\\e045\"}\n.glyphicon-camera:before{content:\"\\e046\"}\n.glyphicon-font:before{content:\"\\e047\"}\n.glyphicon-bold:before{content:\"\\e048\"}\n.glyphicon-italic:before{content:\"\\e049\"}\n.glyphicon-text-height:before{content:\"\\e050\"}\n.glyphicon-text-width:before{content:\"\\e051\"}\n.glyphicon-align-left:before{content:\"\\e052\"}\n.glyphicon-align-center:before{content:\"\\e053\"}\n.glyphicon-align-right:before{content:\"\\e054\"}\n.glyphicon-align-justify:before{content:\"\\e055\"}\n.glyphicon-list:before{content:\"\\e056\"}\n.glyphicon-indent-left:before{content:\"\\e057\"}\n.glyphicon-indent-right:before{content:\"\\e058\"}\n.glyphicon-facetime-video:before{content:\"\\e059\"}\n.glyphicon-picture:before{content:\"\\e060\"}\n.glyphicon-map-marker:before{content:\"\\e062\"}\n.glyphicon-adjust:before{content:\"\\e063\"}\n.glyphicon-tint:before{content:\"\\e064\"}\n.glyphicon-edit:before{content:\"\\e065\"}\n.glyphicon-share:before{content:\"\\e066\"}\n.glyphicon-check:before{content:\"\\e067\"}\n.glyphicon-move:before{content:\"\\e068\"}\n.glyphicon-step-backward:before{content:\"\\e069\"}\n.glyphicon-fast-backward:before{content:\"\\e070\"}\n.glyphicon-backward:before{content:\"\\e071\"}\n.glyphicon-play:before{content:\"\\e072\"}\n.glyphicon-pause:before{content:\"\\e073\"}\n.glyphicon-stop:before{content:\"\\e074\"}\n.glyphicon-forward:before{content:\"\\e075\"}\n.glyphicon-fast-forward:before{content:\"\\e076\"}\n.glyphicon-step-forward:before{content:\"\\e077\"}\n.glyphicon-eject:before{content:\"\\e078\"}\n.glyphicon-chevron-left:before{content:\"\\e079\"}\n.glyphicon-chevron-right:before{content:\"\\e080\"}\n.glyphicon-plus-sign:before{content:\"\\e081\"}\n.glyphicon-minus-sign:before{content:\"\\e082\"}\n.glyphicon-remove-sign:before{content:\"\\e083\"}\n.glyphicon-ok-sign:before{content:\"\\e084\"}\n.glyphicon-question-sign:before{content:\"\\e085\"}\n.glyphicon-info-sign:before{content:\"\\e086\"}\n.glyphicon-screenshot:before{content:\"\\e087\"}\n.glyphicon-remove-circle:before{content:\"\\e088\"}\n.glyphicon-ok-circle:before{content:\"\\e089\"}\n.glyphicon-ban-circle:before{content:\"\\e090\"}\n.glyphicon-arrow-left:before{content:\"\\e091\"}\n.glyphicon-arrow-right:before{content:\"\\e092\"}\n.glyphicon-arrow-up:before{content:\"\\e093\"}\n.glyphicon-arrow-down:before{content:\"\\e094\"}\n.glyphicon-share-alt:before{content:\"\\e095\"}\n.glyphicon-resize-full:before{content:\"\\e096\"}\n.glyphicon-resize-small:before{content:\"\\e097\"}\n.glyphicon-exclamation-sign:before{content:\"\\e101\"}\n.glyphicon-gift:before{content:\"\\e102\"}\n.glyphicon-leaf:before{content:\"\\e103\"}\n.glyphicon-fire:before{content:\"\\e104\"}\n.glyphicon-eye-open:before{content:\"\\e105\"}\n.glyphicon-eye-close:before{content:\"\\e106\"}\n.glyphicon-warning-sign:before{content:\"\\e107\"}\n.glyphicon-plane:before{content:\"\\e108\"}\n.glyphicon-calendar:before{content:\"\\e109\"}\n.glyphicon-random:before{content:\"\\e110\"}\n.glyphicon-comment:before{content:\"\\e111\"}\n.glyphicon-magnet:before{content:\"\\e112\"}\n.glyphicon-chevron-up:before{content:\"\\e113\"}\n.glyphicon-chevron-down:before{content:\"\\e114\"}\n.glyphicon-retweet:before{content:\"\\e115\"}\n.glyphicon-shopping-cart:before{content:\"\\e116\"}\n.glyphicon-folder-close:before{content:\"\\e117\"}\n.glyphicon-folder-open:before{content:\"\\e118\"}\n.glyphicon-resize-vertical:before{content:\"\\e119\"}\n.glyphicon-resize-horizontal:before{content:\"\\e120\"}\n.glyphicon-hdd:before{content:\"\\e121\"}\n.glyphicon-bullhorn:before{content:\"\\e122\"}\n.glyphicon-bell:before{content:\"\\e123\"}\n.glyphicon-certificate:before{content:\"\\e124\"}\n.glyphicon-thumbs-up:before{content:\"\\e125\"}\n.glyphicon-thumbs-down:before{content:\"\\e126\"}\n.glyphicon-hand-right:before{content:\"\\e127\"}\n.glyphicon-hand-left:before{content:\"\\e128\"}\n.glyphicon-hand-up:before{content:\"\\e129\"}\n.glyphicon-hand-down:before{content:\"\\e130\"}\n.glyphicon-circle-arrow-right:before{content:\"\\e131\"}\n.glyphicon-circle-arrow-left:before{content:\"\\e132\"}\n.glyphicon-circle-arrow-up:before{content:\"\\e133\"}\n.glyphicon-circle-arrow-down:before{content:\"\\e134\"}\n.glyphicon-globe:before{content:\"\\e135\"}\n.glyphicon-wrench:before{content:\"\\e136\"}\n.glyphicon-tasks:before{content:\"\\e137\"}\n.glyphicon-filter:before{content:\"\\e138\"}\n.glyphicon-briefcase:before{content:\"\\e139\"}\n.glyphicon-fullscreen:before{content:\"\\e140\"}\n.glyphicon-dashboard:before{content:\"\\e141\"}\n.glyphicon-paperclip:before{content:\"\\e142\"}\n.glyphicon-heart-empty:before{content:\"\\e143\"}\n.glyphicon-link:before{content:\"\\e144\"}\n.glyphicon-phone:before{content:\"\\e145\"}\n.glyphicon-pushpin:before{content:\"\\e146\"}\n.glyphicon-usd:before{content:\"\\e148\"}\n.glyphicon-gbp:before{content:\"\\e149\"}\n.glyphicon-sort:before{content:\"\\e150\"}\n.glyphicon-sort-by-alphabet:before{content:\"\\e151\"}\n.glyphicon-sort-by-alphabet-alt:before{content:\"\\e152\"}\n.glyphicon-sort-by-order:before{content:\"\\e153\"}\n.glyphicon-sort-by-order-alt:before{content:\"\\e154\"}\n.glyphicon-sort-by-attributes:before{content:\"\\e155\"}\n.glyphicon-sort-by-attributes-alt:before{content:\"\\e156\"}\n.glyphicon-unchecked:before{content:\"\\e157\"}\n.glyphicon-expand:before{content:\"\\e158\"}\n.glyphicon-collapse-down:before{content:\"\\e159\"}\n.glyphicon-collapse-up:before{content:\"\\e160\"}\n.glyphicon-log-in:before{content:\"\\e161\"}\n.glyphicon-flash:before{content:\"\\e162\"}\n.glyphicon-log-out:before{content:\"\\e163\"}\n.glyphicon-new-window:before{content:\"\\e164\"}\n.glyphicon-record:before{content:\"\\e165\"}\n.glyphicon-save:before{content:\"\\e166\"}\n.glyphicon-open:before{content:\"\\e167\"}\n.glyphicon-saved:before{content:\"\\e168\"}\n.glyphicon-import:before{content:\"\\e169\"}\n.glyphicon-export:before{content:\"\\e170\"}\n.glyphicon-send:before{content:\"\\e171\"}\n.glyphicon-floppy-disk:before{content:\"\\e172\"}\n.glyphicon-floppy-saved:before{content:\"\\e173\"}\n.glyphicon-floppy-remove:before{content:\"\\e174\"}\n.glyphicon-floppy-save:before{content:\"\\e175\"}\n.glyphicon-floppy-open:before{content:\"\\e176\"}\n.glyphicon-credit-card:before{content:\"\\e177\"}\n.glyphicon-transfer:before{content:\"\\e178\"}\n.glyphicon-cutlery:before{content:\"\\e179\"}\n.glyphicon-header:before{content:\"\\e180\"}\n.glyphicon-compressed:before{content:\"\\e181\"}\n.glyphicon-earphone:before{content:\"\\e182\"}\n.glyphicon-phone-alt:before{content:\"\\e183\"}\n.glyphicon-tower:before{content:\"\\e184\"}\n.glyphicon-stats:before{content:\"\\e185\"}\n.glyphicon-sd-video:before{content:\"\\e186\"}\n.glyphicon-hd-video:before{content:\"\\e187\"}\n.glyphicon-subtitles:before{content:\"\\e188\"}\n.glyphicon-sound-stereo:before{content:\"\\e189\"}\n.glyphicon-sound-dolby:before{content:\"\\e190\"}\n.glyphicon-sound-5-1:before{content:\"\\e191\"}\n.glyphicon-sound-6-1:before{content:\"\\e192\"}\n.glyphicon-sound-7-1:before{content:\"\\e193\"}\n.glyphicon-copyright-mark:before{content:\"\\e194\"}\n.glyphicon-registration-mark:before{content:\"\\e195\"}\n.glyphicon-cloud-download:before{content:\"\\e197\"}\n.glyphicon-cloud-upload:before{content:\"\\e198\"}\n.glyphicon-tree-conifer:before{content:\"\\e199\"}\n.glyphicon-tree-deciduous:before{content:\"\\e200\"}\n.glyphicon-cd:before{content:\"\\e201\"}\n.glyphicon-save-file:before{content:\"\\e202\"}\n.glyphicon-open-file:before{content:\"\\e203\"}\n.glyphicon-level-up:before{content:\"\\e204\"}\n.glyphicon-copy:before{content:\"\\e205\"}\n.glyphicon-paste:before{content:\"\\e206\"}\n.glyphicon-alert:before{content:\"\\e209\"}\n.glyphicon-equalizer:before{content:\"\\e210\"}\n.glyphicon-king:before{content:\"\\e211\"}\n.glyphicon-queen:before{content:\"\\e212\"}\n.glyphicon-pawn:before{content:\"\\e213\"}\n.glyphicon-bishop:before{content:\"\\e214\"}\n.glyphicon-knight:before{content:\"\\e215\"}\n.glyphicon-baby-formula:before{content:\"\\e216\"}\n.glyphicon-tent:before{content:\"\\26fa\"}\n.glyphicon-blackboard:before{content:\"\\e218\"}\n.glyphicon-bed:before{content:\"\\e219\"}\n.glyphicon-apple:before{content:\"\\f8ff\"}\n.glyphicon-erase:before{content:\"\\e221\"}\n.glyphicon-hourglass:before{content:\"\\231b\"}\n.glyphicon-lamp:before{content:\"\\e223\"}\n.glyphicon-duplicate:before{content:\"\\e224\"}\n.glyphicon-piggy-bank:before{content:\"\\e225\"}\n.glyphicon-scissors:before{content:\"\\e226\"}\n.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:\"\\e227\"}\n.glyphicon-jpy:before,.glyphicon-yen:before{content:\"\\00a5\"}\n.glyphicon-rub:before,.glyphicon-ruble:before{content:\"\\20bd\"}\n.glyphicon-scale:before{content:\"\\e230\"}\n.glyphicon-ice-lolly:before{content:\"\\e231\"}\n.glyphicon-ice-lolly-tasted:before{content:\"\\e232\"}\n.glyphicon-education:before{content:\"\\e233\"}\n.glyphicon-option-horizontal:before{content:\"\\e234\"}\n.glyphicon-option-vertical:before{content:\"\\e235\"}\n.glyphicon-menu-hamburger:before{content:\"\\e236\"}\n.glyphicon-modal-window:before{content:\"\\e237\"}\n.glyphicon-oil:before{content:\"\\e238\"}\n.glyphicon-grain:before{content:\"\\e239\"}\n.glyphicon-sunglasses:before{content:\"\\e240\"}\n.glyphicon-text-size:before{content:\"\\e241\"}\n.glyphicon-text-color:before{content:\"\\e242\"}\n.glyphicon-text-background:before{content:\"\\e243\"}\n.glyphicon-object-align-top:before{content:\"\\e244\"}\n.glyphicon-object-align-bottom:before{content:\"\\e245\"}\n.glyphicon-object-align-horizontal:before{content:\"\\e246\"}\n.glyphicon-object-align-left:before{content:\"\\e247\"}\n.glyphicon-object-align-vertical:before{content:\"\\e248\"}\n.glyphicon-object-align-right:before{content:\"\\e249\"}\n.glyphicon-triangle-right:before{content:\"\\e250\"}\n.glyphicon-triangle-left:before{content:\"\\e251\"}\n.glyphicon-triangle-bottom:before{content:\"\\e252\"}\n.glyphicon-triangle-top:before{content:\"\\e253\"}\n.glyphicon-console:before{content:\"\\e254\"}\n.glyphicon-superscript:before{content:\"\\e255\"}\n.glyphicon-subscript:before{content:\"\\e256\"}\n.glyphicon-menu-left:before{content:\"\\e257\"}\n.glyphicon-menu-right:before{content:\"\\e258\"}\n.glyphicon-menu-down:before{content:\"\\e259\"}\n.glyphicon-menu-up:before{content:\"\\e260\"}\n*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}\nhtml{font-size:10px;-webkit-tap-highlight-color:transparent}\nbody{font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333}\nbutton,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}\na{color:#337ab7;text-decoration:none}\na:focus,a:hover{color:#23527c;text-decoration:underline}\na:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}\n.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}\n.img-rounded{border-radius:6px}\n.img-thumbnail{padding:4px;line-height:1.42857143;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}\n.img-circle{border-radius:50%}\nhr{margin-top:20px;margin-bottom:20px;border-top:1px solid #eee}\n.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}\n.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}\n[role=button]{cursor:pointer}\n.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}\n.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}\n.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}\n.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}\n.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}\n.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}\n.h1,h1{font-size:36px}\n.h2,h2{font-size:30px}\n.h3,h3{font-size:24px}\n.h4,h4{font-size:18px}\n.h5,h5{font-size:14px}\n.h6,h6{font-size:12px}\np{margin:0 0 10px}\n.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}\ndt,kbd kbd,label{font-weight:700}\naddress,blockquote .small,blockquote footer,blockquote small,dd,dt,pre{line-height:1.42857143}\n@media (min-width:768px){.lead{font-size:21px}\n}\n.small,small{font-size:85%}\n.mark,mark{padding:.2em;background-color:#fcf8e3}\n.list-inline,.list-unstyled{padding-left:0;list-style:none}\n.text-left{text-align:left}\n.text-right{text-align:right}\n.text-center{text-align:center}\n.text-justify{text-align:justify}\n.text-nowrap{white-space:nowrap}\n.text-lowercase{text-transform:lowercase}\n.text-uppercase{text-transform:uppercase}\n.text-capitalize{text-transform:capitalize}\n.text-muted{color:#777}\n.text-primary{color:#337ab7}\na.text-primary:focus,a.text-primary:hover{color:#286090}\n.text-success{color:#3c763d}\na.text-success:focus,a.text-success:hover{color:#2b542c}\n.text-info{color:#31708f}\na.text-info:focus,a.text-info:hover{color:#245269}\n.text-warning{color:#8a6d3b}\na.text-warning:focus,a.text-warning:hover{color:#66512c}\n.text-danger{color:#a94442}\na.text-danger:focus,a.text-danger:hover{color:#843534}\n.bg-primary{color:#fff;background-color:#337ab7}\na.bg-primary:focus,a.bg-primary:hover{background-color:#286090}\n.bg-success{background-color:#dff0d8}\na.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}\n.bg-info{background-color:#d9edf7}\na.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}\n.bg-warning{background-color:#fcf8e3}\na.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}\n.bg-danger{background-color:#f2dede}\na.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}\npre code,table{background-color:transparent}\n.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}\ndl,ol,ul{margin-top:0}\nblockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}\naddress,dl{margin-bottom:20px}\nol,ul{margin-bottom:10px}\n.list-inline{margin-left:-5px}\n.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}\ndd{margin-left:0}\n@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.dl-horizontal dd{margin-left:180px}\n.container{width:750px}\n}\nabbr[data-original-title],abbr[title]{cursor:help}\n.checkbox.disabled label,.form-control[disabled],.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .form-control,fieldset[disabled] .radio label,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}\n.initialism{font-size:90%;text-transform:uppercase}\nblockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}\nblockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;color:#777}\nlegend,pre{display:block;color:#333}\nblockquote .small:before,blockquote footer:before,blockquote small:before{content:\"\\2014 \\00A0\"}\n.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}\ncode,kbd{padding:2px 4px;font-size:90%}\ncaption,th{text-align:left}\n.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:\"\"}\n.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:\"\\00A0 \\2014\"}\ncode,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,\"Courier New\",monospace}\ncode{color:#c7254e;background-color:#f9f2f4;border-radius:4px}\nkbd{color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}\nkbd kbd{padding:0;font-size:100%;-webkit-box-shadow:none;box-shadow:none}\npre{padding:9.5px;margin:0 0 10px;font-size:13px;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}\npre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;border-radius:0}\n.container,.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}\n.pre-scrollable{overflow-y:scroll}\n@media (min-width:992px){.container{width:970px}\n}\n@media (min-width:1200px){.container{width:1170px}\n}\n.row{margin-right:-15px;margin-left:-15px}\n.row-no-gutters{margin-right:0;margin-left:0}\n.row-no-gutters [class*=col-]{padding-right:0;padding-left:0}\n.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}\n.col-xs-12{width:100%}\n.col-xs-11{width:91.66666667%}\n.col-xs-10{width:83.33333333%}\n.col-xs-9{width:75%}\n.col-xs-8{width:66.66666667%}\n.col-xs-7{width:58.33333333%}\n.col-xs-6{width:50%}\n.col-xs-5{width:41.66666667%}\n.col-xs-4{width:33.33333333%}\n.col-xs-3{width:25%}\n.col-xs-2{width:16.66666667%}\n.col-xs-1{width:8.33333333%}\n.col-xs-pull-12{right:100%}\n.col-xs-pull-11{right:91.66666667%}\n.col-xs-pull-10{right:83.33333333%}\n.col-xs-pull-9{right:75%}\n.col-xs-pull-8{right:66.66666667%}\n.col-xs-pull-7{right:58.33333333%}\n.col-xs-pull-6{right:50%}\n.col-xs-pull-5{right:41.66666667%}\n.col-xs-pull-4{right:33.33333333%}\n.col-xs-pull-3{right:25%}\n.col-xs-pull-2{right:16.66666667%}\n.col-xs-pull-1{right:8.33333333%}\n.col-xs-pull-0{right:auto}\n.col-xs-push-12{left:100%}\n.col-xs-push-11{left:91.66666667%}\n.col-xs-push-10{left:83.33333333%}\n.col-xs-push-9{left:75%}\n.col-xs-push-8{left:66.66666667%}\n.col-xs-push-7{left:58.33333333%}\n.col-xs-push-6{left:50%}\n.col-xs-push-5{left:41.66666667%}\n.col-xs-push-4{left:33.33333333%}\n.col-xs-push-3{left:25%}\n.col-xs-push-2{left:16.66666667%}\n.col-xs-push-1{left:8.33333333%}\n.col-xs-push-0{left:auto}\n.col-xs-offset-12{margin-left:100%}\n.col-xs-offset-11{margin-left:91.66666667%}\n.col-xs-offset-10{margin-left:83.33333333%}\n.col-xs-offset-9{margin-left:75%}\n.col-xs-offset-8{margin-left:66.66666667%}\n.col-xs-offset-7{margin-left:58.33333333%}\n.col-xs-offset-6{margin-left:50%}\n.col-xs-offset-5{margin-left:41.66666667%}\n.col-xs-offset-4{margin-left:33.33333333%}\n.col-xs-offset-3{margin-left:25%}\n.col-xs-offset-2{margin-left:16.66666667%}\n.col-xs-offset-1{margin-left:8.33333333%}\n.col-xs-offset-0{margin-left:0}\n@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}\n.col-sm-12{width:100%}\n.col-sm-11{width:91.66666667%}\n.col-sm-10{width:83.33333333%}\n.col-sm-9{width:75%}\n.col-sm-8{width:66.66666667%}\n.col-sm-7{width:58.33333333%}\n.col-sm-6{width:50%}\n.col-sm-5{width:41.66666667%}\n.col-sm-4{width:33.33333333%}\n.col-sm-3{width:25%}\n.col-sm-2{width:16.66666667%}\n.col-sm-1{width:8.33333333%}\n.col-sm-pull-12{right:100%}\n.col-sm-pull-11{right:91.66666667%}\n.col-sm-pull-10{right:83.33333333%}\n.col-sm-pull-9{right:75%}\n.col-sm-pull-8{right:66.66666667%}\n.col-sm-pull-7{right:58.33333333%}\n.col-sm-pull-6{right:50%}\n.col-sm-pull-5{right:41.66666667%}\n.col-sm-pull-4{right:33.33333333%}\n.col-sm-pull-3{right:25%}\n.col-sm-pull-2{right:16.66666667%}\n.col-sm-pull-1{right:8.33333333%}\n.col-sm-pull-0{right:auto}\n.col-sm-push-12{left:100%}\n.col-sm-push-11{left:91.66666667%}\n.col-sm-push-10{left:83.33333333%}\n.col-sm-push-9{left:75%}\n.col-sm-push-8{left:66.66666667%}\n.col-sm-push-7{left:58.33333333%}\n.col-sm-push-6{left:50%}\n.col-sm-push-5{left:41.66666667%}\n.col-sm-push-4{left:33.33333333%}\n.col-sm-push-3{left:25%}\n.col-sm-push-2{left:16.66666667%}\n.col-sm-push-1{left:8.33333333%}\n.col-sm-push-0{left:auto}\n.col-sm-offset-12{margin-left:100%}\n.col-sm-offset-11{margin-left:91.66666667%}\n.col-sm-offset-10{margin-left:83.33333333%}\n.col-sm-offset-9{margin-left:75%}\n.col-sm-offset-8{margin-left:66.66666667%}\n.col-sm-offset-7{margin-left:58.33333333%}\n.col-sm-offset-6{margin-left:50%}\n.col-sm-offset-5{margin-left:41.66666667%}\n.col-sm-offset-4{margin-left:33.33333333%}\n.col-sm-offset-3{margin-left:25%}\n.col-sm-offset-2{margin-left:16.66666667%}\n.col-sm-offset-1{margin-left:8.33333333%}\n.col-sm-offset-0{margin-left:0}\n}\n@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}\n.col-md-12{width:100%}\n.col-md-11{width:91.66666667%}\n.col-md-10{width:83.33333333%}\n.col-md-9{width:75%}\n.col-md-8{width:66.66666667%}\n.col-md-7{width:58.33333333%}\n.col-md-6{width:50%}\n.col-md-5{width:41.66666667%}\n.col-md-4{width:33.33333333%}\n.col-md-3{width:25%}\n.col-md-2{width:16.66666667%}\n.col-md-1{width:8.33333333%}\n.col-md-pull-12{right:100%}\n.col-md-pull-11{right:91.66666667%}\n.col-md-pull-10{right:83.33333333%}\n.col-md-pull-9{right:75%}\n.col-md-pull-8{right:66.66666667%}\n.col-md-pull-7{right:58.33333333%}\n.col-md-pull-6{right:50%}\n.col-md-pull-5{right:41.66666667%}\n.col-md-pull-4{right:33.33333333%}\n.col-md-pull-3{right:25%}\n.col-md-pull-2{right:16.66666667%}\n.col-md-pull-1{right:8.33333333%}\n.col-md-pull-0{right:auto}\n.col-md-push-12{left:100%}\n.col-md-push-11{left:91.66666667%}\n.col-md-push-10{left:83.33333333%}\n.col-md-push-9{left:75%}\n.col-md-push-8{left:66.66666667%}\n.col-md-push-7{left:58.33333333%}\n.col-md-push-6{left:50%}\n.col-md-push-5{left:41.66666667%}\n.col-md-push-4{left:33.33333333%}\n.col-md-push-3{left:25%}\n.col-md-push-2{left:16.66666667%}\n.col-md-push-1{left:8.33333333%}\n.col-md-push-0{left:auto}\n.col-md-offset-12{margin-left:100%}\n.col-md-offset-11{margin-left:91.66666667%}\n.col-md-offset-10{margin-left:83.33333333%}\n.col-md-offset-9{margin-left:75%}\n.col-md-offset-8{margin-left:66.66666667%}\n.col-md-offset-7{margin-left:58.33333333%}\n.col-md-offset-6{margin-left:50%}\n.col-md-offset-5{margin-left:41.66666667%}\n.col-md-offset-4{margin-left:33.33333333%}\n.col-md-offset-3{margin-left:25%}\n.col-md-offset-2{margin-left:16.66666667%}\n.col-md-offset-1{margin-left:8.33333333%}\n.col-md-offset-0{margin-left:0}\n}\n@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}\n.col-lg-12{width:100%}\n.col-lg-11{width:91.66666667%}\n.col-lg-10{width:83.33333333%}\n.col-lg-9{width:75%}\n.col-lg-8{width:66.66666667%}\n.col-lg-7{width:58.33333333%}\n.col-lg-6{width:50%}\n.col-lg-5{width:41.66666667%}\n.col-lg-4{width:33.33333333%}\n.col-lg-3{width:25%}\n.col-lg-2{width:16.66666667%}\n.col-lg-1{width:8.33333333%}\n.col-lg-pull-12{right:100%}\n.col-lg-pull-11{right:91.66666667%}\n.col-lg-pull-10{right:83.33333333%}\n.col-lg-pull-9{right:75%}\n.col-lg-pull-8{right:66.66666667%}\n.col-lg-pull-7{right:58.33333333%}\n.col-lg-pull-6{right:50%}\n.col-lg-pull-5{right:41.66666667%}\n.col-lg-pull-4{right:33.33333333%}\n.col-lg-pull-3{right:25%}\n.col-lg-pull-2{right:16.66666667%}\n.col-lg-pull-1{right:8.33333333%}\n.col-lg-pull-0{right:auto}\n.col-lg-push-12{left:100%}\n.col-lg-push-11{left:91.66666667%}\n.col-lg-push-10{left:83.33333333%}\n.col-lg-push-9{left:75%}\n.col-lg-push-8{left:66.66666667%}\n.col-lg-push-7{left:58.33333333%}\n.col-lg-push-6{left:50%}\n.col-lg-push-5{left:41.66666667%}\n.col-lg-push-4{left:33.33333333%}\n.col-lg-push-3{left:25%}\n.col-lg-push-2{left:16.66666667%}\n.col-lg-push-1{left:8.33333333%}\n.col-lg-push-0{left:auto}\n.col-lg-offset-12{margin-left:100%}\n.col-lg-offset-11{margin-left:91.66666667%}\n.col-lg-offset-10{margin-left:83.33333333%}\n.col-lg-offset-9{margin-left:75%}\n.col-lg-offset-8{margin-left:66.66666667%}\n.col-lg-offset-7{margin-left:58.33333333%}\n.col-lg-offset-6{margin-left:50%}\n.col-lg-offset-5{margin-left:41.66666667%}\n.col-lg-offset-4{margin-left:33.33333333%}\n.col-lg-offset-3{margin-left:25%}\n.col-lg-offset-2{margin-left:16.66666667%}\n.col-lg-offset-1{margin-left:8.33333333%}\n.col-lg-offset-0{margin-left:0}\n}\ntable col[class*=col-]{position:static;display:table-column;float:none}\ntable td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}\ncaption{padding-top:8px;padding-bottom:8px;color:#777}\n.table{width:100%;max-width:100%;margin-bottom:20px}\n.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}\n.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}\n.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}\n.table>tbody+tbody{border-top:2px solid #ddd}\n.table .table{background-color:#fff}\n.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}\n.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}\n.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}\n.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}\n.table-hover>tbody>tr:hover,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}\n.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}\n.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}\n.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}\n.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}\n.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}\n.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}\n.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}\n.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}\n.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}\n.table-responsive{min-height:.01%;overflow-x:auto}\n.checkbox label,.radio label,.well{min-height:20px}\n@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}\n.table-responsive>.table{margin-bottom:0}\n.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}\n.table-responsive>.table-bordered{border:0}\n.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}\n.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}\n.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}\n}\nfieldset,legend{padding:0;border:0}\nfieldset{min-width:0;margin:0}\nlegend{width:100%;margin-bottom:20px;font-size:21px;line-height:inherit;border-bottom:1px solid #e5e5e5}\nlabel{display:inline-block;max-width:100%;margin-bottom:5px}\ninput[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}\ninput[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\\9;line-height:normal}\n.form-control,output{font-size:14px;line-height:1.42857143;color:#555;display:block}\ninput[type=file]{display:block}\ninput[type=range]{display:block;width:100%}\nselect[multiple],select[size]{height:auto}\ninput[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}\noutput{padding-top:7px}\n.form-control{width:100%;height:34px;padding:6px 12px;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}\n.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}\n.form-control::-moz-placeholder{color:#999;opacity:1}\n.form-control:-ms-input-placeholder{color:#999}\n.form-control::-webkit-input-placeholder{color:#999}\n.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}\n.form-control::-ms-expand{background-color:transparent;border:0}\n.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}\ntextarea.form-control{height:auto}\n@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}\n.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}\n.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}\n}\n.form-group{margin-bottom:15px}\n.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}\n.checkbox label,.checkbox-inline,.radio label,.radio-inline{padding-left:20px;cursor:pointer;margin-bottom:0;font-weight:400}\n.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\\9;margin-left:-20px}\n.checkbox+.checkbox,.radio+.radio{margin-top:-5px}\n.checkbox-inline,.radio-inline{position:relative;display:inline-block;vertical-align:middle}\n.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}\n.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}\n.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}\n.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}\n.form-group-sm .form-control,.input-sm{padding:5px 10px;border-radius:3px;font-size:12px}\n.input-sm{height:30px;line-height:1.5}\nselect.input-sm{height:30px;line-height:30px}\nselect[multiple].input-sm,textarea.input-sm{height:auto}\n.form-group-sm .form-control{height:30px;line-height:1.5}\n.form-group-lg .form-control,.input-lg{border-radius:6px;padding:10px 16px;font-size:18px}\n.form-group-sm select.form-control{height:30px;line-height:30px}\n.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}\n.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}\n.input-lg{height:46px;line-height:1.3333333}\nselect.input-lg{height:46px;line-height:46px}\nselect[multiple].input-lg,textarea.input-lg{height:auto}\n.form-group-lg .form-control{height:46px;line-height:1.3333333}\n.form-group-lg select.form-control{height:46px;line-height:46px}\n.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}\n.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}\n.has-feedback{position:relative}\n.has-feedback .form-control{padding-right:42.5px}\n.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}\n.collapsing,.dropdown,.dropup{position:relative}\n.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}\n.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}\n.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}\n.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}\n.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}\n.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}\n.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}\n.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}\n.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}\n.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}\n.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}\n.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}\n.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}\n.has-feedback label~.form-control-feedback{top:25px}\n.has-feedback label.sr-only~.form-control-feedback{top:0}\n.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}\n@media (min-width:768px){.form-inline .form-control-static,.form-inline .form-group{display:inline-block}\n.form-inline .control-label,.form-inline .form-group{margin-bottom:0;vertical-align:middle}\n.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}\n.form-inline .input-group{display:inline-table;vertical-align:middle}\n.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}\n.form-inline .input-group>.form-control{width:100%}\n.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}\n.form-inline .checkbox label,.form-inline .radio label{padding-left:0}\n.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}\n.form-inline .has-feedback .form-control-feedback{top:0}\n.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}\n}\n.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}\n.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}\n.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}\n.form-horizontal .has-feedback .form-control-feedback{right:15px}\n@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}\n.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}\n}\n.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}\n.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}\n.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}\n.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}\n.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;-webkit-box-shadow:none;box-shadow:none}\na.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}\n.btn-default{color:#333;background-color:#fff;border-color:#ccc}\n.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}\n.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}\n.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}\n.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}\n.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}\n.btn-default .badge{color:#fff;background-color:#333}\n.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}\n.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}\n.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}\n.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;background-image:none;border-color:#204d74}\n.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}\n.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}\n.btn-primary .badge{color:#337ab7;background-color:#fff}\n.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}\n.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}\n.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}\n.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;background-image:none;border-color:#398439}\n.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}\n.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}\n.btn-success .badge{color:#5cb85c;background-color:#fff}\n.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}\n.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}\n.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}\n.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc}\n.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}\n.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}\n.btn-info .badge{color:#5bc0de;background-color:#fff}\n.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}\n.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}\n.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}\n.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512}\n.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}\n.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}\n.btn-warning .badge{color:#f0ad4e;background-color:#fff}\n.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}\n.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}\n.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}\n.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;background-image:none;border-color:#ac2925}\n.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}\n.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}\n.btn-danger .badge{color:#d9534f;background-color:#fff}\n.btn-link{font-weight:400;color:#337ab7;border-radius:0}\n.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}\n.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}\n.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}\n.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}\n.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}\n.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}\n.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}\n.btn-block{display:block;width:100%}\n.btn-block+.btn-block{margin-top:5px}\ninput[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}\n.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}\n.fade.in{opacity:1}\n.collapse{display:none}\n.collapse.in{display:block}\ntr.collapse.in{display:table-row}\ntbody.collapse.in{display:table-row-group}\n.collapsing{height:0;overflow:hidden;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}\n.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\\9;border-right:4px solid transparent;border-left:4px solid transparent}\n.dropdown-toggle:focus{outline:0}\n.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}\n.dropdown-menu-right,.dropdown-menu.pull-right{right:0;left:auto}\n.dropdown-header,.dropdown-menu>li>a{display:block;padding:3px 20px;line-height:1.42857143;white-space:nowrap}\n.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle,.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}\n.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child,.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}\n.btn-group-vertical>.btn:not(:first-child):not(:last-child),.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn,.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}\n.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}\n.dropdown-menu>li>a{clear:both;font-weight:400;color:#333}\n.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}\n.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}\n.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}\n.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}\n.open>.dropdown-menu{display:block}\n.open>a{outline:0}\n.dropdown-menu-left{right:auto;left:0}\n.dropdown-header{font-size:12px;color:#777}\n.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}\n.nav-justified>.dropdown .dropdown-menu,.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}\n.pull-right>.dropdown-menu{right:0;left:auto}\n.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:\"\";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\\9}\n.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}\n@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}\n.navbar-right .dropdown-menu-left{right:auto;left:0}\n}\n.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}\n.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}\n.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}\n.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}\n.btn-toolbar{margin-left:-5px}\n.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}\n.btn .caret,.btn-group>.btn:first-child{margin-left:0}\n.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}\n.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}\n.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}\n.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}\n.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}\n.btn-lg .caret{border-width:5px 5px 0}\n.dropup .btn-lg .caret{border-width:0 5px 5px}\n.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}\n.btn-group-vertical>.btn-group>.btn{float:none}\n.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}\n.btn-group-vertical>.btn:first-child:not(:last-child){border-radius:4px 4px 0 0}\n.btn-group-vertical>.btn:last-child:not(:first-child){border-radius:0 0 4px 4px}\n.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}\n.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}\n.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}\n.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}\n.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}\n.btn-group-justified>.btn-group .btn{width:100%}\n.btn-group-justified>.btn-group .dropdown-menu{left:auto}\n[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}\n.input-group{position:relative;display:table;border-collapse:separate}\n.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}\n.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}\n.input-group .form-control:focus{z-index:3}\n.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}\nselect.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}\nselect[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}\n.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}\nselect.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}\nselect[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}\n.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}\n.nav>li,.nav>li>a{display:block;position:relative}\n.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}\n.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}\n.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}\n.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}\n.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}\n.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}\n.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}\n.input-group-addon:first-child{border-right:0}\n.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}\n.input-group-addon:last-child{border-left:0}\n.input-group-btn{position:relative;font-size:0;white-space:nowrap}\n.input-group-btn>.btn{position:relative}\n.input-group-btn>.btn+.btn{margin-left:-1px}\n.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}\n.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}\n.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}\n.nav{padding-left:0;margin-bottom:0;list-style:none}\n.nav>li>a{padding:10px 15px}\n.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}\n.nav>li.disabled>a{color:#777}\n.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}\n.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}\n.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}\n.nav>li>a>img{max-width:none}\n.nav-tabs{border-bottom:1px solid #ddd}\n.nav-tabs>li{float:left;margin-bottom:-1px}\n.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}\n.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}\n.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}\n.nav-tabs.nav-justified{width:100%;border-bottom:0}\n.nav-tabs.nav-justified>li{float:none}\n.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center;margin-right:0;border-radius:4px}\n.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}\n@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}\n.nav-tabs.nav-justified>li>a{margin-bottom:0;border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}\n.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}\n}\n.nav-pills>li{float:left}\n.nav-justified>li,.nav-stacked>li{float:none}\n.nav-pills>li>a{border-radius:4px}\n.nav-pills>li+li{margin-left:2px}\n.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}\n.nav-stacked>li+li{margin-top:2px;margin-left:0}\n.nav-justified{width:100%}\n.nav-justified>li>a{margin-bottom:5px;text-align:center}\n.nav-tabs-justified{border-bottom:0}\n.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}\n.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}\n@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}\n.nav-justified>li>a{margin-bottom:0}\n.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}\n.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}\n}\n.tab-content>.tab-pane{display:none}\n.tab-content>.active{display:block}\n.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}\n.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}\n.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}\n.navbar-collapse.in{overflow-y:auto}\n@media (min-width:768px){.navbar{border-radius:4px}\n.navbar-header{float:left}\n.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}\n.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}\n.navbar-collapse.in{overflow-y:visible}\n.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}\n.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}\n}\n.embed-responsive,.modal,.modal-open,.progress{overflow:hidden}\n.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}\n@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}\n}\n.navbar-fixed-top{top:0;border-width:0 0 1px}\n.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}\n.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}\n.navbar-static-top{z-index:1000;border-width:0 0 1px}\n.navbar-brand{float:left;height:50px;padding:15px;font-size:18px;line-height:20px}\n.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}\n.navbar-brand>img{display:block}\n@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}\n.navbar-static-top{border-radius:0}\n.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}\n}\n.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}\n.navbar-toggle:focus{outline:0}\n.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}\n.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}\n.navbar-nav{margin:7.5px -15px}\n.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}\n@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}\n.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}\n.navbar-nav .open .dropdown-menu>li>a{line-height:20px}\n.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}\n}\n.progress-bar-striped,.progress-striped .progress-bar,.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}\n@media (min-width:768px){.navbar-toggle{display:none}\n.navbar-nav{float:left;margin:0}\n.navbar-nav>li{float:left}\n.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}\n}\n.navbar-form{padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin:8px -15px}\n@media (min-width:768px){.navbar-form .form-control-static,.navbar-form .form-group{display:inline-block}\n.navbar-form .control-label,.navbar-form .form-group{margin-bottom:0;vertical-align:middle}\n.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}\n.navbar-form .input-group{display:inline-table;vertical-align:middle}\n.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}\n.navbar-form .input-group>.form-control{width:100%}\n.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}\n.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}\n.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}\n.navbar-form .has-feedback .form-control-feedback{top:0}\n.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}\n}\n.breadcrumb>li,.pagination{display:inline-block}\n.btn .badge,.btn .label{top:-1px;position:relative}\n@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}\n.navbar-form .form-group:last-child{margin-bottom:0}\n}\n.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}\n.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-radius:4px 4px 0 0}\n.navbar-btn{margin-top:8px;margin-bottom:8px}\n.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}\n.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}\n.navbar-text{margin-top:15px;margin-bottom:15px}\n@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}\n.navbar-left{float:left!important}\n.navbar-right{float:right!important;margin-right:-15px}\n.navbar-right~.navbar-right{margin-right:0}\n}\n.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}\n.navbar-default .navbar-brand{color:#777}\n.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}\n.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}\n.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}\n.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}\n.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}\n.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}\n@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}\n.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}\n.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}\n.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}\n}\n.navbar-default .navbar-toggle{border-color:#ddd}\n.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}\n.navbar-default .navbar-toggle .icon-bar{background-color:#888}\n.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}\n.navbar-default .navbar-link{color:#777}\n.navbar-default .navbar-link:hover{color:#333}\n.navbar-default .btn-link{color:#777}\n.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}\n.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}\n.navbar-inverse{background-color:#222;border-color:#080808}\n.navbar-inverse .navbar-brand{color:#9d9d9d}\n.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}\n.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}\n.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}\n.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}\n.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}\n.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}\n@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}\n.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}\n.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}\n.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}\n.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}\n.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}\n}\n.navbar-inverse .navbar-toggle{border-color:#333}\n.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}\n.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}\n.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}\n.navbar-inverse .navbar-link{color:#9d9d9d}\n.navbar-inverse .navbar-link:hover{color:#fff}\n.navbar-inverse .btn-link{color:#9d9d9d}\n.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}\n.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}\n.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}\n.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:\"/\\00a0\"}\n.breadcrumb>.active{color:#777}\n.pagination{padding-left:0;margin:20px 0;border-radius:4px}\n.pager li,.pagination>li{display:inline}\n.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}\n.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}\n.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}\n.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}\n.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}\n.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}\n.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}\n.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}\n.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}\n.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}\n.badge,.label{font-weight:700;line-height:1;white-space:nowrap;text-align:center}\n.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}\n.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}\n.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}\n.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}\n.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}\n.pager .next>a,.pager .next>span{float:right}\n.pager .previous>a,.pager .previous>span{float:left}\n.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}\na.badge:focus,a.badge:hover,a.label:focus,a.label:hover{color:#fff;cursor:pointer;text-decoration:none}\n.label{display:inline;padding:.2em .6em .3em;font-size:75%;color:#fff;border-radius:.25em}\n.label:empty{display:none}\n.label-default{background-color:#777}\n.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}\n.label-primary{background-color:#337ab7}\n.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}\n.label-success{background-color:#5cb85c}\n.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}\n.label-info{background-color:#5bc0de}\n.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}\n.label-warning{background-color:#f0ad4e}\n.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}\n.label-danger{background-color:#d9534f}\n.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}\n.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;color:#fff;vertical-align:middle;background-color:#777;border-radius:10px}\n.badge:empty{display:none}\n.media-object,.thumbnail{display:block}\n.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}\n.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}\n.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}\n.list-group-item>.badge{float:right}\n.list-group-item>.badge+.badge{margin-right:5px}\n.nav-pills>li>a>.badge{margin-left:3px}\n.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;background-color:#eee}\n.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}\n.alert,.thumbnail{margin-bottom:20px}\n.alert .alert-link,.close{font-weight:700}\n.jumbotron>hr{border-top-color:#d5d5d5}\n.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}\n.jumbotron .container{max-width:100%}\n@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}\n.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}\n.jumbotron .h1,.jumbotron h1{font-size:63px}\n}\n.thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}\n.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}\na.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}\n.thumbnail .caption{padding:9px;color:#333}\n.alert{padding:15px;border:1px solid transparent;border-radius:4px}\n.alert h4{margin-top:0;color:inherit}\n.alert>p,.alert>ul{margin-bottom:0}\n.alert>p+p{margin-top:5px}\n.alert-dismissable,.alert-dismissible{padding-right:35px}\n.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}\n.modal,.modal-backdrop{top:0;right:0;bottom:0;left:0}\n.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}\n.alert-success hr{border-top-color:#c9e2b3}\n.alert-success .alert-link{color:#2b542c}\n.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}\n.alert-info hr{border-top-color:#a6e1ec}\n.alert-info .alert-link{color:#245269}\n.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}\n.alert-warning hr{border-top-color:#f7e1b5}\n.alert-warning .alert-link{color:#66512c}\n.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}\n.alert-danger hr{border-top-color:#e4b9c0}\n.alert-danger .alert-link{color:#843534}\n@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}\nto{background-position:0 0}\n}\n@-o-keyframes progress-bar-stripes{from{background-position:40px 0}\nto{background-position:0 0}\n}\n@keyframes progress-bar-stripes{from{background-position:40px 0}\nto{background-position:0 0}\n}\n.progress{height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}\n.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}\n.progress-bar-striped,.progress-striped .progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}\n.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}\n.progress-bar-success{background-color:#5cb85c}\n.progress-striped .progress-bar-success{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}\n.progress-striped .progress-bar-info,.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}\n.progress-bar-info{background-color:#5bc0de}\n.progress-striped .progress-bar-info{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}\n.progress-bar-warning{background-color:#f0ad4e}\n.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}\n.progress-bar-danger{background-color:#d9534f}\n.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}\n.media{margin-top:15px}\n.media:first-child{margin-top:0}\n.media,.media-body{overflow:hidden;zoom:1}\n.media-body{width:10000px}\n.media-object.img-thumbnail{max-width:none}\n.media-right,.media>.pull-right{padding-left:10px}\n.media-left,.media>.pull-left{padding-right:10px}\n.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}\n.media-middle{vertical-align:middle}\n.media-bottom{vertical-align:bottom}\n.media-heading{margin-top:0;margin-bottom:5px}\n.media-list{padding-left:0;list-style:none}\n.list-group{padding-left:0;margin-bottom:20px}\n.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}\n.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}\n.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}\n.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}\n.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}\n.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}\n.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}\n.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}\n.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}\na.list-group-item,button.list-group-item{color:#555}\na.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}\na.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}\nbutton.list-group-item{width:100%;text-align:left}\n.list-group-item-success{color:#3c763d;background-color:#dff0d8}\na.list-group-item-success,button.list-group-item-success{color:#3c763d}\na.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}\na.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}\na.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}\n.list-group-item-info{color:#31708f;background-color:#d9edf7}\na.list-group-item-info,button.list-group-item-info{color:#31708f}\na.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}\na.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}\na.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}\n.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}\na.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}\na.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}\na.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}\na.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}\n.list-group-item-danger{color:#a94442;background-color:#f2dede}\na.list-group-item-danger,button.list-group-item-danger{color:#a94442}\na.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}\na.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}\na.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}\n.panel-heading>.dropdown .dropdown-toggle,.panel-title,.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}\n.list-group-item-heading{margin-top:0;margin-bottom:5px}\n.list-group-item-text{margin-bottom:0;line-height:1.3}\n.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}\n.panel-title,.panel>.list-group,.panel>.panel-collapse>.list-group,.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}\n.panel-body{padding:15px}\n.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}\n.panel-title{margin-top:0;font-size:16px}\n.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}\n.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}\n.panel-group .panel-heading,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}\n.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}\n.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}\n.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}\n.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}\n.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}\n.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}\n.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}\n.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}\n.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}\n.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}\n.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}\n.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}\n.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}\n.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}\n.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}\n.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}\n.panel>.table-responsive{margin-bottom:0;border:0}\n.panel-group{margin-bottom:20px}\n.panel-group .panel{margin-bottom:0;border-radius:4px}\n.panel-group .panel+.panel{margin-top:5px}\n.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}\n.panel-group .panel-footer{border-top:0}\n.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}\n.panel-default{border-color:#ddd}\n.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}\n.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}\n.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}\n.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}\n.panel-primary{border-color:#337ab7}\n.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}\n.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}\n.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}\n.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}\n.panel-success{border-color:#d6e9c6}\n.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}\n.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}\n.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}\n.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}\n.panel-info{border-color:#bce8f1}\n.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}\n.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}\n.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}\n.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}\n.panel-warning{border-color:#faebcc}\n.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}\n.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}\n.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}\n.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}\n.panel-danger{border-color:#ebccd1}\n.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}\n.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}\n.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}\n.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}\n.embed-responsive{position:relative;display:block;height:0;padding:0}\n.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}\n.embed-responsive-16by9{padding-bottom:56.25%}\n.embed-responsive-4by3{padding-bottom:75%}\n.well{padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}\n.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}\n.well-lg{padding:24px;border-radius:6px}\n.well-sm{padding:9px;border-radius:3px}\n.close{float:right;font-size:21px;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}\n.popover,.tooltip{font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;text-decoration:none}\n.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}\nbutton.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}\n.modal-content,.popover{background-clip:padding-box}\n.modal{position:fixed;z-index:1050;display:none;-webkit-overflow-scrolling:touch;outline:0}\n.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out}\n.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}\n.modal-open .modal{overflow-x:hidden;overflow-y:auto}\n.modal-dialog{position:relative;width:auto;margin:10px}\n.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}\n.modal-backdrop{position:fixed;z-index:1040;background-color:#000}\n.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}\n.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}\n.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}\n.modal-header .close{margin-top:-2px}\n.modal-title{margin:0;line-height:1.42857143}\n.modal-body{position:relative;padding:15px}\n.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}\n.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}\n.modal-footer .btn-group .btn+.btn{margin-left:-1px}\n.modal-footer .btn-block+.btn-block{margin-left:0}\n.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}\n@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}\n.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}\n.modal-sm{width:300px}\n}\n.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}\n@media (min-width:992px){.modal-lg{width:900px}\n}\n.tooltip{position:absolute;z-index:1070;display:block;text-align:left;text-align:start;font-size:12px;filter:alpha(opacity=0);opacity:0}\n.tooltip.in{filter:alpha(opacity=90);opacity:.9}\n.tooltip.top{padding:5px 0;margin-top:-3px}\n.tooltip.right{padding:0 5px;margin-left:3px}\n.tooltip.bottom{padding:5px 0;margin-top:3px}\n.tooltip.left{padding:0 5px;margin-left:-3px}\n.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}\n.tooltip.top-left .tooltip-arrow{right:5px}\n.tooltip.top-right .tooltip-arrow{left:5px}\n.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}\n.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}\n.tooltip.bottom .tooltip-arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-right .tooltip-arrow{border-width:0 5px 5px;border-bottom-color:#000;top:0}\n.tooltip.bottom .tooltip-arrow{left:50%;margin-left:-5px}\n.tooltip.bottom-left .tooltip-arrow{right:5px;margin-top:-5px}\n.tooltip.bottom-right .tooltip-arrow{left:5px;margin-top:-5px}\n.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}\n.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}\n.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;text-align:start;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}\n.carousel-caption,.carousel-control{color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}\n.popover.top{margin-top:-10px}\n.popover.right{margin-left:10px}\n.popover.bottom{margin-top:10px}\n.popover.left{margin-left:-10px}\n.popover>.arrow{border-width:11px}\n.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}\n.carousel,.carousel-inner{position:relative}\n.popover>.arrow:after{content:\"\";border-width:10px}\n.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}\n.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:\" \";border-top-color:#fff;border-bottom-width:0}\n.popover.left>.arrow:after,.popover.right>.arrow:after{bottom:-10px;content:\" \"}\n.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}\n.popover.right>.arrow:after{left:1px;border-right-color:#fff;border-left-width:0}\n.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}\n.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:\" \";border-top-width:0;border-bottom-color:#fff}\n.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}\n.popover.left>.arrow:after{right:1px;border-right-width:0;border-left-color:#fff}\n.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}\n.popover-content{padding:9px 14px}\n.carousel-inner{width:100%;overflow:hidden}\n.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}\n.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}\n@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}\n.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}\n.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}\n.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}\n}\n.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}\n.carousel-inner>.active{left:0}\n.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}\n.carousel-inner>.next{left:100%}\n.carousel-inner>.prev{left:-100%}\n.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}\n.carousel-inner>.active.left{left:-100%}\n.carousel-inner>.active.right{left:100%}\n.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}\n.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}\n.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}\n.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:.9}\n.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}\n.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}\n.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}\n.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}\n.carousel-control .icon-prev:before{content:\"\\2039\"}\n.carousel-control .icon-next:before{content:\"\\203a\"}\n.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}\n.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}\n.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}\n.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px}\n.carousel-caption .btn,.text-hide{text-shadow:none}\n@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}\n.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}\n.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}\n.carousel-caption{right:20%;left:20%;padding-bottom:30px}\n.carousel-indicators{bottom:20px}\n}\n.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:\" \"}\n.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}\n.center-block{display:block;margin-right:auto;margin-left:auto}\n.pull-right{float:right!important}\n.pull-left{float:left!important}\n.hide{display:none!important}\n.show{display:block!important}\n.hidden,.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}\n.invisible{visibility:hidden}\n.text-hide{font:0/0 a;color:transparent;background-color:transparent;border:0}\n.affix{position:fixed}\n@-ms-viewport{width:device-width}\n@media (max-width:767px){.visible-xs{display:block!important}\ntable.visible-xs{display:table!important}\ntr.visible-xs{display:table-row!important}\ntd.visible-xs,th.visible-xs{display:table-cell!important}\n.visible-xs-block{display:block!important}\n.visible-xs-inline{display:inline!important}\n.visible-xs-inline-block{display:inline-block!important}\n}\n@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}\ntable.visible-sm{display:table!important}\ntr.visible-sm{display:table-row!important}\ntd.visible-sm,th.visible-sm{display:table-cell!important}\n.visible-sm-block{display:block!important}\n.visible-sm-inline{display:inline!important}\n.visible-sm-inline-block{display:inline-block!important}\n}\n@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}\ntable.visible-md{display:table!important}\ntr.visible-md{display:table-row!important}\ntd.visible-md,th.visible-md{display:table-cell!important}\n.visible-md-block{display:block!important}\n.visible-md-inline{display:inline!important}\n.visible-md-inline-block{display:inline-block!important}\n}\n@media (min-width:1200px){.visible-lg{display:block!important}\ntable.visible-lg{display:table!important}\ntr.visible-lg{display:table-row!important}\ntd.visible-lg,th.visible-lg{display:table-cell!important}\n.visible-lg-block{display:block!important}\n.visible-lg-inline{display:inline!important}\n.visible-lg-inline-block{display:inline-block!important}\n.hidden-lg{display:none!important}\n}\n@media (max-width:767px){.hidden-xs{display:none!important}\n}\n@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}\n}\n@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}\n}\n.visible-print{display:none!important}\n@media print{.visible-print{display:block!important}\ntable.visible-print{display:table!important}\ntr.visible-print{display:table-row!important}\ntd.visible-print,th.visible-print{display:table-cell!important}\n}\n.visible-print-block{display:none!important}\n@media print{.visible-print-block{display:block!important}\n}\n.visible-print-inline{display:none!important}\n@media print{.visible-print-inline{display:inline!important}\n}\n.visible-print-inline-block{display:none!important}\n@media print{.visible-print-inline-block{display:inline-block!important}\n.hidden-print{display:none!important}\n}\n.hljs{display:block;background:#fff;padding:.5em;color:#333;overflow-x:auto}\n.hljs-comment,.hljs-meta{color:#969896}\n.hljs-emphasis,.hljs-quote,.hljs-string,.hljs-strong,.hljs-template-variable,.hljs-variable{color:#df5000}\n.hljs-keyword,.hljs-selector-tag,.hljs-type{color:#a71d5d}\n.hljs-attribute,.hljs-bullet,.hljs-literal,.hljs-symbol{color:#0086b3}\n.hljs-name,.hljs-section{color:#63a35c}\n.hljs-tag{color:#333}\n.hljs-attr,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-title{color:#795da3}\n.hljs-addition{color:#55a532;background-color:#eaffea}\n.hljs-deletion{color:#bd2c00;background-color:#ffecec}\n.hljs-link{text-decoration:underline}"
  },
  {
    "path": "docs/styles/docfx.vendor.js",
    "content": "/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */\n!function(e,t){\"use strict\";\"object\"==typeof module&&\"object\"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error(\"jQuery requires a window with a document\");return t(e)}:t(e)}(\"undefined\"!=typeof window?window:this,function(C,e){\"use strict\";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return\"function\"==typeof e&&\"number\"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement(\"script\");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+\"\":\"object\"==typeof e||\"function\"==typeof e?n[o.call(e)]||\"object\":typeof e}var f=\"3.5.1\",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&\"length\"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&(\"array\"===n||0===t||\"number\"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for(\"boolean\"==typeof a&&(l=a,a=arguments[s]||{},s++),\"object\"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],\"__proto__\"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:\"jQuery\"+(f+Math.random()).replace(/\\D/g,\"\"),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||\"[object Object]\"!==o.call(e))&&(!(t=r(e))||\"function\"==typeof(n=v.call(t,\"constructor\")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,\"string\"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),\"function\"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"),function(e,t){n[\"[object \"+t+\"]\"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S=\"sizzle\"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R=\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",M=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",I=\"(?:\\\\\\\\[\\\\da-fA-F]{1,6}\"+M+\"?|\\\\\\\\[^\\\\r\\\\n\\\\f]|[\\\\w-]|[^\\0-\\\\x7f])+\",W=\"\\\\[\"+M+\"*(\"+I+\")(?:\"+M+\"*([*^$|!~]?=)\"+M+\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+I+\"))|)\"+M+\"*\\\\]\",F=\":(\"+I+\")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\"+W+\")*)|.*)\\\\)|)\",B=new RegExp(M+\"+\",\"g\"),$=new RegExp(\"^\"+M+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+M+\"+$\",\"g\"),_=new RegExp(\"^\"+M+\"*,\"+M+\"*\"),z=new RegExp(\"^\"+M+\"*([>+~]|\"+M+\")\"+M+\"*\"),U=new RegExp(M+\"|>\"),X=new RegExp(F),V=new RegExp(\"^\"+I+\"$\"),G={ID:new RegExp(\"^#(\"+I+\")\"),CLASS:new RegExp(\"^\\\\.(\"+I+\")\"),TAG:new RegExp(\"^(\"+I+\"|[*])\"),ATTR:new RegExp(\"^\"+W),PSEUDO:new RegExp(\"^\"+F),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+M+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+M+\"*(?:([+-]|)\"+M+\"*(\\\\d+)|))\"+M+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+R+\")$\",\"i\"),needsContext:new RegExp(\"^\"+M+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+M+\"*((?:-\\\\d)?\\\\d*)\"+M+\"*\\\\)|)(?=[^-]|$)\",\"i\")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\\d$/i,K=/^[^{]+\\{\\s*\\[native \\w/,Z=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,ee=/[+~]/,te=new RegExp(\"\\\\\\\\[\\\\da-fA-F]{1,6}\"+M+\"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\",\"g\"),ne=function(e,t){var n=\"0x\"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,ie=function(e,t){return t?\"\\0\"===e?\"\\ufffd\":e.slice(0,-1)+\"\\\\\"+e.charCodeAt(e.length-1).toString(16)+\" \":\"\\\\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&\"fieldset\"===e.nodeName.toLowerCase()},{dir:\"parentNode\",next:\"legend\"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],\"string\"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+\" \"]&&(!v||!v.test(t))&&(1!==p||\"object\"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute(\"id\"))?s=s.replace(re,ie):e.setAttribute(\"id\",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?\"#\"+s:\":scope\")+\" \"+xe(l[o]);c=l.join(\",\")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute(\"id\")}}}return g(t.replace($,\"$1\"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+\" \")>b.cacheLength&&delete e[r.shift()],e[t+\" \"]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement(\"fieldset\");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split(\"|\"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return\"input\"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return(\"input\"===t||\"button\"===t)&&e.type===n}}function ge(t){return function(e){return\"form\"in e?e.parentNode&&!1===e.disabled?\"label\"in e?\"label\"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:\"label\"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&\"undefined\"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||\"HTML\")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener(\"unload\",oe,!1):n.attachEvent&&n.attachEvent(\"onunload\",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement(\"div\")),\"undefined\"!=typeof e.querySelectorAll&&!e.querySelectorAll(\":scope fieldset div\").length}),d.attributes=ce(function(e){return e.className=\"i\",!e.getAttribute(\"className\")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment(\"\")),!e.getElementsByTagName(\"*\").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute(\"id\")===t}},b.find.ID=function(e,t){if(\"undefined\"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t=\"undefined\"!=typeof e.getAttributeNode&&e.getAttributeNode(\"id\");return t&&t.value===n}},b.find.ID=function(e,t){if(\"undefined\"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return\"undefined\"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if(\"*\"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(\"undefined\"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML=\"<a id='\"+S+\"'></a><select id='\"+S+\"-\\r\\\\' msallowcapture=''><option selected=''></option></select>\",e.querySelectorAll(\"[msallowcapture^='']\").length&&v.push(\"[*^$]=\"+M+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\"[selected]\").length||v.push(\"\\\\[\"+M+\"*(?:value|\"+R+\")\"),e.querySelectorAll(\"[id~=\"+S+\"-]\").length||v.push(\"~=\"),(t=C.createElement(\"input\")).setAttribute(\"name\",\"\"),e.appendChild(t),e.querySelectorAll(\"[name='']\").length||v.push(\"\\\\[\"+M+\"*name\"+M+\"*=\"+M+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\":checked\").length||v.push(\":checked\"),e.querySelectorAll(\"a#\"+S+\"+*\").length||v.push(\".#.+[+~]\"),e.querySelectorAll(\"\\\\\\f\"),v.push(\"[\\\\r\\\\n\\\\f]\")}),ce(function(e){e.innerHTML=\"<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>\";var t=C.createElement(\"input\");t.setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),e.querySelectorAll(\"[name=d]\").length&&v.push(\"name\"+M+\"*[*^$|!~]?=\"),2!==e.querySelectorAll(\":enabled\").length&&v.push(\":enabled\",\":disabled\"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(\":disabled\").length&&v.push(\":enabled\",\":disabled\"),e.querySelectorAll(\"*,:x\"),v.push(\",.*:\")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,\"*\"),c.call(e,\"[s!='']:x\"),s.push(\"!=\",F)}),v=v.length&&new RegExp(v.join(\"|\")),s=s.length&&new RegExp(s.join(\"|\")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+\" \"]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+\"\").replace(re,ie)},se.error=function(e){throw new Error(\"Syntax error, unrecognized expression: \"+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n=\"\",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if(\"string\"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||\"\").replace(te,ne),\"~=\"===e[2]&&(e[3]=\" \"+e[3]+\" \"),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),\"nth\"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*(\"even\"===e[3]||\"odd\"===e[3])),e[5]=+(e[7]+e[8]||\"odd\"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(\")\",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return\"*\"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+\" \"];return t||(t=new RegExp(\"(^|\"+M+\")\"+e+\"(\"+M+\"|$)\"))&&m(e,function(e){return t.test(\"string\"==typeof e.className&&e.className||\"undefined\"!=typeof e.getAttribute&&e.getAttribute(\"class\")||\"\")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?\"!=\"===r:!r||(t+=\"\",\"=\"===r?t===i:\"!=\"===r?t!==i:\"^=\"===r?i&&0===t.indexOf(i):\"*=\"===r?i&&-1<t.indexOf(i):\"$=\"===r?i&&t.slice(-i.length)===i:\"~=\"===r?-1<(\" \"+t.replace(B,\" \")+\" \").indexOf(i):\"|=\"===r&&(t===i||t.slice(0,i.length+1)===i+\"-\"))}},CHILD:function(h,e,t,g,v){var y=\"nth\"!==h.slice(0,3),m=\"last\"!==h.slice(-4),x=\"of-type\"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?\"nextSibling\":\"previousSibling\",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l=\"only\"===h&&!u&&\"nextSibling\"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error(\"unsupported pseudo: \"+e);return a[S]?a(o):1<a.length?(t=[e,e,\"\",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,\"$1\"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||\"\")||se.error(\"unsupported lang: \"+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute(\"xml:lang\")||e.getAttribute(\"lang\"))return(t=t.toLowerCase())===n||0===t.indexOf(n+\"-\")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&!!e.checked||\"option\"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&\"button\"===e.type||\"button\"===t},text:function(e){var t;return\"input\"===e.nodeName.toLowerCase()&&\"text\"===e.type&&(null==(t=e.getAttribute(\"type\"))||\"text\"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r=\"\";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&\"parentNode\"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||\"*\",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[\" \"],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:\" \"===e[s-2].type?\"*\":\"\"})).replace($,\"$1\"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+\" \"];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($,\" \")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+\" \"];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l=\"0\",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG(\"*\",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l=\"function\"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&\"ID\"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split(\"\").sort(D).join(\"\")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement(\"fieldset\"))}),ce(function(e){return e.innerHTML=\"<a href='#'></a>\",\"#\"===e.firstChild.getAttribute(\"href\")})||fe(\"type|href|height|width\",function(e,t,n){if(!n)return e.getAttribute(t,\"type\"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML=\"<input/>\",e.firstChild.setAttribute(\"value\",\"\"),\"\"===e.firstChild.getAttribute(\"value\")})||fe(\"value\",function(e,t,n){if(!n&&\"input\"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute(\"disabled\")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[\":\"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):\"string\"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=\":not(\"+e+\")\"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if(\"string\"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,\"string\"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var j,q=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,\"string\"==typeof e){if(!(r=\"<\"===e[0]&&\">\"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a=\"string\"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?\"string\"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,\"parentNode\")},parentsUntil:function(e,t,n){return h(e,\"parentNode\",n)},next:function(e){return O(e,\"nextSibling\")},prev:function(e){return O(e,\"previousSibling\")},nextAll:function(e){return h(e,\"nextSibling\")},prevAll:function(e){return h(e,\"previousSibling\")},nextUntil:function(e,t,n){return h(e,\"nextSibling\",n)},prevUntil:function(e,t,n){return h(e,\"previousSibling\",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,\"template\")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return\"Until\"!==r.slice(-5)&&(t=e),t&&\"string\"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\\x20\\t\\r\\n\\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r=\"string\"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:\"\")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&\"string\"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t=\"\",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=\"\"),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[[\"notify\",\"progress\",S.Callbacks(\"memory\"),S.Callbacks(\"memory\"),2],[\"resolve\",\"done\",S.Callbacks(\"once memory\"),S.Callbacks(\"once memory\"),0,\"resolved\"],[\"reject\",\"fail\",S.Callbacks(\"once memory\"),S.Callbacks(\"once memory\"),1,\"rejected\"]],i=\"pending\",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},\"catch\":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+\"With\"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError(\"Thenable self-resolution\");t=e&&(\"object\"==typeof e||\"function\"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+\"With\"](this===s?void 0:this,arguments),this},s[t[0]+\"With\"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),\"pending\"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn(\"jQuery.Deferred exception: \"+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener(\"DOMContentLoaded\",B),C.removeEventListener(\"load\",B),S.ready()}S.fn.ready=function(e){return F.then(e)[\"catch\"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,\"complete\"===E.readyState||\"loading\"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener(\"DOMContentLoaded\",B),C.addEventListener(\"load\",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if(\"object\"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,\"ms-\").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if(\"string\"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&\"string\"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r=\"data-\"+t.replace(K,\"-$&\").toLowerCase(),\"string\"==typeof(n=e.getAttribute(r))){try{n=\"true\"===(i=n)||\"false\"!==i&&(\"null\"===i?null:i===+i+\"\"?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,\"hasDataAttrs\"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf(\"data-\")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,\"hasDataAttrs\",!0)}return i}return\"object\"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||\"fx\")+\"queue\",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||\"fx\";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);\"inprogress\"===i&&(i=n.shift(),r--),i&&(\"fx\"===t&&n.unshift(\"inprogress\"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+\"queueHooks\";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks(\"once memory\").add(function(){Y.remove(e,[t+\"queue\",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return\"string\"!=typeof t&&(n=t,t=\"fx\",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),\"fx\"===t&&\"inprogress\"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||\"fx\",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};\"string\"!=typeof e&&(t=e,e=void 0),e=e||\"fx\";while(a--)(n=Y.get(o[a],e+\"queueHooks\"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source,te=new RegExp(\"^(?:([+-])=|)(\"+ee+\")([a-z%]*)$\",\"i\"),ne=[\"Top\",\"Right\",\"Bottom\",\"Left\"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return\"none\"===(e=t||e).style.display||\"\"===e.style.display&&ie(e)&&\"none\"===S.css(e,\"display\")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,\"\")},u=s(),l=n&&n[3]||(S.cssNumber[t]?\"\":\"px\"),c=e.nodeType&&(S.cssNumber[t]||\"px\"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?(\"none\"===n&&(l[c]=Y.get(r,\"display\")||null,l[c]||(r.style.display=\"\")),\"\"===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,\"display\"),o.parentNode.removeChild(o),\"none\"===u&&(u=\"block\"),ue[s]=u)))):\"none\"!==n&&(l[c]=\"none\",Y.set(r,\"display\",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return\"boolean\"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)/i,he=/^$|^module$|\\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement(\"div\")),(fe=E.createElement(\"input\")).setAttribute(\"type\",\"radio\"),fe.setAttribute(\"checked\",\"checked\"),fe.setAttribute(\"name\",\"t\"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML=\"<textarea>x</textarea>\",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML=\"<option></option>\",y.option=!!ce.lastChild;var ge={thead:[1,\"<table>\",\"</table>\"],col:[2,\"<table><colgroup>\",\"</colgroup></table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],_default:[0,\"\",\"\"]};function ve(e,t){var n;return n=\"undefined\"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||\"*\"):\"undefined\"!=typeof e.querySelectorAll?e.querySelectorAll(t||\"*\"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],\"globalEval\",!t||Y.get(t[n],\"globalEval\"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,\"<select multiple='multiple'>\",\"</select>\"]);var me=/<|&#?\\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if(\"object\"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement(\"div\")),s=(de.exec(o)||[\"\",\"\"])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=\"\"}else p.push(t.createTextNode(o));f.textContent=\"\",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),\"script\"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||\"\")&&n.push(o)}return f}var be=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\\.(.+)|)/;function Ce(){return!0}function Ee(){return!1}function Se(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==(\"focus\"===t)}function ke(e,t,n,r,i,o){var a,s;if(\"object\"==typeof t){for(s in\"string\"!=typeof n&&(r=r||n,n=void 0),t)ke(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&(\"string\"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ee;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Ae(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,Ce)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return\"undefined\"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||\"\").match(P)||[\"\"]).length;while(l--)d=g=(s=Te.exec(e[l])||[])[1],h=(s[2]||\"\").split(\".\").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(\".\")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||\"\").match(P)||[\"\"]).length;while(l--)if(d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||\"\").split(\".\").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&(\"**\"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,\"handle events\")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,\"events\")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!(\"click\"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&(\"click\"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+\" \"]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,\"input\")&&Ae(t,\"click\",Ce),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,\"input\")&&Ae(t,\"click\"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,\"input\")&&Y.get(t,\"click\")||A(t,\"a\")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Ee,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Ee,isPropagationStopped:Ee,isImmediatePropagationStopped:Ee,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,\"char\":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&we.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},S.event.addProp),S.each({focus:\"focusin\",blur:\"focusout\"},function(e,t){S.event.special[e]={setup:function(){return Ae(this,e,Se),!1},trigger:function(){return Ae(this,e),!0},delegateType:t}}),S.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\",pointerenter:\"pointerover\",pointerleave:\"pointerout\"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return ke(this,e,t,n,r)},one:function(e,t,n,r){return ke(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+\".\"+r.namespace:r.origType,r.selector,r.handler),this;if(\"object\"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&\"function\"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ee),this.each(function(){S.event.remove(this,e,n,t)})}});var Ne=/<script|<style|<link/i,De=/checked\\s*(?:[^=]|=\\s*.checked.)/i,je=/^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g;function qe(e,t){return A(e,\"table\")&&A(11!==t.nodeType?t:t.firstChild,\"tr\")&&S(e).children(\"tbody\")[0]||e}function Le(e){return e.type=(null!==e.getAttribute(\"type\"))+\"/\"+e.type,e}function He(e){return\"true/\"===(e.type||\"\").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute(\"type\"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,\"handle events\"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function Pe(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&\"string\"==typeof d&&!y.checkClone&&De.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Pe(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,\"script\"),Le)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,\"script\"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,He),c=0;c<s;c++)u=a[c],he.test(u.type||\"\")&&!Y.access(u,\"globalEval\")&&S.contains(l,u)&&(u.src&&\"module\"!==(u.type||\"\").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute(\"nonce\")},l):b(u.textContent.replace(je,\"\"),u,l))}return n}function Re(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,\"script\")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,\"input\"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:\"input\"!==l&&\"textarea\"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,c);return 0<(a=ve(c,\"script\")).length&&ye(a,!f&&ve(e,\"script\")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent=\"\");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if(\"string\"==typeof e&&!Ne.test(e)&&!ge[(de.exec(e)||[\"\",\"\"])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Me=new RegExp(\"^(\"+ee+\")(?!px)[a-z%]+$\",\"i\"),Ie=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},We=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Fe=new RegExp(ne.join(\"|\"),\"i\");function Be(e,t,n){var r,i,o,a,s=e.style;return(n=n||Ie(e))&&(\"\"!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Me.test(a)&&Fe.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+\"\":a}function $e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText=\"position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0\",l.style.cssText=\"position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%\",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n=\"1%\"!==e.top,s=12===t(e.marginLeft),l.style.right=\"60%\",o=36===t(e.right),r=36===t(e.width),l.style.position=\"absolute\",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement(\"div\"),l=E.createElement(\"div\");l.style&&(l.style.backgroundClip=\"content-box\",l.cloneNode(!0).style.backgroundClip=\"\",y.clearCloneStyle=\"content-box\"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement(\"table\"),t=E.createElement(\"tr\"),n=E.createElement(\"div\"),e.style.cssText=\"position:absolute;left:-11111px\",t.style.height=\"1px\",n.style.height=\"9px\",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var _e=[\"Webkit\",\"Moz\",\"ms\"],ze=E.createElement(\"div\").style,Ue={};function Xe(e){var t=S.cssProps[e]||Ue[e];return t||(e in ze?e:Ue[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=_e.length;while(n--)if((e=_e[n]+t)in ze)return e}(e)||e)}var Ve=/^(none|table(?!-c[ea]).+)/,Ge=/^--/,Ye={position:\"absolute\",visibility:\"hidden\",display:\"block\"},Qe={letterSpacing:\"0\",fontWeight:\"400\"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||\"px\"):t}function Ke(e,t,n,r,i,o){var a=\"width\"===t?1:0,s=0,u=0;if(n===(r?\"border\":\"content\"))return 0;for(;a<4;a+=2)\"margin\"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?(\"content\"===n&&(u-=S.css(e,\"padding\"+ne[a],!0,i)),\"margin\"!==n&&(u-=S.css(e,\"border\"+ne[a]+\"Width\",!0,i))):(u+=S.css(e,\"padding\"+ne[a],!0,i),\"padding\"!==n?u+=S.css(e,\"border\"+ne[a]+\"Width\",!0,i):s+=S.css(e,\"border\"+ne[a]+\"Width\",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e[\"offset\"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Ie(e),i=(!y.boxSizingReliable()||n)&&\"border-box\"===S.css(e,\"boxSizing\",!1,r),o=i,a=Be(e,t,r),s=\"offset\"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a=\"auto\"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,\"tr\")||\"auto\"===a||!parseFloat(a)&&\"inline\"===S.css(e,\"display\",!1,r))&&e.getClientRects().length&&(i=\"border-box\"===S.css(e,\"boxSizing\",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?\"border\":\"content\"),o,r,a)+\"px\"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,\"opacity\");return\"\"===n?\"1\":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Ge.test(t),l=e.style;if(u||(t=Xe(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&\"get\"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];\"string\"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o=\"number\"),null!=n&&n==n&&(\"number\"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?\"\":\"px\")),y.clearCloneStyle||\"\"!==n||0!==t.indexOf(\"background\")||(l[t]=\"inherit\"),a&&\"set\"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Ge.test(t)||(t=Xe(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&\"get\"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),\"normal\"===i&&t in Qe&&(i=Qe[t]),\"\"===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each([\"height\",\"width\"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ve.test(S.css(e,\"display\"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):We(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Ie(e),o=!y.scrollboxSize()&&\"absolute\"===i.position,a=(o||n)&&\"border-box\"===S.css(e,\"boxSizing\",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e[\"offset\"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,\"border\",!1,i)-.5)),s&&(r=te.exec(t))&&\"px\"!==(r[3]||\"px\")&&(e.style[u]=t,t=S.css(e,u)),Je(0,t,s)}}}),S.cssHooks.marginLeft=$e(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,\"marginLeft\"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+\"px\"}),S.each({margin:\"\",padding:\"\",border:\"Width\"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r=\"string\"==typeof e?e.split(\" \"):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},\"margin\"!==i&&(S.cssHooks[i+o].set=Je)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Ie(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?\"\":\"px\")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,\"\"))&&\"auto\"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[Xe(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:\"swing\"},S.fx=et.prototype.init,S.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,S.fx.interval),S.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i[\"margin\"+(n=ne[r])]=i[\"padding\"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners[\"*\"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&\"expand\"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(ft,{tweeners:{\"*\":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=[\"*\"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f=\"width\"in t||\"height\"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,\"fxshow\");for(r in n.queue||(null==(a=S._queueHooks(e,\"fx\")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,\"fx\").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||\"toggle\"===i,i===(g?\"hide\":\"show\")){if(\"show\"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,\"display\")),\"none\"===(c=S.css(e,\"display\"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,\"display\"),le([e]))),(\"inline\"===c||\"inline-block\"===c&&null!=l)&&\"none\"===S.css(e,\"float\")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l=\"none\"===c?\"\":c)),h.display=\"inline-block\")),n.overflow&&(h.overflow=\"hidden\",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?\"hidden\"in v&&(g=v.hidden):v=Y.access(e,\"fxshow\",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,\"fxshow\"),d)S.style(e,r,d[r])})),u=ct(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&\"object\"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:\"number\"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue=\"fx\"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css(\"opacity\",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=ft(this,S.extend({},t),o);(i||Y.get(this,\"finish\"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return\"string\"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||\"fx\",[]),this.each(function(){var e=!0,t=null!=i&&i+\"queueHooks\",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||\"fx\"),this.each(function(){var e,t=Y.get(this),n=t[a+\"queue\"],r=t[a+\"queueHooks\"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each([\"toggle\",\"show\",\"hide\"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||\"boolean\"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),S.each({slideDown:lt(\"show\"),slideUp:lt(\"hide\"),slideToggle:lt(\"toggle\"),fadeIn:{opacity:\"show\"},fadeOut:{opacity:\"hide\"},fadeToggle:{opacity:\"toggle\"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),tt=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){nt||(nt=!0,st())},S.fx.stop=function(){nt=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||\"fx\",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=E.createElement(\"input\"),it=E.createElement(\"select\").appendChild(E.createElement(\"option\")),rt.type=\"checkbox\",y.checkOn=\"\"!==rt.value,y.optSelected=it.selected,(rt=E.createElement(\"input\")).value=\"t\",rt.type=\"radio\",y.radioValue=\"t\"===rt.value;var pt,dt=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return\"undefined\"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+\"\"),n):i&&\"get\"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&\"radio\"===t&&A(e,\"input\")){var n=e.value;return e.setAttribute(\"type\",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\\w+/g),function(e,t){var a=dt[t]||S.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function vt(e){return(e.match(P)||[]).join(\" \")}function yt(e){return e.getAttribute&&e.getAttribute(\"class\")||\"\"}function mt(e){return Array.isArray(e)?e:\"string\"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&\"get\"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,\"tabindex\");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{\"for\":\"htmlFor\",\"class\":\"className\"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,yt(this)))});if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&\" \"+vt(i)+\" \"){a=0;while(o=e[a++])r.indexOf(\" \"+o+\" \")<0&&(r+=o+\" \");i!==(s=vt(r))&&n.setAttribute(\"class\",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,yt(this)))});if(!arguments.length)return this.attr(\"class\",\"\");if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&\" \"+vt(i)+\" \"){a=0;while(o=e[a++])while(-1<r.indexOf(\" \"+o+\" \"))r=r.replace(\" \"+o+\" \",\" \");i!==(s=vt(r))&&n.setAttribute(\"class\",s)}return this},toggleClass:function(i,t){var o=typeof i,a=\"string\"===o||Array.isArray(i);return\"boolean\"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,yt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=mt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&\"boolean\"!==o||((e=yt(this))&&Y.set(this,\"__className__\",e),this.setAttribute&&this.setAttribute(\"class\",e||!1===i?\"\":Y.get(this,\"__className__\")||\"\"))})},hasClass:function(e){var t,n,r=0;t=\" \"+e+\" \";while(n=this[r++])if(1===n.nodeType&&-1<(\" \"+vt(yt(n))+\" \").indexOf(t))return!0;return!1}});var xt=/\\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t=\"\":\"number\"==typeof t?t+=\"\":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?\"\":e+\"\"})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&\"set\"in r&&void 0!==r.set(this,t,\"value\")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&\"get\"in r&&void 0!==(e=r.get(t,\"value\"))?e:\"string\"==typeof(e=t.value)?e.replace(xt,\"\"):null==e?\"\":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,\"value\");return null!=t?t:vt(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a=\"select-one\"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,\"optgroup\"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each([\"radio\",\"checkbox\"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute(\"value\")?\"on\":e.value})}),y.focusin=\"onfocusin\"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,\"type\")?e.type:e,h=v.call(e,\"namespace\")?e.namespace.split(\".\"):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+S.event.triggered)&&(-1<d.indexOf(\".\")&&(d=(h=d.split(\".\")).shift(),h.sort()),u=d.indexOf(\":\")<0&&\"on\"+d,(e=e[S.expando]?e:new S.Event(d,\"object\"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join(\".\"),e.rnamespace=e.namespace?new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,\"events\")||Object.create(null))[e.type]&&Y.get(o,\"handle\"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:\"focusin\",blur:\"focusout\"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},Et=/\\?/;S.parseXML=function(e){var t;if(!e||\"string\"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,\"text/xml\")}catch(e){t=void 0}return t&&!t.getElementsByTagName(\"parsererror\").length||S.error(\"Invalid XML: \"+e),t};var St=/\\[\\]$/,kt=/\\r?\\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function Dt(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||St.test(n)?i(n,t):Dt(n+\"[\"+(\"object\"==typeof t&&null!=t?e:\"\")+\"]\",t,r,i)});else if(r||\"object\"!==w(e))i(n,e);else for(t in e)Dt(n+\"[\"+t+\"]\",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+\"=\"+encodeURIComponent(null==n?\"\":n)};if(null==e)return\"\";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)Dt(n,e[n],t,i);return r.join(\"&\")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,\"elements\");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(\":disabled\")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(kt,\"\\r\\n\")}}):{name:t.name,value:n.replace(kt,\"\\r\\n\")}}).get()}});var jt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \\t]*([^\\r\\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\\/\\//,Rt={},Mt={},It=\"*/\".concat(\"*\"),Wt=E.createElement(\"a\");function Ft(o){return function(e,t){\"string\"!=typeof e&&(t=e,e=\"*\");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])\"+\"===n[0]?(n=n.slice(1)||\"*\",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Bt(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return\"string\"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s[\"*\"]&&l(\"*\")}function $t(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Wt.href=Tt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:\"GET\",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",accepts:{\"*\":It,text:\"text/plain\",html:\"text/html\",xml:\"application/xml, text/xml\",json:\"application/json, text/javascript\"},contents:{xml:/\\bxml\\b/,html:/\\bhtml/,json:/\\bjson\\b/},responseFields:{xml:\"responseXML\",text:\"responseText\",json:\"responseJSON\"},converters:{\"* text\":String,\"text html\":!0,\"text json\":JSON.parse,\"text xml\":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?$t($t(e,S.ajaxSettings),t):$t(S.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){\"object\"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks(\"once memory\"),w=v.statusCode||{},a={},s={},u=\"canceled\",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+\" \"]=(n[t[1].toLowerCase()+\" \"]||[]).concat(t[2])}t=n[e.toLowerCase()+\" \"]}return null==t?null:t.join(\", \")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Tt.href)+\"\").replace(Pt,Tt.protocol+\"//\"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||\"*\").toLowerCase().match(P)||[\"\"],null==v.crossDomain){r=E.createElement(\"a\");try{r.href=v.url,r.href=r.href,v.crossDomain=Wt.protocol+\"//\"+Wt.host!=r.protocol+\"//\"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&\"string\"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Bt(Rt,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger(\"ajaxStart\"),v.type=v.type.toUpperCase(),v.hasContent=!Ot.test(v.type),f=v.url.replace(qt,\"\"),v.hasContent?v.data&&v.processData&&0===(v.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&(v.data=v.data.replace(jt,\"+\")):(o=v.url.slice(f.length),v.data&&(v.processData||\"string\"==typeof v.data)&&(f+=(Et.test(f)?\"&\":\"?\")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Lt,\"$1\"),o=(Et.test(f)?\"&\":\"?\")+\"_=\"+Ct.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader(\"If-Modified-Since\",S.lastModified[f]),S.etag[f]&&T.setRequestHeader(\"If-None-Match\",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader(\"Content-Type\",v.contentType),T.setRequestHeader(\"Accept\",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+(\"*\"!==v.dataTypes[0]?\", \"+It+\"; q=0.01\":\"\"):v.accepts[\"*\"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u=\"abort\",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Bt(Mt,v,t,T)){if(T.readyState=1,g&&m.trigger(\"ajaxSend\",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort(\"timeout\")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,\"No Transport\");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||\"\",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while(\"*\"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader(\"Content-Type\"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+\" \"+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray(\"script\",v.dataTypes)&&(v.converters[\"text script\"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if(\"*\"===o)o=u;else if(\"*\"!==u&&u!==o){if(!(a=l[u+\" \"+o]||l[\"* \"+o]))for(i in l)if((s=i.split(\" \"))[1]===o&&(a=l[u+\" \"+s[0]]||l[\"* \"+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e[\"throws\"])t=a(t);else try{t=a(t)}catch(e){return{state:\"parsererror\",error:a?e:\"No conversion from \"+u+\" to \"+o}}}return{state:\"success\",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader(\"Last-Modified\"))&&(S.lastModified[f]=u),(u=T.getResponseHeader(\"etag\"))&&(S.etag[f]=u)),204===e||\"HEAD\"===v.type?l=\"nocontent\":304===e?l=\"notmodified\":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l=\"error\",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+\"\",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?\"ajaxSuccess\":\"ajaxError\",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger(\"ajaxComplete\",[T,v]),--S.active||S.event.trigger(\"ajaxStop\")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,\"json\")},getScript:function(e,t){return S.get(e,void 0,t,\"script\")}}),S.each([\"get\",\"post\"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)\"content-type\"===t.toLowerCase()&&(e.contentType=e.headers[t]||\"\")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:\"GET\",dataType:\"script\",cache:!0,async:!1,global:!1,converters:{\"text script\":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not(\"body\").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=S.ajaxSettings.xhr();y.cors=!!zt&&\"withCredentials\"in zt,y.ajax=zt=!!zt,S.ajaxTransport(function(i){var o,a;if(y.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e[\"X-Requested-With\"]||(e[\"X-Requested-With\"]=\"XMLHttpRequest\"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,\"abort\"===e?r.abort():\"error\"===e?\"number\"!=typeof r.status?t(0,\"error\"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,\"text\"!==(r.responseType||\"text\")||\"string\"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o(\"error\"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o(\"abort\");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/\\b(?:java|ecma)script\\b/},converters:{\"text script\":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter(\"script\",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type=\"GET\")}),S.ajaxTransport(\"script\",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S(\"<script>\").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on(\"load error\",i=function(e){r.remove(),i=null,e&&t(\"error\"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\\?(?=&|$)|\\?\\?/;S.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var e=Xt.pop()||S.expando+\"_\"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter(\"json jsonp\",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?\"url\":\"string\"==typeof e.data&&0===(e.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&Vt.test(e.data)&&\"data\");if(a||\"jsonp\"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,\"$1\"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?\"&\":\"?\")+e.jsonp+\"=\"+r),e.converters[\"script json\"]=function(){return o||S.error(r+\" was not called\"),o[0]},e.dataTypes[0]=\"json\",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),\"script\"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument(\"\").body).innerHTML=\"<form></form><form></form>\",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return\"string\"!=typeof e?[]:(\"boolean\"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument(\"\")).createElement(\"base\")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(\" \");return-1<s&&(r=vt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&\"object\"==typeof t&&(i=\"POST\"),0<a.length&&S.ajax({url:e,type:i||\"GET\",dataType:\"html\",data:t}).done(function(e){o=arguments,a.html(r?S(\"<div>\").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,\"position\"),c=S(e),f={};\"static\"===l&&(e.style.position=\"relative\"),s=c.offset(),o=S.css(e,\"top\"),u=S.css(e,\"left\"),(\"absolute\"===l||\"fixed\"===l)&&-1<(o+u).indexOf(\"auto\")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),\"using\"in t?t.using.call(e,f):(\"number\"==typeof f.top&&(f.top+=\"px\"),\"number\"==typeof f.left&&(f.left+=\"px\"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if(\"fixed\"===S.css(r,\"position\"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&\"static\"===S.css(e,\"position\"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,\"borderTopWidth\",!0),i.left+=S.css(e,\"borderLeftWidth\",!0))}return{top:t.top-i.top-S.css(r,\"marginTop\",!0),left:t.left-i.left-S.css(r,\"marginLeft\",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&\"static\"===S.css(e,\"position\"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(t,i){var o=\"pageYOffset\"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each([\"top\",\"left\"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+\"px\":t})}),S.each({Height:\"height\",Width:\"width\"},function(a,s){S.each({padding:\"inner\"+a,content:s,\"\":\"outer\"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||\"boolean\"!=typeof e),i=r||(!0===e||!0===t?\"margin\":\"border\");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf(\"outer\")?e[\"inner\"+a]:e.document.documentElement[\"client\"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body[\"scroll\"+a],r[\"scroll\"+a],e.body[\"offset\"+a],r[\"offset\"+a],r[\"client\"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each([\"ajaxStart\",\"ajaxStop\",\"ajaxComplete\",\"ajaxError\",\"ajaxSuccess\",\"ajaxSend\"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,\"**\"):this.off(t,e||\"**\",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each(\"blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu\".split(\" \"),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if(\"string\"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return(\"number\"===t||\"string\"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?\"\":(e+\"\").replace(Gt,\"\")},\"function\"==typeof define&&define.amd&&define(\"jquery\",[],function(){return S});var Yt=C.jQuery,Qt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Qt),e&&C.jQuery===S&&(C.jQuery=Yt),S},\"undefined\"==typeof e&&(C.jQuery=C.$=S),S});\n\n/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under the MIT license\n */\nif(\"undefined\"==typeof jQuery)throw new Error(\"Bootstrap's JavaScript requires jQuery\");!function(t){\"use strict\";var e=jQuery.fn.jquery.split(\" \")[0].split(\".\");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||3<e[0])throw new Error(\"Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4\")}(),function(n){\"use strict\";n.fn.emulateTransitionEnd=function(t){var e=!1,i=this;n(this).one(\"bsTransitionEnd\",function(){e=!0});return setTimeout(function(){e||n(i).trigger(n.support.transition.end)},t),this},n(function(){n.support.transition=function o(){var t=document.createElement(\"bootstrap\"),e={WebkitTransition:\"webkitTransitionEnd\",MozTransition:\"transitionend\",OTransition:\"oTransitionEnd otransitionend\",transition:\"transitionend\"};for(var i in e)if(t.style[i]!==undefined)return{end:e[i]};return!1}(),n.support.transition&&(n.event.special.bsTransitionEnd={bindType:n.support.transition.end,delegateType:n.support.transition.end,handle:function(t){if(n(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}})})}(jQuery),function(s){\"use strict\";var e='[data-dismiss=\"alert\"]',a=function(t){s(t).on(\"click\",e,this.close)};a.VERSION=\"3.4.1\",a.TRANSITION_DURATION=150,a.prototype.close=function(t){var e=s(this),i=e.attr(\"data-target\");i||(i=(i=e.attr(\"href\"))&&i.replace(/.*(?=#[^\\s]*$)/,\"\")),i=\"#\"===i?[]:i;var o=s(document).find(i);function n(){o.detach().trigger(\"closed.bs.alert\").remove()}t&&t.preventDefault(),o.length||(o=e.closest(\".alert\")),o.trigger(t=s.Event(\"close.bs.alert\")),t.isDefaultPrevented()||(o.removeClass(\"in\"),s.support.transition&&o.hasClass(\"fade\")?o.one(\"bsTransitionEnd\",n).emulateTransitionEnd(a.TRANSITION_DURATION):n())};var t=s.fn.alert;s.fn.alert=function o(i){return this.each(function(){var t=s(this),e=t.data(\"bs.alert\");e||t.data(\"bs.alert\",e=new a(this)),\"string\"==typeof i&&e[i].call(t)})},s.fn.alert.Constructor=a,s.fn.alert.noConflict=function(){return s.fn.alert=t,this},s(document).on(\"click.bs.alert.data-api\",e,a.prototype.close)}(jQuery),function(s){\"use strict\";var n=function(t,e){this.$element=s(t),this.options=s.extend({},n.DEFAULTS,e),this.isLoading=!1};function i(o){return this.each(function(){var t=s(this),e=t.data(\"bs.button\"),i=\"object\"==typeof o&&o;e||t.data(\"bs.button\",e=new n(this,i)),\"toggle\"==o?e.toggle():o&&e.setState(o)})}n.VERSION=\"3.4.1\",n.DEFAULTS={loadingText:\"loading...\"},n.prototype.setState=function(t){var e=\"disabled\",i=this.$element,o=i.is(\"input\")?\"val\":\"html\",n=i.data();t+=\"Text\",null==n.resetText&&i.data(\"resetText\",i[o]()),setTimeout(s.proxy(function(){i[o](null==n[t]?this.options[t]:n[t]),\"loadingText\"==t?(this.isLoading=!0,i.addClass(e).attr(e,e).prop(e,!0)):this.isLoading&&(this.isLoading=!1,i.removeClass(e).removeAttr(e).prop(e,!1))},this),0)},n.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle=\"buttons\"]');if(e.length){var i=this.$element.find(\"input\");\"radio\"==i.prop(\"type\")?(i.prop(\"checked\")&&(t=!1),e.find(\".active\").removeClass(\"active\"),this.$element.addClass(\"active\")):\"checkbox\"==i.prop(\"type\")&&(i.prop(\"checked\")!==this.$element.hasClass(\"active\")&&(t=!1),this.$element.toggleClass(\"active\")),i.prop(\"checked\",this.$element.hasClass(\"active\")),t&&i.trigger(\"change\")}else this.$element.attr(\"aria-pressed\",!this.$element.hasClass(\"active\")),this.$element.toggleClass(\"active\")};var t=s.fn.button;s.fn.button=i,s.fn.button.Constructor=n,s.fn.button.noConflict=function(){return s.fn.button=t,this},s(document).on(\"click.bs.button.data-api\",'[data-toggle^=\"button\"]',function(t){var e=s(t.target).closest(\".btn\");i.call(e,\"toggle\"),s(t.target).is('input[type=\"radio\"], input[type=\"checkbox\"]')||(t.preventDefault(),e.is(\"input,button\")?e.trigger(\"focus\"):e.find(\"input:visible,button:visible\").first().trigger(\"focus\"))}).on(\"focus.bs.button.data-api blur.bs.button.data-api\",'[data-toggle^=\"button\"]',function(t){s(t.target).closest(\".btn\").toggleClass(\"focus\",/^focus(in)?$/.test(t.type))})}(jQuery),function(p){\"use strict\";var c=function(t,e){this.$element=p(t),this.$indicators=this.$element.find(\".carousel-indicators\"),this.options=e,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on(\"keydown.bs.carousel\",p.proxy(this.keydown,this)),\"hover\"==this.options.pause&&!(\"ontouchstart\"in document.documentElement)&&this.$element.on(\"mouseenter.bs.carousel\",p.proxy(this.pause,this)).on(\"mouseleave.bs.carousel\",p.proxy(this.cycle,this))};function r(n){return this.each(function(){var t=p(this),e=t.data(\"bs.carousel\"),i=p.extend({},c.DEFAULTS,t.data(),\"object\"==typeof n&&n),o=\"string\"==typeof n?n:i.slide;e||t.data(\"bs.carousel\",e=new c(this,i)),\"number\"==typeof n?e.to(n):o?e[o]():i.interval&&e.pause().cycle()})}c.VERSION=\"3.4.1\",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:\"hover\",wrap:!0,keyboard:!0},c.prototype.keydown=function(t){if(!/input|textarea/i.test(t.target.tagName)){switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}t.preventDefault()}},c.prototype.cycle=function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(p.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(t){return this.$items=t.parent().children(\".item\"),this.$items.index(t||this.$active)},c.prototype.getItemForDirection=function(t,e){var i=this.getItemIndex(e);if((\"prev\"==t&&0===i||\"next\"==t&&i==this.$items.length-1)&&!this.options.wrap)return e;var o=(i+(\"prev\"==t?-1:1))%this.$items.length;return this.$items.eq(o)},c.prototype.to=function(t){var e=this,i=this.getItemIndex(this.$active=this.$element.find(\".item.active\"));if(!(t>this.$items.length-1||t<0))return this.sliding?this.$element.one(\"slid.bs.carousel\",function(){e.to(t)}):i==t?this.pause().cycle():this.slide(i<t?\"next\":\"prev\",this.$items.eq(t))},c.prototype.pause=function(t){return t||(this.paused=!0),this.$element.find(\".next, .prev\").length&&p.support.transition&&(this.$element.trigger(p.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide(\"next\")},c.prototype.prev=function(){if(!this.sliding)return this.slide(\"prev\")},c.prototype.slide=function(t,e){var i=this.$element.find(\".item.active\"),o=e||this.getItemForDirection(t,i),n=this.interval,s=\"next\"==t?\"left\":\"right\",a=this;if(o.hasClass(\"active\"))return this.sliding=!1;var r=o[0],l=p.Event(\"slide.bs.carousel\",{relatedTarget:r,direction:s});if(this.$element.trigger(l),!l.isDefaultPrevented()){if(this.sliding=!0,n&&this.pause(),this.$indicators.length){this.$indicators.find(\".active\").removeClass(\"active\");var h=p(this.$indicators.children()[this.getItemIndex(o)]);h&&h.addClass(\"active\")}var d=p.Event(\"slid.bs.carousel\",{relatedTarget:r,direction:s});return p.support.transition&&this.$element.hasClass(\"slide\")?(o.addClass(t),\"object\"==typeof o&&o.length&&o[0].offsetWidth,i.addClass(s),o.addClass(s),i.one(\"bsTransitionEnd\",function(){o.removeClass([t,s].join(\" \")).addClass(\"active\"),i.removeClass([\"active\",s].join(\" \")),a.sliding=!1,setTimeout(function(){a.$element.trigger(d)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(i.removeClass(\"active\"),o.addClass(\"active\"),this.sliding=!1,this.$element.trigger(d)),n&&this.cycle(),this}};var t=p.fn.carousel;p.fn.carousel=r,p.fn.carousel.Constructor=c,p.fn.carousel.noConflict=function(){return p.fn.carousel=t,this};var e=function(t){var e=p(this),i=e.attr(\"href\");i&&(i=i.replace(/.*(?=#[^\\s]+$)/,\"\"));var o=e.attr(\"data-target\")||i,n=p(document).find(o);if(n.hasClass(\"carousel\")){var s=p.extend({},n.data(),e.data()),a=e.attr(\"data-slide-to\");a&&(s.interval=!1),r.call(n,s),a&&n.data(\"bs.carousel\").to(a),t.preventDefault()}};p(document).on(\"click.bs.carousel.data-api\",\"[data-slide]\",e).on(\"click.bs.carousel.data-api\",\"[data-slide-to]\",e),p(window).on(\"load\",function(){p('[data-ride=\"carousel\"]').each(function(){var t=p(this);r.call(t,t.data())})})}(jQuery),function(a){\"use strict\";var r=function(t,e){this.$element=a(t),this.options=a.extend({},r.DEFAULTS,e),this.$trigger=a('[data-toggle=\"collapse\"][href=\"#'+t.id+'\"],[data-toggle=\"collapse\"][data-target=\"#'+t.id+'\"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};function n(t){var e,i=t.attr(\"data-target\")||(e=t.attr(\"href\"))&&e.replace(/.*(?=#[^\\s]+$)/,\"\");return a(document).find(i)}function l(o){return this.each(function(){var t=a(this),e=t.data(\"bs.collapse\"),i=a.extend({},r.DEFAULTS,t.data(),\"object\"==typeof o&&o);!e&&i.toggle&&/show|hide/.test(o)&&(i.toggle=!1),e||t.data(\"bs.collapse\",e=new r(this,i)),\"string\"==typeof o&&e[o]()})}r.VERSION=\"3.4.1\",r.TRANSITION_DURATION=350,r.DEFAULTS={toggle:!0},r.prototype.dimension=function(){return this.$element.hasClass(\"width\")?\"width\":\"height\"},r.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass(\"in\")){var t,e=this.$parent&&this.$parent.children(\".panel\").children(\".in, .collapsing\");if(!(e&&e.length&&(t=e.data(\"bs.collapse\"))&&t.transitioning)){var i=a.Event(\"show.bs.collapse\");if(this.$element.trigger(i),!i.isDefaultPrevented()){e&&e.length&&(l.call(e,\"hide\"),t||e.data(\"bs.collapse\",null));var o=this.dimension();this.$element.removeClass(\"collapse\").addClass(\"collapsing\")[o](0).attr(\"aria-expanded\",!0),this.$trigger.removeClass(\"collapsed\").attr(\"aria-expanded\",!0),this.transitioning=1;var n=function(){this.$element.removeClass(\"collapsing\").addClass(\"collapse in\")[o](\"\"),this.transitioning=0,this.$element.trigger(\"shown.bs.collapse\")};if(!a.support.transition)return n.call(this);var s=a.camelCase([\"scroll\",o].join(\"-\"));this.$element.one(\"bsTransitionEnd\",a.proxy(n,this)).emulateTransitionEnd(r.TRANSITION_DURATION)[o](this.$element[0][s])}}}},r.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass(\"in\")){var t=a.Event(\"hide.bs.collapse\");if(this.$element.trigger(t),!t.isDefaultPrevented()){var e=this.dimension();this.$element[e](this.$element[e]())[0].offsetHeight,this.$element.addClass(\"collapsing\").removeClass(\"collapse in\").attr(\"aria-expanded\",!1),this.$trigger.addClass(\"collapsed\").attr(\"aria-expanded\",!1),this.transitioning=1;var i=function(){this.transitioning=0,this.$element.removeClass(\"collapsing\").addClass(\"collapse\").trigger(\"hidden.bs.collapse\")};if(!a.support.transition)return i.call(this);this.$element[e](0).one(\"bsTransitionEnd\",a.proxy(i,this)).emulateTransitionEnd(r.TRANSITION_DURATION)}}},r.prototype.toggle=function(){this[this.$element.hasClass(\"in\")?\"hide\":\"show\"]()},r.prototype.getParent=function(){return a(document).find(this.options.parent).find('[data-toggle=\"collapse\"][data-parent=\"'+this.options.parent+'\"]').each(a.proxy(function(t,e){var i=a(e);this.addAriaAndCollapsedClass(n(i),i)},this)).end()},r.prototype.addAriaAndCollapsedClass=function(t,e){var i=t.hasClass(\"in\");t.attr(\"aria-expanded\",i),e.toggleClass(\"collapsed\",!i).attr(\"aria-expanded\",i)};var t=a.fn.collapse;a.fn.collapse=l,a.fn.collapse.Constructor=r,a.fn.collapse.noConflict=function(){return a.fn.collapse=t,this},a(document).on(\"click.bs.collapse.data-api\",'[data-toggle=\"collapse\"]',function(t){var e=a(this);e.attr(\"data-target\")||t.preventDefault();var i=n(e),o=i.data(\"bs.collapse\")?\"toggle\":e.data();l.call(i,o)})}(jQuery),function(a){\"use strict\";var r='[data-toggle=\"dropdown\"]',o=function(t){a(t).on(\"click.bs.dropdown\",this.toggle)};function l(t){var e=t.attr(\"data-target\");e||(e=(e=t.attr(\"href\"))&&/#[A-Za-z]/.test(e)&&e.replace(/.*(?=#[^\\s]*$)/,\"\"));var i=\"#\"!==e?a(document).find(e):null;return i&&i.length?i:t.parent()}function s(o){o&&3===o.which||(a(\".dropdown-backdrop\").remove(),a(r).each(function(){var t=a(this),e=l(t),i={relatedTarget:this};e.hasClass(\"open\")&&(o&&\"click\"==o.type&&/input|textarea/i.test(o.target.tagName)&&a.contains(e[0],o.target)||(e.trigger(o=a.Event(\"hide.bs.dropdown\",i)),o.isDefaultPrevented()||(t.attr(\"aria-expanded\",\"false\"),e.removeClass(\"open\").trigger(a.Event(\"hidden.bs.dropdown\",i)))))}))}o.VERSION=\"3.4.1\",o.prototype.toggle=function(t){var e=a(this);if(!e.is(\".disabled, :disabled\")){var i=l(e),o=i.hasClass(\"open\");if(s(),!o){\"ontouchstart\"in document.documentElement&&!i.closest(\".navbar-nav\").length&&a(document.createElement(\"div\")).addClass(\"dropdown-backdrop\").insertAfter(a(this)).on(\"click\",s);var n={relatedTarget:this};if(i.trigger(t=a.Event(\"show.bs.dropdown\",n)),t.isDefaultPrevented())return;e.trigger(\"focus\").attr(\"aria-expanded\",\"true\"),i.toggleClass(\"open\").trigger(a.Event(\"shown.bs.dropdown\",n))}return!1}},o.prototype.keydown=function(t){if(/(38|40|27|32)/.test(t.which)&&!/input|textarea/i.test(t.target.tagName)){var e=a(this);if(t.preventDefault(),t.stopPropagation(),!e.is(\".disabled, :disabled\")){var i=l(e),o=i.hasClass(\"open\");if(!o&&27!=t.which||o&&27==t.which)return 27==t.which&&i.find(r).trigger(\"focus\"),e.trigger(\"click\");var n=i.find(\".dropdown-menu li:not(.disabled):visible a\");if(n.length){var s=n.index(t.target);38==t.which&&0<s&&s--,40==t.which&&s<n.length-1&&s++,~s||(s=0),n.eq(s).trigger(\"focus\")}}}};var t=a.fn.dropdown;a.fn.dropdown=function e(i){return this.each(function(){var t=a(this),e=t.data(\"bs.dropdown\");e||t.data(\"bs.dropdown\",e=new o(this)),\"string\"==typeof i&&e[i].call(t)})},a.fn.dropdown.Constructor=o,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=t,this},a(document).on(\"click.bs.dropdown.data-api\",s).on(\"click.bs.dropdown.data-api\",\".dropdown form\",function(t){t.stopPropagation()}).on(\"click.bs.dropdown.data-api\",r,o.prototype.toggle).on(\"keydown.bs.dropdown.data-api\",r,o.prototype.keydown).on(\"keydown.bs.dropdown.data-api\",\".dropdown-menu\",o.prototype.keydown)}(jQuery),function(a){\"use strict\";var s=function(t,e){this.options=e,this.$body=a(document.body),this.$element=a(t),this.$dialog=this.$element.find(\".modal-dialog\"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.fixedContent=\".navbar-fixed-top, .navbar-fixed-bottom\",this.options.remote&&this.$element.find(\".modal-content\").load(this.options.remote,a.proxy(function(){this.$element.trigger(\"loaded.bs.modal\")},this))};function r(o,n){return this.each(function(){var t=a(this),e=t.data(\"bs.modal\"),i=a.extend({},s.DEFAULTS,t.data(),\"object\"==typeof o&&o);e||t.data(\"bs.modal\",e=new s(this,i)),\"string\"==typeof o?e[o](n):i.show&&e.show(n)})}s.VERSION=\"3.4.1\",s.TRANSITION_DURATION=300,s.BACKDROP_TRANSITION_DURATION=150,s.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},s.prototype.toggle=function(t){return this.isShown?this.hide():this.show(t)},s.prototype.show=function(i){var o=this,t=a.Event(\"show.bs.modal\",{relatedTarget:i});this.$element.trigger(t),this.isShown||t.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass(\"modal-open\"),this.escape(),this.resize(),this.$element.on(\"click.dismiss.bs.modal\",'[data-dismiss=\"modal\"]',a.proxy(this.hide,this)),this.$dialog.on(\"mousedown.dismiss.bs.modal\",function(){o.$element.one(\"mouseup.dismiss.bs.modal\",function(t){a(t.target).is(o.$element)&&(o.ignoreBackdropClick=!0)})}),this.backdrop(function(){var t=a.support.transition&&o.$element.hasClass(\"fade\");o.$element.parent().length||o.$element.appendTo(o.$body),o.$element.show().scrollTop(0),o.adjustDialog(),t&&o.$element[0].offsetWidth,o.$element.addClass(\"in\"),o.enforceFocus();var e=a.Event(\"shown.bs.modal\",{relatedTarget:i});t?o.$dialog.one(\"bsTransitionEnd\",function(){o.$element.trigger(\"focus\").trigger(e)}).emulateTransitionEnd(s.TRANSITION_DURATION):o.$element.trigger(\"focus\").trigger(e)}))},s.prototype.hide=function(t){t&&t.preventDefault(),t=a.Event(\"hide.bs.modal\"),this.$element.trigger(t),this.isShown&&!t.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off(\"focusin.bs.modal\"),this.$element.removeClass(\"in\").off(\"click.dismiss.bs.modal\").off(\"mouseup.dismiss.bs.modal\"),this.$dialog.off(\"mousedown.dismiss.bs.modal\"),a.support.transition&&this.$element.hasClass(\"fade\")?this.$element.one(\"bsTransitionEnd\",a.proxy(this.hideModal,this)).emulateTransitionEnd(s.TRANSITION_DURATION):this.hideModal())},s.prototype.enforceFocus=function(){a(document).off(\"focusin.bs.modal\").on(\"focusin.bs.modal\",a.proxy(function(t){document===t.target||this.$element[0]===t.target||this.$element.has(t.target).length||this.$element.trigger(\"focus\")},this))},s.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on(\"keydown.dismiss.bs.modal\",a.proxy(function(t){27==t.which&&this.hide()},this)):this.isShown||this.$element.off(\"keydown.dismiss.bs.modal\")},s.prototype.resize=function(){this.isShown?a(window).on(\"resize.bs.modal\",a.proxy(this.handleUpdate,this)):a(window).off(\"resize.bs.modal\")},s.prototype.hideModal=function(){var t=this;this.$element.hide(),this.backdrop(function(){t.$body.removeClass(\"modal-open\"),t.resetAdjustments(),t.resetScrollbar(),t.$element.trigger(\"hidden.bs.modal\")})},s.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},s.prototype.backdrop=function(t){var e=this,i=this.$element.hasClass(\"fade\")?\"fade\":\"\";if(this.isShown&&this.options.backdrop){var o=a.support.transition&&i;if(this.$backdrop=a(document.createElement(\"div\")).addClass(\"modal-backdrop \"+i).appendTo(this.$body),this.$element.on(\"click.dismiss.bs.modal\",a.proxy(function(t){this.ignoreBackdropClick?this.ignoreBackdropClick=!1:t.target===t.currentTarget&&(\"static\"==this.options.backdrop?this.$element[0].focus():this.hide())},this)),o&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass(\"in\"),!t)return;o?this.$backdrop.one(\"bsTransitionEnd\",t).emulateTransitionEnd(s.BACKDROP_TRANSITION_DURATION):t()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass(\"in\");var n=function(){e.removeBackdrop(),t&&t()};a.support.transition&&this.$element.hasClass(\"fade\")?this.$backdrop.one(\"bsTransitionEnd\",n).emulateTransitionEnd(s.BACKDROP_TRANSITION_DURATION):n()}else t&&t()},s.prototype.handleUpdate=function(){this.adjustDialog()},s.prototype.adjustDialog=function(){var t=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:\"\",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:\"\"})},s.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:\"\",paddingRight:\"\"})},s.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth<t,this.scrollbarWidth=this.measureScrollbar()},s.prototype.setScrollbar=function(){var t=parseInt(this.$body.css(\"padding-right\")||0,10);this.originalBodyPad=document.body.style.paddingRight||\"\";var n=this.scrollbarWidth;this.bodyIsOverflowing&&(this.$body.css(\"padding-right\",t+n),a(this.fixedContent).each(function(t,e){var i=e.style.paddingRight,o=a(e).css(\"padding-right\");a(e).data(\"padding-right\",i).css(\"padding-right\",parseFloat(o)+n+\"px\")}))},s.prototype.resetScrollbar=function(){this.$body.css(\"padding-right\",this.originalBodyPad),a(this.fixedContent).each(function(t,e){var i=a(e).data(\"padding-right\");a(e).removeData(\"padding-right\"),e.style.paddingRight=i||\"\"})},s.prototype.measureScrollbar=function(){var t=document.createElement(\"div\");t.className=\"modal-scrollbar-measure\",this.$body.append(t);var e=t.offsetWidth-t.clientWidth;return this.$body[0].removeChild(t),e};var t=a.fn.modal;a.fn.modal=r,a.fn.modal.Constructor=s,a.fn.modal.noConflict=function(){return a.fn.modal=t,this},a(document).on(\"click.bs.modal.data-api\",'[data-toggle=\"modal\"]',function(t){var e=a(this),i=e.attr(\"href\"),o=e.attr(\"data-target\")||i&&i.replace(/.*(?=#[^\\s]+$)/,\"\"),n=a(document).find(o),s=n.data(\"bs.modal\")?\"toggle\":a.extend({remote:!/#/.test(i)&&i},n.data(),e.data());e.is(\"a\")&&t.preventDefault(),n.one(\"show.bs.modal\",function(t){t.isDefaultPrevented()||n.one(\"hidden.bs.modal\",function(){e.is(\":visible\")&&e.trigger(\"focus\")})}),r.call(n,s,this)})}(jQuery),function(g){\"use strict\";var o=[\"sanitize\",\"whiteList\",\"sanitizeFn\"],a=[\"background\",\"cite\",\"href\",\"itemtype\",\"longdesc\",\"poster\",\"src\",\"xlink:href\"],t={\"*\":[\"class\",\"dir\",\"id\",\"lang\",\"role\",/^aria-[\\w-]*$/i],a:[\"target\",\"href\",\"title\",\"rel\"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:[\"src\",\"alt\",\"title\",\"width\",\"height\"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},r=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,l=/^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function u(t,e){var i=t.nodeName.toLowerCase();if(-1!==g.inArray(i,e))return-1===g.inArray(i,a)||Boolean(t.nodeValue.match(r)||t.nodeValue.match(l));for(var o=g(e).filter(function(t,e){return e instanceof RegExp}),n=0,s=o.length;n<s;n++)if(i.match(o[n]))return!0;return!1}function n(t,e,i){if(0===t.length)return t;if(i&&\"function\"==typeof i)return i(t);if(!document.implementation||!document.implementation.createHTMLDocument)return t;var o=document.implementation.createHTMLDocument(\"sanitization\");o.body.innerHTML=t;for(var n=g.map(e,function(t,e){return e}),s=g(o.body).find(\"*\"),a=0,r=s.length;a<r;a++){var l=s[a],h=l.nodeName.toLowerCase();if(-1!==g.inArray(h,n))for(var d=g.map(l.attributes,function(t){return t}),p=[].concat(e[\"*\"]||[],e[h]||[]),c=0,f=d.length;c<f;c++)u(d[c],p)||l.removeAttribute(d[c].nodeName);else l.parentNode.removeChild(l)}return o.body.innerHTML}var m=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init(\"tooltip\",t,e)};m.VERSION=\"3.4.1\",m.TRANSITION_DURATION=150,m.DEFAULTS={animation:!0,placement:\"top\",selector:!1,template:'<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',trigger:\"hover focus\",title:\"\",delay:0,html:!1,container:!1,viewport:{selector:\"body\",padding:0},sanitize:!0,sanitizeFn:null,whiteList:t},m.prototype.init=function(t,e,i){if(this.enabled=!0,this.type=t,this.$element=g(e),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&g(document).find(g.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error(\"`selector` option must be specified when initializing \"+this.type+\" on the window.document object!\");for(var o=this.options.trigger.split(\" \"),n=o.length;n--;){var s=o[n];if(\"click\"==s)this.$element.on(\"click.\"+this.type,this.options.selector,g.proxy(this.toggle,this));else if(\"manual\"!=s){var a=\"hover\"==s?\"mouseenter\":\"focusin\",r=\"hover\"==s?\"mouseleave\":\"focusout\";this.$element.on(a+\".\"+this.type,this.options.selector,g.proxy(this.enter,this)),this.$element.on(r+\".\"+this.type,this.options.selector,g.proxy(this.leave,this))}}this.options.selector?this._options=g.extend({},this.options,{trigger:\"manual\",selector:\"\"}):this.fixTitle()},m.prototype.getDefaults=function(){return m.DEFAULTS},m.prototype.getOptions=function(t){var e=this.$element.data();for(var i in e)e.hasOwnProperty(i)&&-1!==g.inArray(i,o)&&delete e[i];return(t=g.extend({},this.getDefaults(),e,t)).delay&&\"number\"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t.sanitize&&(t.template=n(t.template,t.whiteList,t.sanitizeFn)),t},m.prototype.getDelegateOptions=function(){var i={},o=this.getDefaults();return this._options&&g.each(this._options,function(t,e){o[t]!=e&&(i[t]=e)}),i},m.prototype.enter=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data(\"bs.\"+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data(\"bs.\"+this.type,e)),t instanceof g.Event&&(e.inState[\"focusin\"==t.type?\"focus\":\"hover\"]=!0),e.tip().hasClass(\"in\")||\"in\"==e.hoverState)e.hoverState=\"in\";else{if(clearTimeout(e.timeout),e.hoverState=\"in\",!e.options.delay||!e.options.delay.show)return e.show();e.timeout=setTimeout(function(){\"in\"==e.hoverState&&e.show()},e.options.delay.show)}},m.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},m.prototype.leave=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data(\"bs.\"+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data(\"bs.\"+this.type,e)),t instanceof g.Event&&(e.inState[\"focusout\"==t.type?\"focus\":\"hover\"]=!1),!e.isInStateTrue()){if(clearTimeout(e.timeout),e.hoverState=\"out\",!e.options.delay||!e.options.delay.hide)return e.hide();e.timeout=setTimeout(function(){\"out\"==e.hoverState&&e.hide()},e.options.delay.hide)}},m.prototype.show=function(){var t=g.Event(\"show.bs.\"+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var e=g.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!e)return;var i=this,o=this.tip(),n=this.getUID(this.type);this.setContent(),o.attr(\"id\",n),this.$element.attr(\"aria-describedby\",n),this.options.animation&&o.addClass(\"fade\");var s=\"function\"==typeof this.options.placement?this.options.placement.call(this,o[0],this.$element[0]):this.options.placement,a=/\\s?auto?\\s?/i,r=a.test(s);r&&(s=s.replace(a,\"\")||\"top\"),o.detach().css({top:0,left:0,display:\"block\"}).addClass(s).data(\"bs.\"+this.type,this),this.options.container?o.appendTo(g(document).find(this.options.container)):o.insertAfter(this.$element),this.$element.trigger(\"inserted.bs.\"+this.type);var l=this.getPosition(),h=o[0].offsetWidth,d=o[0].offsetHeight;if(r){var p=s,c=this.getPosition(this.$viewport);s=\"bottom\"==s&&l.bottom+d>c.bottom?\"top\":\"top\"==s&&l.top-d<c.top?\"bottom\":\"right\"==s&&l.right+h>c.width?\"left\":\"left\"==s&&l.left-h<c.left?\"right\":s,o.removeClass(p).addClass(s)}var f=this.getCalculatedOffset(s,l,h,d);this.applyPlacement(f,s);var u=function(){var t=i.hoverState;i.$element.trigger(\"shown.bs.\"+i.type),i.hoverState=null,\"out\"==t&&i.leave(i)};g.support.transition&&this.$tip.hasClass(\"fade\")?o.one(\"bsTransitionEnd\",u).emulateTransitionEnd(m.TRANSITION_DURATION):u()}},m.prototype.applyPlacement=function(t,e){var i=this.tip(),o=i[0].offsetWidth,n=i[0].offsetHeight,s=parseInt(i.css(\"margin-top\"),10),a=parseInt(i.css(\"margin-left\"),10);isNaN(s)&&(s=0),isNaN(a)&&(a=0),t.top+=s,t.left+=a,g.offset.setOffset(i[0],g.extend({using:function(t){i.css({top:Math.round(t.top),left:Math.round(t.left)})}},t),0),i.addClass(\"in\");var r=i[0].offsetWidth,l=i[0].offsetHeight;\"top\"==e&&l!=n&&(t.top=t.top+n-l);var h=this.getViewportAdjustedDelta(e,t,r,l);h.left?t.left+=h.left:t.top+=h.top;var d=/top|bottom/.test(e),p=d?2*h.left-o+r:2*h.top-n+l,c=d?\"offsetWidth\":\"offsetHeight\";i.offset(t),this.replaceArrow(p,i[0][c],d)},m.prototype.replaceArrow=function(t,e,i){this.arrow().css(i?\"left\":\"top\",50*(1-t/e)+\"%\").css(i?\"top\":\"left\",\"\")},m.prototype.setContent=function(){var t=this.tip(),e=this.getTitle();this.options.html?(this.options.sanitize&&(e=n(e,this.options.whiteList,this.options.sanitizeFn)),t.find(\".tooltip-inner\").html(e)):t.find(\".tooltip-inner\").text(e),t.removeClass(\"fade in top bottom left right\")},m.prototype.hide=function(t){var e=this,i=g(this.$tip),o=g.Event(\"hide.bs.\"+this.type);function n(){\"in\"!=e.hoverState&&i.detach(),e.$element&&e.$element.removeAttr(\"aria-describedby\").trigger(\"hidden.bs.\"+e.type),t&&t()}if(this.$element.trigger(o),!o.isDefaultPrevented())return i.removeClass(\"in\"),g.support.transition&&i.hasClass(\"fade\")?i.one(\"bsTransitionEnd\",n).emulateTransitionEnd(m.TRANSITION_DURATION):n(),this.hoverState=null,this},m.prototype.fixTitle=function(){var t=this.$element;(t.attr(\"title\")||\"string\"!=typeof t.attr(\"data-original-title\"))&&t.attr(\"data-original-title\",t.attr(\"title\")||\"\").attr(\"title\",\"\")},m.prototype.hasContent=function(){return this.getTitle()},m.prototype.getPosition=function(t){var e=(t=t||this.$element)[0],i=\"BODY\"==e.tagName,o=e.getBoundingClientRect();null==o.width&&(o=g.extend({},o,{width:o.right-o.left,height:o.bottom-o.top}));var n=window.SVGElement&&e instanceof window.SVGElement,s=i?{top:0,left:0}:n?null:t.offset(),a={scroll:i?document.documentElement.scrollTop||document.body.scrollTop:t.scrollTop()},r=i?{width:g(window).width(),height:g(window).height()}:null;return g.extend({},o,a,r,s)},m.prototype.getCalculatedOffset=function(t,e,i,o){return\"bottom\"==t?{top:e.top+e.height,left:e.left+e.width/2-i/2}:\"top\"==t?{top:e.top-o,left:e.left+e.width/2-i/2}:\"left\"==t?{top:e.top+e.height/2-o/2,left:e.left-i}:{top:e.top+e.height/2-o/2,left:e.left+e.width}},m.prototype.getViewportAdjustedDelta=function(t,e,i,o){var n={top:0,left:0};if(!this.$viewport)return n;var s=this.options.viewport&&this.options.viewport.padding||0,a=this.getPosition(this.$viewport);if(/right|left/.test(t)){var r=e.top-s-a.scroll,l=e.top+s-a.scroll+o;r<a.top?n.top=a.top-r:l>a.top+a.height&&(n.top=a.top+a.height-l)}else{var h=e.left-s,d=e.left+s+i;h<a.left?n.left=a.left-h:d>a.right&&(n.left=a.left+a.width-d)}return n},m.prototype.getTitle=function(){var t=this.$element,e=this.options;return t.attr(\"data-original-title\")||(\"function\"==typeof e.title?e.title.call(t[0]):e.title)},m.prototype.getUID=function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},m.prototype.tip=function(){if(!this.$tip&&(this.$tip=g(this.options.template),1!=this.$tip.length))throw new Error(this.type+\" `template` option must consist of exactly 1 top-level element!\");return this.$tip},m.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(\".tooltip-arrow\")},m.prototype.enable=function(){this.enabled=!0},m.prototype.disable=function(){this.enabled=!1},m.prototype.toggleEnabled=function(){this.enabled=!this.enabled},m.prototype.toggle=function(t){var e=this;t&&((e=g(t.currentTarget).data(\"bs.\"+this.type))||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data(\"bs.\"+this.type,e))),t?(e.inState.click=!e.inState.click,e.isInStateTrue()?e.enter(e):e.leave(e)):e.tip().hasClass(\"in\")?e.leave(e):e.enter(e)},m.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off(\".\"+t.type).removeData(\"bs.\"+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})},m.prototype.sanitizeHtml=function(t){return n(t,this.options.whiteList,this.options.sanitizeFn)};var e=g.fn.tooltip;g.fn.tooltip=function i(o){return this.each(function(){var t=g(this),e=t.data(\"bs.tooltip\"),i=\"object\"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data(\"bs.tooltip\",e=new m(this,i)),\"string\"==typeof o&&e[o]())})},g.fn.tooltip.Constructor=m,g.fn.tooltip.noConflict=function(){return g.fn.tooltip=e,this}}(jQuery),function(n){\"use strict\";var s=function(t,e){this.init(\"popover\",t,e)};if(!n.fn.tooltip)throw new Error(\"Popover requires tooltip.js\");s.VERSION=\"3.4.1\",s.DEFAULTS=n.extend({},n.fn.tooltip.Constructor.DEFAULTS,{placement:\"right\",trigger:\"click\",content:\"\",template:'<div class=\"popover\" role=\"tooltip\"><div class=\"arrow\"></div><h3 class=\"popover-title\"></h3><div class=\"popover-content\"></div></div>'}),((s.prototype=n.extend({},n.fn.tooltip.Constructor.prototype)).constructor=s).prototype.getDefaults=function(){return s.DEFAULTS},s.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),i=this.getContent();if(this.options.html){var o=typeof i;this.options.sanitize&&(e=this.sanitizeHtml(e),\"string\"===o&&(i=this.sanitizeHtml(i))),t.find(\".popover-title\").html(e),t.find(\".popover-content\").children().detach().end()[\"string\"===o?\"html\":\"append\"](i)}else t.find(\".popover-title\").text(e),t.find(\".popover-content\").children().detach().end().text(i);t.removeClass(\"fade top bottom left right in\"),t.find(\".popover-title\").html()||t.find(\".popover-title\").hide()},s.prototype.hasContent=function(){return this.getTitle()||this.getContent()},s.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr(\"data-content\")||(\"function\"==typeof e.content?e.content.call(t[0]):e.content)},s.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(\".arrow\")};var t=n.fn.popover;n.fn.popover=function e(o){return this.each(function(){var t=n(this),e=t.data(\"bs.popover\"),i=\"object\"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data(\"bs.popover\",e=new s(this,i)),\"string\"==typeof o&&e[o]())})},n.fn.popover.Constructor=s,n.fn.popover.noConflict=function(){return n.fn.popover=t,this}}(jQuery),function(s){\"use strict\";function n(t,e){this.$body=s(document.body),this.$scrollElement=s(t).is(document.body)?s(window):s(t),this.options=s.extend({},n.DEFAULTS,e),this.selector=(this.options.target||\"\")+\" .nav li > a\",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on(\"scroll.bs.scrollspy\",s.proxy(this.process,this)),this.refresh(),this.process()}function e(o){return this.each(function(){var t=s(this),e=t.data(\"bs.scrollspy\"),i=\"object\"==typeof o&&o;e||t.data(\"bs.scrollspy\",e=new n(this,i)),\"string\"==typeof o&&e[o]()})}n.VERSION=\"3.4.1\",n.DEFAULTS={offset:10},n.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},n.prototype.refresh=function(){var t=this,o=\"offset\",n=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),s.isWindow(this.$scrollElement[0])||(o=\"position\",n=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var t=s(this),e=t.data(\"target\")||t.attr(\"href\"),i=/^#./.test(e)&&s(e);return i&&i.length&&i.is(\":visible\")&&[[i[o]().top+n,e]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},n.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,i=this.getScrollHeight(),o=this.options.offset+i-this.$scrollElement.height(),n=this.offsets,s=this.targets,a=this.activeTarget;if(this.scrollHeight!=i&&this.refresh(),o<=e)return a!=(t=s[s.length-1])&&this.activate(t);if(a&&e<n[0])return this.activeTarget=null,this.clear();for(t=n.length;t--;)a!=s[t]&&e>=n[t]&&(n[t+1]===undefined||e<n[t+1])&&this.activate(s[t])},n.prototype.activate=function(t){this.activeTarget=t,this.clear();var e=this.selector+'[data-target=\"'+t+'\"],'+this.selector+'[href=\"'+t+'\"]',i=s(e).parents(\"li\").addClass(\"active\");i.parent(\".dropdown-menu\").length&&(i=i.closest(\"li.dropdown\").addClass(\"active\")),i.trigger(\"activate.bs.scrollspy\")},n.prototype.clear=function(){s(this.selector).parentsUntil(this.options.target,\".active\").removeClass(\"active\")};var t=s.fn.scrollspy;s.fn.scrollspy=e,s.fn.scrollspy.Constructor=n,s.fn.scrollspy.noConflict=function(){return s.fn.scrollspy=t,this},s(window).on(\"load.bs.scrollspy.data-api\",function(){s('[data-spy=\"scroll\"]').each(function(){var t=s(this);e.call(t,t.data())})})}(jQuery),function(r){\"use strict\";var a=function(t){this.element=r(t)};function e(i){return this.each(function(){var t=r(this),e=t.data(\"bs.tab\");e||t.data(\"bs.tab\",e=new a(this)),\"string\"==typeof i&&e[i]()})}a.VERSION=\"3.4.1\",a.TRANSITION_DURATION=150,a.prototype.show=function(){var t=this.element,e=t.closest(\"ul:not(.dropdown-menu)\"),i=t.data(\"target\");if(i||(i=(i=t.attr(\"href\"))&&i.replace(/.*(?=#[^\\s]*$)/,\"\")),!t.parent(\"li\").hasClass(\"active\")){var o=e.find(\".active:last a\"),n=r.Event(\"hide.bs.tab\",{relatedTarget:t[0]}),s=r.Event(\"show.bs.tab\",{relatedTarget:o[0]});if(o.trigger(n),t.trigger(s),!s.isDefaultPrevented()&&!n.isDefaultPrevented()){var a=r(document).find(i);this.activate(t.closest(\"li\"),e),this.activate(a,a.parent(),function(){o.trigger({type:\"hidden.bs.tab\",relatedTarget:t[0]}),t.trigger({type:\"shown.bs.tab\",relatedTarget:o[0]})})}}},a.prototype.activate=function(t,e,i){var o=e.find(\"> .active\"),n=i&&r.support.transition&&(o.length&&o.hasClass(\"fade\")||!!e.find(\"> .fade\").length);function s(){o.removeClass(\"active\").find(\"> .dropdown-menu > .active\").removeClass(\"active\").end().find('[data-toggle=\"tab\"]').attr(\"aria-expanded\",!1),t.addClass(\"active\").find('[data-toggle=\"tab\"]').attr(\"aria-expanded\",!0),n?(t[0].offsetWidth,t.addClass(\"in\")):t.removeClass(\"fade\"),t.parent(\".dropdown-menu\").length&&t.closest(\"li.dropdown\").addClass(\"active\").end().find('[data-toggle=\"tab\"]').attr(\"aria-expanded\",!0),i&&i()}o.length&&n?o.one(\"bsTransitionEnd\",s).emulateTransitionEnd(a.TRANSITION_DURATION):s(),o.removeClass(\"in\")};var t=r.fn.tab;r.fn.tab=e,r.fn.tab.Constructor=a,r.fn.tab.noConflict=function(){return r.fn.tab=t,this};var i=function(t){t.preventDefault(),e.call(r(this),\"show\")};r(document).on(\"click.bs.tab.data-api\",'[data-toggle=\"tab\"]',i).on(\"click.bs.tab.data-api\",'[data-toggle=\"pill\"]',i)}(jQuery),function(l){\"use strict\";var h=function(t,e){this.options=l.extend({},h.DEFAULTS,e);var i=this.options.target===h.DEFAULTS.target?l(this.options.target):l(document).find(this.options.target);this.$target=i.on(\"scroll.bs.affix.data-api\",l.proxy(this.checkPosition,this)).on(\"click.bs.affix.data-api\",l.proxy(this.checkPositionWithEventLoop,this)),this.$element=l(t),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};function i(o){return this.each(function(){var t=l(this),e=t.data(\"bs.affix\"),i=\"object\"==typeof o&&o;e||t.data(\"bs.affix\",e=new h(this,i)),\"string\"==typeof o&&e[o]()})}h.VERSION=\"3.4.1\",h.RESET=\"affix affix-top affix-bottom\",h.DEFAULTS={offset:0,target:window},h.prototype.getState=function(t,e,i,o){var n=this.$target.scrollTop(),s=this.$element.offset(),a=this.$target.height();if(null!=i&&\"top\"==this.affixed)return n<i&&\"top\";if(\"bottom\"==this.affixed)return null!=i?!(n+this.unpin<=s.top)&&\"bottom\":!(n+a<=t-o)&&\"bottom\";var r=null==this.affixed,l=r?n:s.top;return null!=i&&n<=i?\"top\":null!=o&&t-o<=l+(r?a:e)&&\"bottom\"},h.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(h.RESET).addClass(\"affix\");var t=this.$target.scrollTop(),e=this.$element.offset();return this.pinnedOffset=e.top-t},h.prototype.checkPositionWithEventLoop=function(){setTimeout(l.proxy(this.checkPosition,this),1)},h.prototype.checkPosition=function(){if(this.$element.is(\":visible\")){var t=this.$element.height(),e=this.options.offset,i=e.top,o=e.bottom,n=Math.max(l(document).height(),l(document.body).height());\"object\"!=typeof e&&(o=i=e),\"function\"==typeof i&&(i=e.top(this.$element)),\"function\"==typeof o&&(o=e.bottom(this.$element));var s=this.getState(n,t,i,o);if(this.affixed!=s){null!=this.unpin&&this.$element.css(\"top\",\"\");var a=\"affix\"+(s?\"-\"+s:\"\"),r=l.Event(a+\".bs.affix\");if(this.$element.trigger(r),r.isDefaultPrevented())return;this.affixed=s,this.unpin=\"bottom\"==s?this.getPinnedOffset():null,this.$element.removeClass(h.RESET).addClass(a).trigger(a.replace(\"affix\",\"affixed\")+\".bs.affix\")}\"bottom\"==s&&this.$element.offset({top:n-t-o})}};var t=l.fn.affix;l.fn.affix=i,l.fn.affix.Constructor=h,l.fn.affix.noConflict=function(){return l.fn.affix=t,this},l(window).on(\"load\",function(){l('[data-spy=\"affix\"]').each(function(){var t=l(this),e=t.data();e.offset=e.offset||{},null!=e.offsetBottom&&(e.offset.bottom=e.offsetBottom),null!=e.offsetTop&&(e.offset.top=e.offsetTop),i.call(t,e)})})}(jQuery);\n/*! highlight.js v9.12.0 | BSD3 License | git.io/hljslicense */\n!function(e){var t=\"object\"==typeof window&&window||\"object\"==typeof self&&self;\"undefined\"!=typeof exports?e(exports):t&&(t.hljs=e({}),\"function\"==typeof define&&define.amd&&define([],function(){return t.hljs}))}(function(e){function t(e){return e.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\")}function r(e){return e.nodeName.toLowerCase()}function a(e,t){var r=e&&e.exec(t);return r&&0===r.index}function i(e){return T.test(e)}function n(e){var t,r,a,n,o=e.className+\" \";if(o+=e.parentNode?e.parentNode.className:\"\",r=w.exec(o))return S(r[1])?r[1]:\"no-highlight\";for(o=o.split(/\\s+/),t=0,a=o.length;a>t;t++)if(n=o[t],i(n)||S(n))return n}function o(e){var t,r={},a=Array.prototype.slice.call(arguments,1);for(t in e)r[t]=e[t];return a.forEach(function(e){for(t in e)r[t]=e[t]}),r}function s(e){var t=[];return function a(e,i){for(var n=e.firstChild;n;n=n.nextSibling)3===n.nodeType?i+=n.nodeValue.length:1===n.nodeType&&(t.push({event:\"start\",offset:i,node:n}),i=a(n,i),r(n).match(/br|hr|img|input/)||t.push({event:\"stop\",offset:i,node:n}));return i}(e,0),t}function l(e,a,i){function n(){return e.length&&a.length?e[0].offset!==a[0].offset?e[0].offset<a[0].offset?e:a:\"start\"===a[0].event?e:a:e.length?e:a}function o(e){function a(e){return\" \"+e.nodeName+'=\"'+t(e.value).replace('\"',\"&quot;\")+'\"'}d+=\"<\"+r(e)+C.map.call(e.attributes,a).join(\"\")+\">\"}function s(e){d+=\"</\"+r(e)+\">\"}function l(e){(\"start\"===e.event?o:s)(e.node)}for(var c=0,d=\"\",p=[];e.length||a.length;){var m=n();if(d+=t(i.substring(c,m[0].offset)),c=m[0].offset,m===e){p.reverse().forEach(s);do l(m.splice(0,1)[0]),m=n();while(m===e&&m.length&&m[0].offset===c);p.reverse().forEach(o)}else\"start\"===m[0].event?p.push(m[0].node):p.pop(),l(m.splice(0,1)[0])}return d+t(i.substr(c))}function c(e){return e.v&&!e.cached_variants&&(e.cached_variants=e.v.map(function(t){return o(e,{v:null},t)})),e.cached_variants||e.eW&&[o(e)]||[e]}function d(e){function t(e){return e&&e.source||e}function r(r,a){return new RegExp(t(r),\"m\"+(e.cI?\"i\":\"\")+(a?\"g\":\"\"))}function a(i,n){if(!i.compiled){if(i.compiled=!0,i.k=i.k||i.bK,i.k){var o={},s=function(t,r){e.cI&&(r=r.toLowerCase()),r.split(\" \").forEach(function(e){var r=e.split(\"|\");o[r[0]]=[t,r[1]?Number(r[1]):1]})};\"string\"==typeof i.k?s(\"keyword\",i.k):x(i.k).forEach(function(e){s(e,i.k[e])}),i.k=o}i.lR=r(i.l||/\\w+/,!0),n&&(i.bK&&(i.b=\"\\\\b(\"+i.bK.split(\" \").join(\"|\")+\")\\\\b\"),i.b||(i.b=/\\B|\\b/),i.bR=r(i.b),i.e||i.eW||(i.e=/\\B|\\b/),i.e&&(i.eR=r(i.e)),i.tE=t(i.e)||\"\",i.eW&&n.tE&&(i.tE+=(i.e?\"|\":\"\")+n.tE)),i.i&&(i.iR=r(i.i)),null==i.r&&(i.r=1),i.c||(i.c=[]),i.c=Array.prototype.concat.apply([],i.c.map(function(e){return c(\"self\"===e?i:e)})),i.c.forEach(function(e){a(e,i)}),i.starts&&a(i.starts,n);var l=i.c.map(function(e){return e.bK?\"\\\\.?(\"+e.b+\")\\\\.?\":e.b}).concat([i.tE,i.i]).map(t).filter(Boolean);i.t=l.length?r(l.join(\"|\"),!0):{exec:function(){return null}}}}a(e)}function p(e,r,i,n){function o(e,t){var r,i;for(r=0,i=t.c.length;i>r;r++)if(a(t.c[r].bR,e))return t.c[r]}function s(e,t){if(a(e.eR,t)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?s(e.parent,t):void 0}function l(e,t){return!i&&a(t.iR,e)}function c(e,t){var r=v.cI?t[0].toLowerCase():t[0];return e.k.hasOwnProperty(r)&&e.k[r]}function u(e,t,r,a){var i=a?\"\":D.classPrefix,n='<span class=\"'+i,o=r?\"\":M;return n+=e+'\">',n+t+o}function b(){var e,r,a,i;if(!C.k)return t(T);for(i=\"\",r=0,C.lR.lastIndex=0,a=C.lR.exec(T);a;)i+=t(T.substring(r,a.index)),e=c(C,a),e?(w+=e[1],i+=u(e[0],t(a[0]))):i+=t(a[0]),r=C.lR.lastIndex,a=C.lR.exec(T);return i+t(T.substr(r))}function g(){var e=\"string\"==typeof C.sL;if(e&&!E[C.sL])return t(T);var r=e?p(C.sL,T,!0,x[C.sL]):m(T,C.sL.length?C.sL:void 0);return C.r>0&&(w+=r.r),e&&(x[C.sL]=r.top),u(r.language,r.value,!1,!0)}function f(){N+=null!=C.sL?g():b(),T=\"\"}function _(e){N+=e.cN?u(e.cN,\"\",!0):\"\",C=Object.create(e,{parent:{value:C}})}function h(e,t){if(T+=e,null==t)return f(),0;var r=o(t,C);if(r)return r.skip?T+=t:(r.eB&&(T+=t),f(),r.rB||r.eB||(T=t)),_(r,t),r.rB?0:t.length;var a=s(C,t);if(a){var i=C;i.skip?T+=t:(i.rE||i.eE||(T+=t),f(),i.eE&&(T=t));do C.cN&&(N+=M),C.skip||(w+=C.r),C=C.parent;while(C!==a.parent);return a.starts&&_(a.starts,\"\"),i.rE?0:t.length}if(l(t,C))throw new Error('Illegal lexeme \"'+t+'\" for mode \"'+(C.cN||\"<unnamed>\")+'\"');return T+=t,t.length||1}var v=S(e);if(!v)throw new Error('Unknown language: \"'+e+'\"');d(v);var y,C=n||v,x={},N=\"\";for(y=C;y!==v;y=y.parent)y.cN&&(N=u(y.cN,\"\",!0)+N);var T=\"\",w=0;try{for(var A,I,k=0;;){if(C.t.lastIndex=k,A=C.t.exec(r),!A)break;I=h(r.substring(k,A.index),A[0]),k=A.index+I}for(h(r.substr(k)),y=C;y.parent;y=y.parent)y.cN&&(N+=M);return{r:w,value:N,language:e,top:C}}catch(R){if(R.message&&-1!==R.message.indexOf(\"Illegal\"))return{r:0,value:t(r)};throw R}}function m(e,r){r=r||D.languages||x(E);var a={r:0,value:t(e)},i=a;return r.filter(S).forEach(function(t){var r=p(t,e,!1);r.language=t,r.r>i.r&&(i=r),r.r>a.r&&(i=a,a=r)}),i.language&&(a.second_best=i),a}function u(e){return D.tabReplace||D.useBR?e.replace(A,function(e,t){return D.useBR&&\"\\n\"===e?\"<br>\":D.tabReplace?t.replace(/\\t/g,D.tabReplace):\"\"}):e}function b(e,t,r){var a=t?N[t]:r,i=[e.trim()];return e.match(/\\bhljs\\b/)||i.push(\"hljs\"),-1===e.indexOf(a)&&i.push(a),i.join(\" \").trim()}function g(e){var t,r,a,o,c,d=n(e);i(d)||(D.useBR?(t=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"div\"),t.innerHTML=e.innerHTML.replace(/\\n/g,\"\").replace(/<br[ \\/]*>/g,\"\\n\")):t=e,c=t.textContent,a=d?p(d,c,!0):m(c),r=s(t),r.length&&(o=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"div\"),o.innerHTML=a.value,a.value=l(r,s(o),c)),a.value=u(a.value),e.innerHTML=a.value,e.className=b(e.className,d,a.language),e.result={language:a.language,re:a.r},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.r}))}function f(e){D=o(D,e)}function _(){if(!_.called){_.called=!0;var e=document.querySelectorAll(\"pre code\");C.forEach.call(e,g)}}function h(){addEventListener(\"DOMContentLoaded\",_,!1),addEventListener(\"load\",_,!1)}function v(t,r){var a=E[t]=r(e);a.aliases&&a.aliases.forEach(function(e){N[e]=t})}function y(){return x(E)}function S(e){return e=(e||\"\").toLowerCase(),E[e]||E[N[e]]}var C=[],x=Object.keys,E={},N={},T=/^(no-?highlight|plain|text)$/i,w=/\\blang(?:uage)?-([\\w-]+)\\b/i,A=/((^(<[^>]+>|\\t|)+|(?:\\n)))/gm,M=\"</span>\",D={classPrefix:\"hljs-\",tabReplace:null,useBR:!1,languages:void 0};return e.highlight=p,e.highlightAuto=m,e.fixMarkup=u,e.highlightBlock=g,e.configure=f,e.initHighlighting=_,e.initHighlightingOnLoad=h,e.registerLanguage=v,e.listLanguages=y,e.getLanguage=S,e.inherit=o,e.IR=\"[a-zA-Z]\\\\w*\",e.UIR=\"[a-zA-Z_]\\\\w*\",e.NR=\"\\\\b\\\\d+(\\\\.\\\\d+)?\",e.CNR=\"(-?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)\",e.BNR=\"\\\\b(0b[01]+)\",e.RSR=\"!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~\",e.BE={b:\"\\\\\\\\[\\\\s\\\\S]\",r:0},e.ASM={cN:\"string\",b:\"'\",e:\"'\",i:\"\\\\n\",c:[e.BE]},e.QSM={cN:\"string\",b:'\"',e:'\"',i:\"\\\\n\",c:[e.BE]},e.PWM={b:/\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b/},e.C=function(t,r,a){var i=e.inherit({cN:\"comment\",b:t,e:r,c:[]},a||{});return i.c.push(e.PWM),i.c.push({cN:\"doctag\",b:\"(?:TODO|FIXME|NOTE|BUG|XXX):\",r:0}),i},e.CLCM=e.C(\"//\",\"$\"),e.CBCM=e.C(\"/\\\\*\",\"\\\\*/\"),e.HCM=e.C(\"#\",\"$\"),e.NM={cN:\"number\",b:e.NR,r:0},e.CNM={cN:\"number\",b:e.CNR,r:0},e.BNM={cN:\"number\",b:e.BNR,r:0},e.CSSNM={cN:\"number\",b:e.NR+\"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?\",r:0},e.RM={cN:\"regexp\",b:/\\//,e:/\\/[gimuy]*/,i:/\\n/,c:[e.BE,{b:/\\[/,e:/\\]/,r:0,c:[e.BE]}]},e.TM={cN:\"title\",b:e.IR,r:0},e.UTM={cN:\"title\",b:e.UIR,r:0},e.METHOD_GUARD={b:\"\\\\.\\\\s*\"+e.UIR,r:0},e.registerLanguage(\"1c\",function(e){var t=\"[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]+\",r=\"далее \",a=\"возврат вызватьисключение выполнить для если и из или иначе иначеесли исключение каждого конецесли конецпопытки конеццикла не новый перейти перем по пока попытка прервать продолжить тогда цикл экспорт \",i=r+a,n=\"загрузитьизфайла \",o=\"вебклиент вместо внешнеесоединение клиент конецобласти мобильноеприложениеклиент мобильноеприложениесервер наклиенте наклиентенасервере наклиентенасерверебезконтекста насервере насерверебезконтекста область перед после сервер толстыйклиентобычноеприложение толстыйклиентуправляемоеприложение тонкийклиент \",s=n+o,l=\"разделительстраниц разделительстрок символтабуляции \",c=\"ansitooem oemtoansi ввестивидсубконто ввестиперечисление ввестипериод ввестиплансчетов выбранныйплансчетов датагод датамесяц датачисло заголовоксистемы значениевстроку значениеизстроки каталогиб каталогпользователя кодсимв конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца коннедели лог лог10 максимальноеколичествосубконто названиеинтерфейса названиенабораправ назначитьвид назначитьсчет найтиссылки началопериодаби началостандартногоинтервала начгода начквартала начмесяца начнедели номерднягода номерднянедели номернеделигода обработкаожидания основнойжурналрасчетов основнойплансчетов основнойязык очиститьокносообщений периодстр получитьвремята получитьдатута получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта префиксавтонумерации пропись пустоезначение разм разобратьпозициюдокумента рассчитатьрегистрына рассчитатьрегистрыпо симв создатьобъект статусвозврата стрколичествострок сформироватьпозициюдокумента счетпокоду текущеевремя типзначения типзначениястр установитьтана установитьтапо фиксшаблон шаблон \",d=\"acos asin atan base64значение base64строка cos exp log log10 pow sin sqrt tan xmlзначение xmlстрока xmlтип xmlтипзнч активноеокно безопасныйрежим безопасныйрежимразделенияданных булево ввестидату ввестизначение ввестистроку ввестичисло возможностьчтенияxml вопрос восстановитьзначение врег выгрузитьжурналрегистрации выполнитьобработкуоповещения выполнитьпроверкуправдоступа вычислить год данныеформывзначение дата день деньгода деньнедели добавитьмесяц заблокироватьданныедляредактирования заблокироватьработупользователя завершитьработусистемы загрузитьвнешнююкомпоненту закрытьсправку записатьjson записатьxml записатьдатуjson записьжурналарегистрации заполнитьзначениясвойств запроситьразрешениепользователя запуститьприложение запуститьсистему зафиксироватьтранзакцию значениевданныеформы значениевстрокувнутр значениевфайл значениезаполнено значениеизстрокивнутр значениеизфайла изxmlтипа импортмоделиxdto имякомпьютера имяпользователя инициализироватьпредопределенныеданные информацияобошибке каталогбиблиотекимобильногоустройства каталогвременныхфайлов каталогдокументов каталогпрограммы кодироватьстроку кодлокализацииинформационнойбазы кодсимвола командасистемы конецгода конецдня конецквартала конецмесяца конецминуты конецнедели конецчаса конфигурациябазыданныхизмененадинамически конфигурацияизменена копироватьданныеформы копироватьфайл краткоепредставлениеошибки лев макс местноевремя месяц мин минута монопольныйрежим найти найтинедопустимыесимволыxml найтиокнопонавигационнойссылке найтипомеченныенаудаление найтипоссылкам найтифайлы началогода началодня началоквартала началомесяца началоминуты началонедели началочаса начатьзапросразрешенияпользователя начатьзапускприложения начатькопированиефайла начатьперемещениефайла начатьподключениевнешнейкомпоненты начатьподключениерасширенияработыскриптографией начатьподключениерасширенияработысфайлами начатьпоискфайлов начатьполучениекаталогавременныхфайлов начатьполучениекаталогадокументов начатьполучениерабочегокаталогаданныхпользователя начатьполучениефайлов начатьпомещениефайла начатьпомещениефайлов начатьсозданиедвоичныхданныхизфайла начатьсозданиекаталога начатьтранзакцию начатьудалениефайлов начатьустановкувнешнейкомпоненты начатьустановкурасширенияработыскриптографией начатьустановкурасширенияработысфайлами неделягода необходимостьзавершениясоединения номерсеансаинформационнойбазы номерсоединенияинформационнойбазы нрег нстр обновитьинтерфейс обновитьнумерациюобъектов обновитьповторноиспользуемыезначения обработкапрерыванияпользователя объединитьфайлы окр описаниеошибки оповестить оповеститьобизменении отключитьобработчикзапросанастроекклиенталицензирования отключитьобработчикожидания отключитьобработчикоповещения открытьзначение открытьиндекссправки открытьсодержаниесправки открытьсправку открытьформу открытьформумодально отменитьтранзакцию очиститьжурналрегистрации очиститьнастройкипользователя очиститьсообщения параметрыдоступа перейтипонавигационнойссылке переместитьфайл подключитьвнешнююкомпоненту подключитьобработчикзапросанастроекклиенталицензирования подключитьобработчикожидания подключитьобработчикоповещения подключитьрасширениеработыскриптографией подключитьрасширениеработысфайлами подробноепредставлениеошибки показатьвводдаты показатьвводзначения показатьвводстроки показатьвводчисла показатьвопрос показатьзначение показатьинформациюобошибке показатьнакарте показатьоповещениепользователя показатьпредупреждение полноеимяпользователя получитьcomобъект получитьxmlтип получитьадреспоместоположению получитьблокировкусеансов получитьвремязавершенияспящегосеанса получитьвремязасыпанияпассивногосеанса получитьвремяожиданияблокировкиданных получитьданныевыбора получитьдополнительныйпараметрклиенталицензирования получитьдопустимыекодылокализации получитьдопустимыечасовыепояса получитьзаголовокклиентскогоприложения получитьзаголовоксистемы получитьзначенияотборажурналарегистрации получитьидентификаторконфигурации получитьизвременногохранилища получитьимявременногофайла получитьимяклиенталицензирования получитьинформациюэкрановклиента получитьиспользованиежурналарегистрации получитьиспользованиесобытияжурналарегистрации получитькраткийзаголовокприложения получитьмакетоформления получитьмаскувсефайлы получитьмаскувсефайлыклиента получитьмаскувсефайлысервера получитьместоположениепоадресу получитьминимальнуюдлинупаролейпользователей получитьнавигационнуюссылку получитьнавигационнуюссылкуинформационнойбазы получитьобновлениеконфигурациибазыданных получитьобновлениепредопределенныхданныхинформационнойбазы получитьобщиймакет получитьобщуюформу получитьокна получитьоперативнуюотметкувремени получитьотключениебезопасногорежима получитьпараметрыфункциональныхопцийинтерфейса получитьполноеимяпредопределенногозначения получитьпредставлениянавигационныхссылок получитьпроверкусложностипаролейпользователей получитьразделительпути получитьразделительпутиклиента получитьразделительпутисервера получитьсеансыинформационнойбазы получитьскоростьклиентскогосоединения получитьсоединенияинформационнойбазы получитьсообщенияпользователю получитьсоответствиеобъектаиформы получитьсоставстандартногоинтерфейсаodata получитьструктурухранениябазыданных получитьтекущийсеансинформационнойбазы получитьфайл получитьфайлы получитьформу получитьфункциональнуюопцию получитьфункциональнуюопциюинтерфейса получитьчасовойпоясинформационнойбазы пользователиос поместитьвовременноехранилище поместитьфайл поместитьфайлы прав праводоступа предопределенноезначение представлениекодалокализации представлениепериода представлениеправа представлениеприложения представлениесобытияжурналарегистрации представлениечасовогопояса предупреждение прекратитьработусистемы привилегированныйрежим продолжитьвызов прочитатьjson прочитатьxml прочитатьдатуjson пустаястрока рабочийкаталогданныхпользователя разблокироватьданныедляредактирования разделитьфайл разорватьсоединениесвнешнимисточникомданных раскодироватьстроку рольдоступна секунда сигнал символ скопироватьжурналрегистрации смещениелетнеговремени смещениестандартноговремени соединитьбуферыдвоичныхданных создатькаталог создатьфабрикуxdto сокрл сокрлп сокрп сообщить состояние сохранитьзначение сохранитьнастройкипользователя сред стрдлина стрзаканчиваетсяна стрзаменить стрнайти стрначинаетсяс строка строкасоединенияинформационнойбазы стрполучитьстроку стрразделить стрсоединить стрсравнить стрчисловхождений стрчислострок стршаблон текущаядата текущаядатасеанса текущаяуниверсальнаядата текущаяуниверсальнаядатавмиллисекундах текущийвариантинтерфейсаклиентскогоприложения текущийвариантосновногошрифтаклиентскогоприложения текущийкодлокализации текущийрежимзапуска текущийязык текущийязыксистемы тип типзнч транзакцияактивна трег удалитьданныеинформационнойбазы удалитьизвременногохранилища удалитьобъекты удалитьфайлы универсальноевремя установитьбезопасныйрежим установитьбезопасныйрежимразделенияданных установитьблокировкусеансов установитьвнешнююкомпоненту установитьвремязавершенияспящегосеанса установитьвремязасыпанияпассивногосеанса установитьвремяожиданияблокировкиданных установитьзаголовокклиентскогоприложения установитьзаголовоксистемы установитьиспользованиежурналарегистрации установитьиспользованиесобытияжурналарегистрации установитькраткийзаголовокприложения установитьминимальнуюдлинупаролейпользователей установитьмонопольныйрежим установитьнастройкиклиенталицензирования установитьобновлениепредопределенныхданныхинформационнойбазы установитьотключениебезопасногорежима установитьпараметрыфункциональныхопцийинтерфейса установитьпривилегированныйрежим установитьпроверкусложностипаролейпользователей установитьрасширениеработыскриптографией установитьрасширениеработысфайлами установитьсоединениесвнешнимисточникомданных установитьсоответствиеобъектаиформы установитьсоставстандартногоинтерфейсаodata установитьчасовойпоясинформационнойбазы установитьчасовойпояссеанса формат цел час часовойпояс часовойпояссеанса число числопрописью этоадресвременногохранилища \",p=\"wsссылки библиотекакартинок библиотекамакетовоформлениякомпоновкиданных библиотекастилей бизнеспроцессы внешниеисточникиданных внешниеобработки внешниеотчеты встроенныепокупки главныйинтерфейс главныйстиль документы доставляемыеуведомления журналыдокументов задачи информацияобинтернетсоединении использованиерабочейдаты историяработыпользователя константы критерииотбора метаданные обработки отображениерекламы отправкадоставляемыхуведомлений отчеты панельзадачос параметрзапуска параметрысеанса перечисления планывидоврасчета планывидовхарактеристик планыобмена планысчетов полнотекстовыйпоиск пользователиинформационнойбазы последовательности проверкавстроенныхпокупок рабочаядата расширенияконфигурации регистрыбухгалтерии регистрынакопления регистрырасчета регистрысведений регламентныезадания сериализаторxdto справочники средствагеопозиционирования средствакриптографии средствамультимедиа средстваотображениярекламы средствапочты средствателефонии фабрикаxdto файловыепотоки фоновыезадания хранилищанастроек хранилищевариантовотчетов хранилищенастроекданныхформ хранилищеобщихнастроек хранилищепользовательскихнастроекдинамическихсписков хранилищепользовательскихнастроекотчетов хранилищесистемныхнастроек \",m=l+c+d+p,u=\"webцвета windowsцвета windowsшрифты библиотекакартинок рамкистиля символы цветастиля шрифтыстиля \",b=\"автоматическоесохранениеданныхформывнастройках автонумерациявформе автораздвижениесерий анимациядиаграммы вариантвыравниванияэлементовизаголовков вариантуправлениявысотойтаблицы вертикальнаяпрокруткаформы вертикальноеположение вертикальноеположениеэлемента видгруппыформы виддекорацииформы виддополненияэлементаформы видизмененияданных видкнопкиформы видпереключателя видподписейкдиаграмме видполяформы видфлажка влияниеразмеранапузырекдиаграммы горизонтальноеположение горизонтальноеположениеэлемента группировкаколонок группировкаподчиненныхэлементовформы группыиэлементы действиеперетаскивания дополнительныйрежимотображения допустимыедействияперетаскивания интервалмеждуэлементамиформы использованиевывода использованиеполосыпрокрутки используемоезначениеточкибиржевойдиаграммы историявыборапривводе источникзначенийоситочекдиаграммы источникзначенияразмерапузырькадиаграммы категориягруппыкоманд максимумсерий начальноеотображениедерева начальноеотображениесписка обновлениетекстаредактирования ориентациядендрограммы ориентациядиаграммы ориентацияметокдиаграммы ориентацияметоксводнойдиаграммы ориентацияэлементаформы отображениевдиаграмме отображениевлегендедиаграммы отображениегруппыкнопок отображениезаголовкашкалыдиаграммы отображениезначенийсводнойдиаграммы отображениезначенияизмерительнойдиаграммы отображениеинтерваладиаграммыганта отображениекнопки отображениекнопкивыбора отображениеобсужденийформы отображениеобычнойгруппы отображениеотрицательныхзначенийпузырьковойдиаграммы отображениепанелипоиска отображениеподсказки отображениепредупрежденияприредактировании отображениеразметкиполосырегулирования отображениестраницформы отображениетаблицы отображениетекстазначениядиаграммыганта отображениеуправленияобычнойгруппы отображениефигурыкнопки палитрацветовдиаграммы поведениеобычнойгруппы поддержкамасштабадендрограммы поддержкамасштабадиаграммыганта поддержкамасштабасводнойдиаграммы поисквтаблицепривводе положениезаголовкаэлементаформы положениекартинкикнопкиформы положениекартинкиэлементаграфическойсхемы положениекоманднойпанелиформы положениекоманднойпанелиэлементаформы положениеопорнойточкиотрисовки положениеподписейкдиаграмме положениеподписейшкалызначенийизмерительнойдиаграммы положениесостоянияпросмотра положениестрокипоиска положениетекстасоединительнойлинии положениеуправленияпоиском положениешкалывремени порядокотображенияточекгоризонтальнойгистограммы порядоксерийвлегендедиаграммы размеркартинки расположениезаголовкашкалыдиаграммы растягиваниеповертикалидиаграммыганта режимавтоотображениясостояния режимвводастроктаблицы режимвыборанезаполненного режимвыделениядаты режимвыделениястрокитаблицы режимвыделениятаблицы режимизмененияразмера режимизменениясвязанногозначения режимиспользованиядиалогапечати режимиспользованияпараметракоманды режиммасштабированияпросмотра режимосновногоокнаклиентскогоприложения режимоткрытияокнаформы режимотображениявыделения режимотображениягеографическойсхемы режимотображениязначенийсерии режимотрисовкисеткиграфическойсхемы режимполупрозрачностидиаграммы режимпробеловдиаграммы режимразмещениянастранице режимредактированияколонки режимсглаживаниядиаграммы режимсглаживанияиндикатора режимсписказадач сквозноевыравнивание сохранениеданныхформывнастройках способзаполнениятекстазаголовкашкалыдиаграммы способопределенияограничивающегозначениядиаграммы стандартнаягруппакоманд стандартноеоформление статусоповещенияпользователя стильстрелки типаппроксимациилиниитрендадиаграммы типдиаграммы типединицышкалывремени типимпортасерийслоягеографическойсхемы типлиниигеографическойсхемы типлиниидиаграммы типмаркерагеографическойсхемы типмаркерадиаграммы типобластиоформления типорганизацииисточникаданныхгеографическойсхемы типотображениясериислоягеографическойсхемы типотображенияточечногообъектагеографическойсхемы типотображенияшкалыэлементалегендыгеографическойсхемы типпоискаобъектовгеографическойсхемы типпроекциигеографическойсхемы типразмещенияизмерений типразмещенияреквизитовизмерений типрамкиэлементауправления типсводнойдиаграммы типсвязидиаграммыганта типсоединениязначенийпосериямдиаграммы типсоединенияточекдиаграммы типсоединительнойлинии типстороныэлементаграфическойсхемы типформыотчета типшкалырадарнойдиаграммы факторлиниитрендадиаграммы фигуракнопки фигурыграфическойсхемы фиксациявтаблице форматдняшкалывремени форматкартинки ширинаподчиненныхэлементовформы \",g=\"виддвижениябухгалтерии виддвижениянакопления видпериодарегистрарасчета видсчета видточкимаршрутабизнеспроцесса использованиеагрегатарегистранакопления использованиегруппиэлементов использованиережимапроведения использованиесреза периодичностьагрегатарегистранакопления режимавтовремя режимзаписидокумента режимпроведениядокумента \",f=\"авторегистрацияизменений допустимыйномерсообщения отправкаэлементаданных получениеэлементаданных \",_=\"использованиерасшифровкитабличногодокумента ориентациястраницы положениеитоговколоноксводнойтаблицы положениеитоговстроксводнойтаблицы положениетекстаотносительнокартинки расположениезаголовкагруппировкитабличногодокумента способчтениязначенийтабличногодокумента типдвустороннейпечати типзаполненияобластитабличногодокумента типкурсоровтабличногодокумента типлиниирисункатабличногодокумента типлинииячейкитабличногодокумента типнаправленияпереходатабличногодокумента типотображениявыделениятабличногодокумента типотображениялинийсводнойтаблицы типразмещениятекстатабличногодокумента типрисункатабличногодокумента типсмещениятабличногодокумента типузоратабличногодокумента типфайлатабличногодокумента точностьпечати чередованиерасположениястраниц \",h=\"отображениевремениэлементовпланировщика \",v=\"типфайлаформатированногодокумента \",y=\"обходрезультатазапроса типзаписизапроса \",S=\"видзаполнениярасшифровкипостроителяотчета типдобавленияпредставлений типизмеренияпостроителяотчета типразмещенияитогов \",C=\"доступкфайлу режимдиалогавыборафайла режимоткрытияфайла \",x=\"типизмеренияпостроителязапроса \",E=\"видданныханализа методкластеризации типединицыинтервалавременианализаданных типзаполнениятаблицырезультатаанализаданных типиспользованиячисловыхзначенийанализаданных типисточникаданныхпоискаассоциаций типколонкианализаданныхдереворешений типколонкианализаданныхкластеризация типколонкианализаданныхобщаястатистика типколонкианализаданныхпоискассоциаций типколонкианализаданныхпоискпоследовательностей типколонкимоделипрогноза типмерырасстоянияанализаданных типотсеченияправилассоциации типполяанализаданных типстандартизациианализаданных типупорядочиванияправилассоциациианализаданных типупорядочиванияшаблоновпоследовательностейанализаданных типупрощениядереварешений \",N=\"wsнаправлениепараметра вариантxpathxs вариантзаписидатыjson вариантпростоготипаxs видгруппымоделиxs видфасетаxdto действиепостроителяdom завершенностьпростоготипаxs завершенностьсоставноготипаxs завершенностьсхемыxs запрещенныеподстановкиxs исключениягруппподстановкиxs категорияиспользованияатрибутаxs категорияограниченияидентичностиxs категорияограниченияпространствименxs методнаследованияxs модельсодержимогоxs назначениетипаxml недопустимыеподстановкиxs обработкапробельныхсимволовxs обработкасодержимогоxs ограничениезначенияxs параметрыотбораузловdom переносстрокjson позициявдокументеdom пробельныесимволыxml типатрибутаxml типзначенияjson типканоническогоxml типкомпонентыxs типпроверкиxml типрезультатаdomxpath типузлаdom типузлаxml формаxml формапредставленияxs форматдатыjson экранированиесимволовjson \",T=\"видсравнениякомпоновкиданных действиеобработкирасшифровкикомпоновкиданных направлениесортировкикомпоновкиданных расположениевложенныхэлементоврезультатакомпоновкиданных расположениеитоговкомпоновкиданных расположениегруппировкикомпоновкиданных расположениеполейгруппировкикомпоновкиданных расположениеполякомпоновкиданных расположениереквизитовкомпоновкиданных расположениересурсовкомпоновкиданных типбухгалтерскогоостаткакомпоновкиданных типвыводатекстакомпоновкиданных типгруппировкикомпоновкиданных типгруппыэлементовотборакомпоновкиданных типдополненияпериодакомпоновкиданных типзаголовкаполейкомпоновкиданных типмакетагруппировкикомпоновкиданных типмакетаобластикомпоновкиданных типостаткакомпоновкиданных типпериодакомпоновкиданных типразмещениятекстакомпоновкиданных типсвязинаборовданныхкомпоновкиданных типэлементарезультатакомпоновкиданных расположениелегендыдиаграммыкомпоновкиданных типпримененияотборакомпоновкиданных режимотображенияэлементанастройкикомпоновкиданных режимотображениянастроеккомпоновкиданных состояниеэлементанастройкикомпоновкиданных способвосстановлениянастроеккомпоновкиданных режимкомпоновкирезультата использованиепараметракомпоновкиданных автопозицияресурсовкомпоновкиданных вариантиспользованиягруппировкикомпоновкиданных расположениересурсоввдиаграммекомпоновкиданных фиксациякомпоновкиданных использованиеусловногооформлениякомпоновкиданных \",w=\"важностьинтернетпочтовогосообщения обработкатекстаинтернетпочтовогосообщения способкодированияинтернетпочтовоговложения способкодированиянеasciiсимволовинтернетпочтовогосообщения типтекстапочтовогосообщения протоколинтернетпочты статусразборапочтовогосообщения \",A=\"режимтранзакциизаписижурналарегистрации статустранзакциизаписижурналарегистрации уровеньжурналарегистрации \",M=\"расположениехранилищасертификатовкриптографии режимвключениясертификатовкриптографии режимпроверкисертификатакриптографии типхранилищасертификатовкриптографии \",D=\"кодировкаименфайловвzipфайле методсжатияzip методшифрованияzip режимвосстановленияпутейфайловzip режимобработкиподкаталоговzip режимсохраненияпутейzip уровеньсжатияzip \",I=\"звуковоеоповещение направлениепереходакстроке позициявпотоке порядокбайтов режимблокировкиданных режимуправленияблокировкойданных сервисвстроенныхпокупок состояниефоновогозадания типподписчикадоставляемыхуведомлений уровеньиспользованиязащищенногосоединенияftp \",k=\"направлениепорядкасхемызапроса типдополненияпериодамисхемызапроса типконтрольнойточкисхемызапроса типобъединениясхемызапроса типпараметрадоступнойтаблицысхемызапроса типсоединениясхемызапроса \",R=\"httpметод автоиспользованиеобщегореквизита автопрефиксномеразадачи вариантвстроенногоязыка видиерархии видрегистранакопления видтаблицывнешнегоисточникаданных записьдвиженийприпроведении заполнениепоследовательностей индексирование использованиебазыпланавидоврасчета использованиебыстроговыбора использованиеобщегореквизита использованиеподчинения использованиеполнотекстовогопоиска использованиеразделяемыхданныхобщегореквизита использованиереквизита назначениеиспользованияприложения назначениерасширенияконфигурации направлениепередачи обновлениепредопределенныхданных оперативноепроведение основноепредставлениевидарасчета основноепредставлениевидахарактеристики основноепредставлениезадачи основноепредставлениепланаобмена основноепредставлениесправочника основноепредставлениесчета перемещениеграницыприпроведении периодичностьномерабизнеспроцесса периодичностьномерадокумента периодичностьрегистрарасчета периодичностьрегистрасведений повторноеиспользованиевозвращаемыхзначений полнотекстовыйпоискпривводепостроке принадлежностьобъекта проведение разделениеаутентификацииобщегореквизита разделениеданныхобщегореквизита разделениерасширенийконфигурацииобщегореквизита режимавтонумерацииобъектов режимзаписирегистра режимиспользованиямодальности режимиспользованиясинхронныхвызововрасширенийплатформыивнешнихкомпонент режимповторногоиспользованиясеансов режимполученияданныхвыборапривводепостроке режимсовместимости режимсовместимостиинтерфейса режимуправленияблокировкойданныхпоумолчанию сериикодовпланавидовхарактеристик сериикодовпланасчетов сериикодовсправочника созданиепривводе способвыбора способпоискастрокипривводепостроке способредактирования типданныхтаблицывнешнегоисточникаданных типкодапланавидоврасчета типкодасправочника типмакета типномерабизнеспроцесса типномерадокумента типномеразадачи типформы удалениедвижений \",L=\"важностьпроблемыприменениярасширенияконфигурации вариантинтерфейсаклиентскогоприложения вариантмасштабаформклиентскогоприложения вариантосновногошрифтаклиентскогоприложения вариантстандартногопериода вариантстандартнойдатыначала видграницы видкартинки видотображенияполнотекстовогопоиска видрамки видсравнения видцвета видчисловогозначения видшрифта допустимаядлина допустимыйзнак использованиеbyteordermark использованиеметаданныхполнотекстовогопоиска источникрасширенийконфигурации клавиша кодвозвратадиалога кодировкаxbase кодировкатекста направлениепоиска направлениесортировки обновлениепредопределенныхданных обновлениеприизмененииданных отображениепанелиразделов проверказаполнения режимдиалогавопрос режимзапускаклиентскогоприложения режимокругления режимоткрытияформприложения режимполнотекстовогопоиска скоростьклиентскогосоединения состояниевнешнегоисточникаданных состояниеобновленияконфигурациибазыданных способвыборасертификатаwindows способкодированиястроки статуссообщения типвнешнейкомпоненты типплатформы типповеденияклавишиenter типэлементаинформацииовыполненииобновленияконфигурациибазыданных уровеньизоляциитранзакций хешфункция частидаты\",P=u+b+g+f+_+h+v+y+S+C+x+E+N+T+w+A+M+D+I+k+R+L,O=\"comобъект ftpсоединение httpзапрос httpсервисответ httpсоединение wsопределения wsпрокси xbase анализданных аннотацияxs блокировкаданных буфердвоичныхданных включениеxs выражениекомпоновкиданных генераторслучайныхчисел географическаясхема географическиекоординаты графическаясхема группамоделиxs данныерасшифровкикомпоновкиданных двоичныеданные дендрограмма диаграмма диаграммаганта диалогвыборафайла диалогвыборацвета диалогвыборашрифта диалограсписаниярегламентногозадания диалогредактированиястандартногопериода диапазон документdom документhtml документацияxs доставляемоеуведомление записьdom записьfastinfoset записьhtml записьjson записьxml записьzipфайла записьданных записьтекста записьузловdom запрос защищенноесоединениеopenssl значенияполейрасшифровкикомпоновкиданных извлечениетекста импортxs интернетпочта интернетпочтовоесообщение интернетпочтовыйпрофиль интернетпрокси интернетсоединение информациядляприложенияxs использованиеатрибутаxs использованиесобытияжурналарегистрации источникдоступныхнастроеккомпоновкиданных итераторузловdom картинка квалификаторыдаты квалификаторыдвоичныхданных квалификаторыстроки квалификаторычисла компоновщикмакетакомпоновкиданных компоновщикнастроеккомпоновкиданных конструктормакетаоформлениякомпоновкиданных конструкторнастроеккомпоновкиданных конструкторформатнойстроки линия макеткомпоновкиданных макетобластикомпоновкиданных макетоформлениякомпоновкиданных маскаxs менеджеркриптографии наборсхемxml настройкикомпоновкиданных настройкисериализацииjson обработкакартинок обработкарасшифровкикомпоновкиданных обходдереваdom объявлениеатрибутаxs объявлениенотацииxs объявлениеэлементаxs описаниеиспользованиясобытиядоступжурналарегистрации описаниеиспользованиясобытияотказвдоступежурналарегистрации описаниеобработкирасшифровкикомпоновкиданных описаниепередаваемогофайла описаниетипов определениегруппыатрибутовxs определениегруппымоделиxs определениеограниченияидентичностиxs определениепростоготипаxs определениесоставноготипаxs определениетипадокументаdom определенияxpathxs отборкомпоновкиданных пакетотображаемыхдокументов параметрвыбора параметркомпоновкиданных параметрызаписиjson параметрызаписиxml параметрычтенияxml переопределениеxs планировщик полеанализаданных полекомпоновкиданных построительdom построительзапроса построительотчета построительотчетаанализаданных построительсхемxml поток потоквпамяти почта почтовоесообщение преобразованиеxsl преобразованиекканоническомуxml процессорвыводарезультатакомпоновкиданныхвколлекциюзначений процессорвыводарезультатакомпоновкиданныхвтабличныйдокумент процессоркомпоновкиданных разыменовательпространствименdom рамка расписаниерегламентногозадания расширенноеимяxml результатчтенияданных своднаядиаграмма связьпараметравыбора связьпотипу связьпотипукомпоновкиданных сериализаторxdto сертификатклиентаwindows сертификатклиентафайл сертификаткриптографии сертификатыудостоверяющихцентровwindows сертификатыудостоверяющихцентровфайл сжатиеданных системнаяинформация сообщениепользователю сочетаниеклавиш сравнениезначений стандартнаядатаначала стандартныйпериод схемаxml схемакомпоновкиданных табличныйдокумент текстовыйдокумент тестируемоеприложение типданныхxml уникальныйидентификатор фабрикаxdto файл файловыйпоток фасетдлиныxs фасетколичестваразрядовдробнойчастиxs фасетмаксимальноговключающегозначенияxs фасетмаксимальногоисключающегозначенияxs фасетмаксимальнойдлиныxs фасетминимальноговключающегозначенияxs фасетминимальногоисключающегозначенияxs фасетминимальнойдлиныxs фасетобразцаxs фасетобщегоколичестваразрядовxs фасетперечисленияxs фасетпробельныхсимволовxs фильтрузловdom форматированнаястрока форматированныйдокумент фрагментxs хешированиеданных хранилищезначения цвет чтениеfastinfoset чтениеhtml чтениеjson чтениеxml чтениеzipфайла чтениеданных чтениетекста чтениеузловdom шрифт элементрезультатакомпоновкиданных \",F=\"comsafearray деревозначений массив соответствие списокзначений структура таблицазначений фиксированнаяструктура фиксированноесоответствие фиксированныймассив \",B=O+F,G=\"null истина ложь неопределено\",q=e.inherit(e.NM),U={\ncN:\"string\",b:'\"|\\\\|',e:'\"|$',c:[{b:'\"\"'}]},z={b:\"'\",e:\"'\",eB:!0,eE:!0,c:[{cN:\"number\",b:\"\\\\d{4}([\\\\.\\\\\\\\/:-]?\\\\d{2}){0,5}\"}]},$=e.inherit(e.CLCM),V={cN:\"meta\",l:t,b:\"#|&\",e:\"$\",k:{\"meta-keyword\":i+s},c:[$]},W={cN:\"symbol\",b:\"~\",e:\";|:\",eE:!0},H={cN:\"function\",l:t,v:[{b:\"процедура|функция\",e:\"\\\\)\",k:\"процедура функция\"},{b:\"конецпроцедуры|конецфункции\",k:\"конецпроцедуры конецфункции\"}],c:[{b:\"\\\\(\",e:\"\\\\)\",endsParent:!0,c:[{cN:\"params\",l:t,b:t,e:\",\",eE:!0,eW:!0,k:{keyword:\"знач\",literal:G},c:[q,U,z]},$]},e.inherit(e.TM,{b:t})]};return{cI:!0,l:t,k:{keyword:i,built_in:m,\"class\":P,type:B,literal:G},c:[V,H,$,W,q,U,z]}}),e.registerLanguage(\"abnf\",function(e){var t={ruleDeclaration:\"^[a-zA-Z][a-zA-Z0-9-]*\",unexpectedChars:\"[!@#$^&',?+~`|:]\"},r=[\"ALPHA\",\"BIT\",\"CHAR\",\"CR\",\"CRLF\",\"CTL\",\"DIGIT\",\"DQUOTE\",\"HEXDIG\",\"HTAB\",\"LF\",\"LWSP\",\"OCTET\",\"SP\",\"VCHAR\",\"WSP\"],a=e.C(\";\",\"$\"),i={cN:\"symbol\",b:/%b[0-1]+(-[0-1]+|(\\.[0-1]+)+){0,1}/},n={cN:\"symbol\",b:/%d[0-9]+(-[0-9]+|(\\.[0-9]+)+){0,1}/},o={cN:\"symbol\",b:/%x[0-9A-F]+(-[0-9A-F]+|(\\.[0-9A-F]+)+){0,1}/},s={cN:\"symbol\",b:/%[si]/},l={b:t.ruleDeclaration+\"\\\\s*=\",rB:!0,e:/=/,r:0,c:[{cN:\"attribute\",b:t.ruleDeclaration}]};return{i:t.unexpectedChars,k:r.join(\" \"),c:[l,a,i,n,o,s,e.QSM,e.NM]}}),e.registerLanguage(\"accesslog\",function(e){return{c:[{cN:\"number\",b:\"\\\\b\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}(:\\\\d{1,5})?\\\\b\"},{cN:\"number\",b:\"\\\\b\\\\d+\\\\b\",r:0},{cN:\"string\",b:'\"(GET|POST|HEAD|PUT|DELETE|CONNECT|OPTIONS|PATCH|TRACE)',e:'\"',k:\"GET POST HEAD PUT DELETE CONNECT OPTIONS PATCH TRACE\",i:\"\\\\n\",r:10},{cN:\"string\",b:/\\[/,e:/\\]/,i:\"\\\\n\"},{cN:\"string\",b:'\"',e:'\"',i:\"\\\\n\"}]}}),e.registerLanguage(\"actionscript\",function(e){var t=\"[a-zA-Z_$][a-zA-Z0-9_$]*\",r=\"([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)\",a={cN:\"rest_arg\",b:\"[.]{3}\",e:t,r:10};return{aliases:[\"as\"],k:{keyword:\"as break case catch class const continue default delete do dynamic each else extends final finally for function get if implements import in include instanceof interface internal is namespace native new override package private protected public return set static super switch this throw try typeof use var void while with\",literal:\"true false null undefined\"},c:[e.ASM,e.QSM,e.CLCM,e.CBCM,e.CNM,{cN:\"class\",bK:\"package\",e:\"{\",c:[e.TM]},{cN:\"class\",bK:\"class interface\",e:\"{\",eE:!0,c:[{bK:\"extends implements\"},e.TM]},{cN:\"meta\",bK:\"import include\",e:\";\",k:{\"meta-keyword\":\"import include\"}},{cN:\"function\",bK:\"function\",e:\"[{;]\",eE:!0,i:\"\\\\S\",c:[e.TM,{cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",c:[e.ASM,e.QSM,e.CLCM,e.CBCM,a]},{b:\":\\\\s*\"+r}]},e.METHOD_GUARD],i:/#/}}),e.registerLanguage(\"ada\",function(e){var t=\"\\\\d(_|\\\\d)*\",r=\"[eE][-+]?\"+t,a=t+\"(\\\\.\"+t+\")?(\"+r+\")?\",i=\"\\\\w+\",n=t+\"#\"+i+\"(\\\\.\"+i+\")?#(\"+r+\")?\",o=\"\\\\b(\"+n+\"|\"+a+\")\",s=\"[A-Za-z](_?[A-Za-z0-9.])*\",l=\"[]{}%#'\\\"\",c=e.C(\"--\",\"$\"),d={b:\"\\\\s+:\\\\s+\",e:\"\\\\s*(:=|;|\\\\)|=>|$)\",i:l,c:[{bK:\"loop for declare others\",endsParent:!0},{cN:\"keyword\",bK:\"not null constant access function procedure in out aliased exception\"},{cN:\"type\",b:s,endsParent:!0,r:0}]};return{cI:!0,k:{keyword:\"abort else new return abs elsif not reverse abstract end accept entry select access exception of separate aliased exit or some all others subtype and for out synchronized array function overriding at tagged generic package task begin goto pragma terminate body private then if procedure type case in protected constant interface is raise use declare range delay limited record when delta loop rem while digits renames with do mod requeue xor\",literal:\"True False\"},c:[c,{cN:\"string\",b:/\"/,e:/\"/,c:[{b:/\"\"/,r:0}]},{cN:\"string\",b:/'.'/},{cN:\"number\",b:o,r:0},{cN:\"symbol\",b:\"'\"+s},{cN:\"title\",b:\"(\\\\bwith\\\\s+)?(\\\\bprivate\\\\s+)?\\\\bpackage\\\\s+(\\\\bbody\\\\s+)?\",e:\"(is|$)\",k:\"package body\",eB:!0,eE:!0,i:l},{b:\"(\\\\b(with|overriding)\\\\s+)?\\\\b(function|procedure)\\\\s+\",e:\"(\\\\bis|\\\\bwith|\\\\brenames|\\\\)\\\\s*;)\",k:\"overriding function procedure with is renames return\",rB:!0,c:[c,{cN:\"title\",b:\"(\\\\bwith\\\\s+)?\\\\b(function|procedure)\\\\s+\",e:\"(\\\\(|\\\\s+|$)\",eB:!0,eE:!0,i:l},d,{cN:\"type\",b:\"\\\\breturn\\\\s+\",e:\"(\\\\s+|;|$)\",k:\"return\",eB:!0,eE:!0,endsParent:!0,i:l}]},{cN:\"type\",b:\"\\\\b(sub)?type\\\\s+\",e:\"\\\\s+\",k:\"type\",eB:!0,i:l},d]}}),e.registerLanguage(\"apache\",function(e){var t={cN:\"number\",b:\"[\\\\$%]\\\\d+\"};return{aliases:[\"apacheconf\"],cI:!0,c:[e.HCM,{cN:\"section\",b:\"</?\",e:\">\"},{cN:\"attribute\",b:/\\w+/,r:0,k:{nomarkup:\"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername\"},starts:{e:/$/,r:0,k:{literal:\"on off all\"},c:[{cN:\"meta\",b:\"\\\\s\\\\[\",e:\"\\\\]$\"},{cN:\"variable\",b:\"[\\\\$%]\\\\{\",e:\"\\\\}\",c:[\"self\",t]},t,e.QSM]}}],i:/\\S/}}),e.registerLanguage(\"applescript\",function(e){var t=e.inherit(e.QSM,{i:\"\"}),r={cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",c:[\"self\",e.CNM,t]},a=e.C(\"--\",\"$\"),i=e.C(\"\\\\(\\\\*\",\"\\\\*\\\\)\",{c:[\"self\",a]}),n=[a,i,e.HCM];return{aliases:[\"osascript\"],k:{keyword:\"about above after against and around as at back before beginning behind below beneath beside between but by considering contain contains continue copy div does eighth else end equal equals error every exit fifth first for fourth from front get given global if ignoring in into is it its last local me middle mod my ninth not of on onto or over prop property put ref reference repeat returning script second set seventh since sixth some tell tenth that the|0 then third through thru timeout times to transaction try until where while whose with without\",literal:\"AppleScript false linefeed return pi quote result space tab true\",built_in:\"alias application boolean class constant date file integer list number real record string text activate beep count delay launch log offset read round run say summarize write character characters contents day frontmost id item length month name paragraph paragraphs rest reverse running time version weekday word words year\"},c:[t,e.CNM,{cN:\"built_in\",b:\"\\\\b(clipboard info|the clipboard|info for|list (disks|folder)|mount volume|path to|(close|open for) access|(get|set) eof|current date|do shell script|get volume settings|random number|set volume|system attribute|system info|time to GMT|(load|run|store) script|scripting components|ASCII (character|number)|localized string|choose (application|color|file|file name|folder|from list|remote application|URL)|display (alert|dialog))\\\\b|^\\\\s*return\\\\b\"},{cN:\"literal\",b:\"\\\\b(text item delimiters|current application|missing value)\\\\b\"},{cN:\"keyword\",b:\"\\\\b(apart from|aside from|instead of|out of|greater than|isn't|(doesn't|does not) (equal|come before|come after|contain)|(greater|less) than( or equal)?|(starts?|ends|begins?) with|contained by|comes (before|after)|a (ref|reference)|POSIX file|POSIX path|(date|time) string|quoted form)\\\\b\"},{bK:\"on\",i:\"[${=;\\\\n]\",c:[e.UTM,r]}].concat(n),i:\"//|->|=>|\\\\[\\\\[\"}}),e.registerLanguage(\"cpp\",function(e){var t={cN:\"keyword\",b:\"\\\\b[a-z\\\\d_]*_t\\\\b\"},r={cN:\"string\",v:[{b:'(u8?|U)?L?\"',e:'\"',i:\"\\\\n\",c:[e.BE]},{b:'(u8?|U)?R\"',e:'\"',c:[e.BE]},{b:\"'\\\\\\\\?.\",e:\"'\",i:\".\"}]},a={cN:\"number\",v:[{b:\"\\\\b(0b[01']+)\"},{b:\"(-?)\\\\b([\\\\d']+(\\\\.[\\\\d']*)?|\\\\.[\\\\d']+)(u|U|l|L|ul|UL|f|F|b|B)\"},{b:\"(-?)(\\\\b0[xX][a-fA-F0-9']+|(\\\\b[\\\\d']+(\\\\.[\\\\d']*)?|\\\\.[\\\\d']+)([eE][-+]?[\\\\d']+)?)\"}],r:0},i={cN:\"meta\",b:/#\\s*[a-z]+\\b/,e:/$/,k:{\"meta-keyword\":\"if else elif endif define undef warning error line pragma ifdef ifndef include\"},c:[{b:/\\\\\\n/,r:0},e.inherit(r,{cN:\"meta-string\"}),{cN:\"meta-string\",b:/<[^\\n>]*>/,e:/$/,i:\"\\\\n\"},e.CLCM,e.CBCM]},n=e.IR+\"\\\\s*\\\\(\",o={keyword:\"int float while private char catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and or not\",built_in:\"std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr\",literal:\"true false nullptr NULL\"},s=[t,e.CLCM,e.CBCM,a,r];return{aliases:[\"c\",\"cc\",\"h\",\"c++\",\"h++\",\"hpp\"],k:o,i:\"</\",c:s.concat([i,{b:\"\\\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\\\s*<\",e:\">\",k:o,c:[\"self\",t]},{b:e.IR+\"::\",k:o},{v:[{b:/=/,e:/;/},{b:/\\(/,e:/\\)/},{bK:\"new throw return else\",e:/;/}],k:o,c:s.concat([{b:/\\(/,e:/\\)/,k:o,c:s.concat([\"self\"]),r:0}]),r:0},{cN:\"function\",b:\"(\"+e.IR+\"[\\\\*&\\\\s]+)+\"+n,rB:!0,e:/[{;=]/,eE:!0,k:o,i:/[^\\w\\s\\*&]/,c:[{b:n,rB:!0,c:[e.TM],r:0},{cN:\"params\",b:/\\(/,e:/\\)/,k:o,r:0,c:[e.CLCM,e.CBCM,r,a,t]},e.CLCM,e.CBCM,i]},{cN:\"class\",bK:\"class struct\",e:/[{;:]/,c:[{b:/</,e:/>/,c:[\"self\"]},e.TM]}]),exports:{preprocessor:i,strings:r,k:o}}}),e.registerLanguage(\"arduino\",function(e){var t=e.getLanguage(\"cpp\").exports;return{k:{keyword:\"boolean byte word string String array \"+t.k.keyword,built_in:\"setup loop while catch for if do goto try switch case else default break continue return KeyboardController MouseController SoftwareSerial EthernetServer EthernetClient LiquidCrystal RobotControl GSMVoiceCall EthernetUDP EsploraTFT HttpClient RobotMotor WiFiClient GSMScanner FileSystem Scheduler GSMServer YunClient YunServer IPAddress GSMClient GSMModem Keyboard Ethernet Console GSMBand Esplora Stepper Process WiFiUDP GSM_SMS Mailbox USBHost Firmata PImage Client Server GSMPIN FileIO Bridge Serial EEPROM Stream Mouse Audio Servo File Task GPRS WiFi Wire TFT GSM SPI SD runShellCommandAsynchronously analogWriteResolution retrieveCallingNumber printFirmwareVersion analogReadResolution sendDigitalPortPair noListenOnLocalhost readJoystickButton setFirmwareVersion readJoystickSwitch scrollDisplayRight getVoiceCallStatus scrollDisplayLeft writeMicroseconds delayMicroseconds beginTransmission getSignalStrength runAsynchronously getAsynchronously listenOnLocalhost getCurrentCarrier readAccelerometer messageAvailable sendDigitalPorts lineFollowConfig countryNameWrite runShellCommand readStringUntil rewindDirectory readTemperature setClockDivider readLightSensor endTransmission analogReference detachInterrupt countryNameRead attachInterrupt encryptionType readBytesUntil robotNameWrite readMicrophone robotNameRead cityNameWrite userNameWrite readJoystickY readJoystickX mouseReleased openNextFile scanNetworks noInterrupts digitalWrite beginSpeaker mousePressed isActionDone mouseDragged displayLogos noAutoscroll addParameter remoteNumber getModifiers keyboardRead userNameRead waitContinue processInput parseCommand printVersion readNetworks writeMessage blinkVersion cityNameRead readMessage setDataMode parsePacket isListening setBitOrder beginPacket isDirectory motorsWrite drawCompass digitalRead clearScreen serialEvent rightToLeft setTextSize leftToRight requestFrom keyReleased compassRead analogWrite interrupts WiFiServer disconnect playMelody parseFloat autoscroll getPINUsed setPINUsed setTimeout sendAnalog readSlider analogRead beginWrite createChar motorsStop keyPressed tempoWrite readButton subnetMask debugPrint macAddress writeGreen randomSeed attachGPRS readString sendString remotePort releaseAll mouseMoved background getXChange getYChange answerCall getResult voiceCall endPacket constrain getSocket writeJSON getButton available connected findUntil readBytes exitValue readGreen writeBlue startLoop IPAddress isPressed sendSysex pauseMode gatewayIP setCursor getOemKey tuneWrite noDisplay loadImage switchPIN onRequest onReceive changePIN playFile noBuffer parseInt overflow checkPIN knobRead beginTFT bitClear updateIR bitWrite position writeRGB highByte writeRed setSpeed readBlue noStroke remoteIP transfer shutdown hangCall beginSMS endWrite attached maintain noCursor checkReg checkPUK shiftOut isValid shiftIn pulseIn connect println localIP pinMode getIMEI display noBlink process getBand running beginSD drawBMP lowByte setBand release bitRead prepare pointTo readRed setMode noFill remove listen stroke detach attach noTone exists buffer height bitSet circle config cursor random IRread setDNS endSMS getKey micros millis begin print write ready flush width isPIN blink clear press mkdir rmdir close point yield image BSSID click delay read text move peek beep rect line open seek fill size turn stop home find step tone sqrt RSSI SSID end bit tan cos sin pow map abs max min get run put\",literal:\"DIGITAL_MESSAGE FIRMATA_STRING ANALOG_MESSAGE REPORT_DIGITAL REPORT_ANALOG INPUT_PULLUP SET_PIN_MODE INTERNAL2V56 SYSTEM_RESET LED_BUILTIN INTERNAL1V1 SYSEX_START INTERNAL EXTERNAL DEFAULT OUTPUT INPUT HIGH LOW\"},c:[t.preprocessor,e.CLCM,e.CBCM,e.ASM,e.QSM,e.CNM]}}),e.registerLanguage(\"armasm\",function(e){return{cI:!0,aliases:[\"arm\"],l:\"\\\\.?\"+e.IR,k:{meta:\".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND \",built_in:\"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @\"},c:[{cN:\"keyword\",b:\"\\\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?\",e:\"\\\\s\"},e.C(\"[;@]\",\"$\",{r:0}),e.CBCM,e.QSM,{cN:\"string\",b:\"'\",e:\"[^\\\\\\\\]'\",r:0},{cN:\"title\",b:\"\\\\|\",e:\"\\\\|\",i:\"\\\\n\",r:0},{cN:\"number\",v:[{b:\"[#$=]?0x[0-9a-f]+\"},{b:\"[#$=]?0b[01]+\"},{b:\"[#$=]\\\\d+\"},{b:\"\\\\b\\\\d+\"}],r:0},{cN:\"symbol\",v:[{b:\"^[a-z_\\\\.\\\\$][a-z0-9_\\\\.\\\\$]+\"},{b:\"^\\\\s*[a-z_\\\\.\\\\$][a-z0-9_\\\\.\\\\$]+:\"},{b:\"[=#]\\\\w+\"}],r:0}]}}),e.registerLanguage(\"xml\",function(e){var t=\"[A-Za-z0-9\\\\._:-]+\",r={eW:!0,i:/</,r:0,c:[{cN:\"attr\",b:t,r:0},{b:/=\\s*/,r:0,c:[{cN:\"string\",endsParent:!0,v:[{b:/\"/,e:/\"/},{b:/'/,e:/'/},{b:/[^\\s\"'=<>`]+/}]}]}]};return{aliases:[\"html\",\"xhtml\",\"rss\",\"atom\",\"xjb\",\"xsd\",\"xsl\",\"plist\"],cI:!0,c:[{cN:\"meta\",b:\"<!DOCTYPE\",e:\">\",r:10,c:[{b:\"\\\\[\",e:\"\\\\]\"}]},e.C(\"<!--\",\"-->\",{r:10}),{b:\"<\\\\!\\\\[CDATA\\\\[\",e:\"\\\\]\\\\]>\",r:10},{b:/<\\?(php)?/,e:/\\?>/,sL:\"php\",c:[{b:\"/\\\\*\",e:\"\\\\*/\",skip:!0}]},{cN:\"tag\",b:\"<style(?=\\\\s|>|$)\",e:\">\",k:{name:\"style\"},c:[r],starts:{e:\"</style>\",rE:!0,sL:[\"css\",\"xml\"]}},{cN:\"tag\",b:\"<script(?=\\\\s|>|$)\",e:\">\",k:{name:\"script\"},c:[r],starts:{e:\"</script>\",rE:!0,sL:[\"actionscript\",\"javascript\",\"handlebars\",\"xml\"]}},{cN:\"meta\",v:[{b:/<\\?xml/,e:/\\?>/,r:10},{b:/<\\?\\w+/,e:/\\?>/}]},{cN:\"tag\",b:\"</?\",e:\"/?>\",c:[{cN:\"name\",b:/[^\\/><\\s]+/,r:0},r]}]}}),e.registerLanguage(\"asciidoc\",function(e){return{aliases:[\"adoc\"],c:[e.C(\"^/{4,}\\\\n\",\"\\\\n/{4,}$\",{r:10}),e.C(\"^//\",\"$\",{r:0}),{cN:\"title\",b:\"^\\\\.\\\\w.*$\"},{b:\"^[=\\\\*]{4,}\\\\n\",e:\"\\\\n^[=\\\\*]{4,}$\",r:10},{cN:\"section\",r:10,v:[{b:\"^(={1,5}) .+?( \\\\1)?$\"},{b:\"^[^\\\\[\\\\]\\\\n]+?\\\\n[=\\\\-~\\\\^\\\\+]{2,}$\"}]},{cN:\"meta\",b:\"^:.+?:\",e:\"\\\\s\",eE:!0,r:10},{cN:\"meta\",b:\"^\\\\[.+?\\\\]$\",r:0},{cN:\"quote\",b:\"^_{4,}\\\\n\",e:\"\\\\n_{4,}$\",r:10},{cN:\"code\",b:\"^[\\\\-\\\\.]{4,}\\\\n\",e:\"\\\\n[\\\\-\\\\.]{4,}$\",r:10},{b:\"^\\\\+{4,}\\\\n\",e:\"\\\\n\\\\+{4,}$\",c:[{b:\"<\",e:\">\",sL:\"xml\",r:0}],r:10},{cN:\"bullet\",b:\"^(\\\\*+|\\\\-+|\\\\.+|[^\\\\n]+?::)\\\\s+\"},{cN:\"symbol\",b:\"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\\\s+\",r:10},{cN:\"strong\",b:\"\\\\B\\\\*(?![\\\\*\\\\s])\",e:\"(\\\\n{2}|\\\\*)\",c:[{b:\"\\\\\\\\*\\\\w\",r:0}]},{cN:\"emphasis\",b:\"\\\\B'(?!['\\\\s])\",e:\"(\\\\n{2}|')\",c:[{b:\"\\\\\\\\'\\\\w\",r:0}],r:0},{cN:\"emphasis\",b:\"_(?![_\\\\s])\",e:\"(\\\\n{2}|_)\",r:0},{cN:\"string\",v:[{b:\"``.+?''\"},{b:\"`.+?'\"}]},{cN:\"code\",b:\"(`.+?`|\\\\+.+?\\\\+)\",r:0},{cN:\"code\",b:\"^[ \\\\t]\",e:\"$\",r:0},{b:\"^'{3,}[ \\\\t]*$\",r:10},{b:\"(link:)?(http|https|ftp|file|irc|image:?):\\\\S+\\\\[.*?\\\\]\",rB:!0,c:[{b:\"(link|image:?):\",r:0},{cN:\"link\",b:\"\\\\w\",e:\"[^\\\\[]+\",r:0},{cN:\"string\",b:\"\\\\[\",e:\"\\\\]\",eB:!0,eE:!0,r:0}],r:10}]}}),e.registerLanguage(\"aspectj\",function(e){var t=\"false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else extends implements break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws privileged aspectOf adviceexecution proceed cflowbelow cflow initialization preinitialization staticinitialization withincode target within execution getWithinTypeName handler thisJoinPoint thisJoinPointStaticPart thisEnclosingJoinPointStaticPart declare parents warning error soft precedence thisAspectInstance\",r=\"get set args call\";return{k:t,i:/<\\/|#/,c:[e.C(\"/\\\\*\\\\*\",\"\\\\*/\",{r:0,c:[{b:/\\w+@/,r:0},{cN:\"doctag\",b:\"@[A-Za-z]+\"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:\"class\",bK:\"aspect\",e:/[{;=]/,eE:!0,i:/[:;\"\\[\\]]/,c:[{bK:\"extends implements pertypewithin perthis pertarget percflowbelow percflow issingleton\"},e.UTM,{b:/\\([^\\)]*/,e:/[)]+/,k:t+\" \"+r,eE:!1}]},{cN:\"class\",bK:\"class interface\",e:/[{;=]/,eE:!0,r:0,k:\"class interface\",i:/[:\"\\[\\]]/,c:[{bK:\"extends implements\"},e.UTM]},{bK:\"pointcut after before around throwing returning\",e:/[)]/,eE:!1,i:/[\"\\[\\]]/,c:[{b:e.UIR+\"\\\\s*\\\\(\",rB:!0,c:[e.UTM]}]},{b:/[:]/,rB:!0,e:/[{;]/,r:0,eE:!1,k:t,i:/[\"\\[\\]]/,c:[{b:e.UIR+\"\\\\s*\\\\(\",k:t+\" \"+r,r:0},e.QSM]},{bK:\"new throw\",r:0},{cN:\"function\",b:/\\w+ +\\w+(\\.)?\\w+\\s*\\([^\\)]*\\)\\s*((throws)[\\w\\s,]+)?[\\{;]/,rB:!0,e:/[{;=]/,k:t,eE:!0,c:[{b:e.UIR+\"\\\\s*\\\\(\",rB:!0,r:0,c:[e.UTM]},{cN:\"params\",b:/\\(/,e:/\\)/,r:0,k:t,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},e.CNM,{cN:\"meta\",b:\"@[A-Za-z]+\"}]}}),e.registerLanguage(\"autohotkey\",function(e){var t={b:\"`[\\\\s\\\\S]\"};return{cI:!0,aliases:[\"ahk\"],k:{keyword:\"Break Continue Critical Exit ExitApp Gosub Goto New OnExit Pause return SetBatchLines SetTimer Suspend Thread Throw Until ahk_id ahk_class ahk_pid ahk_exe ahk_group\",literal:\"A|0 true false NOT AND OR\",built_in:\"ComSpec Clipboard ClipboardAll ErrorLevel\"},c:[{cN:\"built_in\",b:\"A_[a-zA-Z0-9]+\"},t,e.inherit(e.QSM,{c:[t]}),e.C(\";\",\"$\",{r:0}),e.CBCM,{cN:\"number\",b:e.NR,r:0},{cN:\"subst\",b:\"%(?=[a-zA-Z0-9#_$@])\",e:\"%\",i:\"[^a-zA-Z0-9#_$@]\"},{cN:\"built_in\",b:\"^\\\\s*\\\\w+\\\\s*,\"},{cN:\"meta\",b:\"^\\\\s*#w+\",e:\"$\",r:0},{cN:\"symbol\",c:[t],v:[{b:'^[^\\\\n\";]+::(?!=)'},{b:'^[^\\\\n\";]+:(?!=)',r:0}]},{b:\",\\\\s*,\"}]}}),e.registerLanguage(\"autoit\",function(e){var t=\"ByRef Case Const ContinueCase ContinueLoop Default Dim Do Else ElseIf EndFunc EndIf EndSelect EndSwitch EndWith Enum Exit ExitLoop For Func Global If In Local Next ReDim Return Select Static Step Switch Then To Until Volatile WEnd While With\",r=\"True False And Null Not Or\",a=\"Abs ACos AdlibRegister AdlibUnRegister Asc AscW ASin Assign ATan AutoItSetOption AutoItWinGetTitle AutoItWinSetTitle Beep Binary BinaryLen BinaryMid BinaryToString BitAND BitNOT BitOR BitRotate BitShift BitXOR BlockInput Break Call CDTray Ceiling Chr ChrW ClipGet ClipPut ConsoleRead ConsoleWrite ConsoleWriteError ControlClick ControlCommand ControlDisable ControlEnable ControlFocus ControlGetFocus ControlGetHandle ControlGetPos ControlGetText ControlHide ControlListView ControlMove ControlSend ControlSetText ControlShow ControlTreeView Cos Dec DirCopy DirCreate DirGetSize DirMove DirRemove DllCall DllCallAddress DllCallbackFree DllCallbackGetPtr DllCallbackRegister DllClose DllOpen DllStructCreate DllStructGetData DllStructGetPtr DllStructGetSize DllStructSetData DriveGetDrive DriveGetFileSystem DriveGetLabel DriveGetSerial DriveGetType DriveMapAdd DriveMapDel DriveMapGet DriveSetLabel DriveSpaceFree DriveSpaceTotal DriveStatus EnvGet EnvSet EnvUpdate Eval Execute Exp FileChangeDir FileClose FileCopy FileCreateNTFSLink FileCreateShortcut FileDelete FileExists FileFindFirstFile FileFindNextFile FileFlush FileGetAttrib FileGetEncoding FileGetLongName FileGetPos FileGetShortcut FileGetShortName FileGetSize FileGetTime FileGetVersion FileInstall FileMove FileOpen FileOpenDialog FileRead FileReadLine FileReadToArray FileRecycle FileRecycleEmpty FileSaveDialog FileSelectFolder FileSetAttrib FileSetEnd FileSetPos FileSetTime FileWrite FileWriteLine Floor FtpSetProxy FuncName GUICreate GUICtrlCreateAvi GUICtrlCreateButton GUICtrlCreateCheckbox GUICtrlCreateCombo GUICtrlCreateContextMenu GUICtrlCreateDate GUICtrlCreateDummy GUICtrlCreateEdit GUICtrlCreateGraphic GUICtrlCreateGroup GUICtrlCreateIcon GUICtrlCreateInput GUICtrlCreateLabel GUICtrlCreateList GUICtrlCreateListView GUICtrlCreateListViewItem GUICtrlCreateMenu GUICtrlCreateMenuItem GUICtrlCreateMonthCal GUICtrlCreateObj GUICtrlCreatePic GUICtrlCreateProgress GUICtrlCreateRadio GUICtrlCreateSlider GUICtrlCreateTab GUICtrlCreateTabItem GUICtrlCreateTreeView GUICtrlCreateTreeViewItem GUICtrlCreateUpdown GUICtrlDelete GUICtrlGetHandle GUICtrlGetState GUICtrlRead GUICtrlRecvMsg GUICtrlRegisterListViewSort GUICtrlSendMsg GUICtrlSendToDummy GUICtrlSetBkColor GUICtrlSetColor GUICtrlSetCursor GUICtrlSetData GUICtrlSetDefBkColor GUICtrlSetDefColor GUICtrlSetFont GUICtrlSetGraphic GUICtrlSetImage GUICtrlSetLimit GUICtrlSetOnEvent GUICtrlSetPos GUICtrlSetResizing GUICtrlSetState GUICtrlSetStyle GUICtrlSetTip GUIDelete GUIGetCursorInfo GUIGetMsg GUIGetStyle GUIRegisterMsg GUISetAccelerators GUISetBkColor GUISetCoord GUISetCursor GUISetFont GUISetHelp GUISetIcon GUISetOnEvent GUISetState GUISetStyle GUIStartGroup GUISwitch Hex HotKeySet HttpSetProxy HttpSetUserAgent HWnd InetClose InetGet InetGetInfo InetGetSize InetRead IniDelete IniRead IniReadSection IniReadSectionNames IniRenameSection IniWrite IniWriteSection InputBox Int IsAdmin IsArray IsBinary IsBool IsDeclared IsDllStruct IsFloat IsFunc IsHWnd IsInt IsKeyword IsNumber IsObj IsPtr IsString Log MemGetStats Mod MouseClick MouseClickDrag MouseDown MouseGetCursor MouseGetPos MouseMove MouseUp MouseWheel MsgBox Number ObjCreate ObjCreateInterface ObjEvent ObjGet ObjName OnAutoItExitRegister OnAutoItExitUnRegister Ping PixelChecksum PixelGetColor PixelSearch ProcessClose ProcessExists ProcessGetStats ProcessList ProcessSetPriority ProcessWait ProcessWaitClose ProgressOff ProgressOn ProgressSet Ptr Random RegDelete RegEnumKey RegEnumVal RegRead RegWrite Round Run RunAs RunAsWait RunWait Send SendKeepActive SetError SetExtended ShellExecute ShellExecuteWait Shutdown Sin Sleep SoundPlay SoundSetWaveVolume SplashImageOn SplashOff SplashTextOn Sqrt SRandom StatusbarGetText StderrRead StdinWrite StdioClose StdoutRead String StringAddCR StringCompare StringFormat StringFromASCIIArray StringInStr StringIsAlNum StringIsAlpha StringIsASCII StringIsDigit StringIsFloat StringIsInt StringIsLower StringIsSpace StringIsUpper StringIsXDigit StringLeft StringLen StringLower StringMid StringRegExp StringRegExpReplace StringReplace StringReverse StringRight StringSplit StringStripCR StringStripWS StringToASCIIArray StringToBinary StringTrimLeft StringTrimRight StringUpper Tan TCPAccept TCPCloseSocket TCPConnect TCPListen TCPNameToIP TCPRecv TCPSend TCPShutdown, UDPShutdown TCPStartup, UDPStartup TimerDiff TimerInit ToolTip TrayCreateItem TrayCreateMenu TrayGetMsg TrayItemDelete TrayItemGetHandle TrayItemGetState TrayItemGetText TrayItemSetOnEvent TrayItemSetState TrayItemSetText TraySetClick TraySetIcon TraySetOnEvent TraySetPauseIcon TraySetState TraySetToolTip TrayTip UBound UDPBind UDPCloseSocket UDPOpen UDPRecv UDPSend VarGetType WinActivate WinActive WinClose WinExists WinFlash WinGetCaretPos WinGetClassList WinGetClientSize WinGetHandle WinGetPos WinGetProcess WinGetState WinGetText WinGetTitle WinKill WinList WinMenuSelectItem WinMinimizeAll WinMinimizeAllUndo WinMove WinSetOnTop WinSetState WinSetTitle WinSetTrans WinWait\",i={v:[e.C(\";\",\"$\",{r:0}),e.C(\"#cs\",\"#ce\"),e.C(\"#comments-start\",\"#comments-end\")]},n={b:\"\\\\$[A-z0-9_]+\"},o={cN:\"string\",v:[{b:/\"/,e:/\"/,c:[{b:/\"\"/,r:0}]},{b:/'/,e:/'/,c:[{b:/''/,r:0}]}]},s={v:[e.BNM,e.CNM]},l={cN:\"meta\",b:\"#\",e:\"$\",k:{\"meta-keyword\":\"comments include include-once NoTrayIcon OnAutoItStartRegister pragma compile RequireAdmin\"},c:[{b:/\\\\\\n/,r:0},{bK:\"include\",k:{\"meta-keyword\":\"include\"},e:\"$\",c:[o,{cN:\"meta-string\",v:[{b:\"<\",e:\">\"},{b:/\"/,e:/\"/,c:[{b:/\"\"/,r:0}]},{b:/'/,e:/'/,c:[{b:/''/,r:0}]}]}]},o,i]},c={cN:\"symbol\",b:\"@[A-z0-9_]+\"},d={cN:\"function\",bK:\"Func\",e:\"$\",i:\"\\\\$|\\\\[|%\",c:[e.UTM,{cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",c:[n,o,s]}]};return{cI:!0,i:/\\/\\*/,k:{keyword:t,built_in:a,literal:r},c:[i,n,o,s,l,c,d]}}),e.registerLanguage(\"avrasm\",function(e){return{cI:!0,l:\"\\\\.?\"+e.IR,k:{keyword:\"adc add adiw and andi asr bclr bld brbc brbs brcc brcs break breq brge brhc brhs brid brie brlo brlt brmi brne brpl brsh brtc brts brvc brvs bset bst call cbi cbr clc clh cli cln clr cls clt clv clz com cp cpc cpi cpse dec eicall eijmp elpm eor fmul fmuls fmulsu icall ijmp in inc jmp ld ldd ldi lds lpm lsl lsr mov movw mul muls mulsu neg nop or ori out pop push rcall ret reti rjmp rol ror sbc sbr sbrc sbrs sec seh sbi sbci sbic sbis sbiw sei sen ser ses set sev sez sleep spm st std sts sub subi swap tst wdr\",built_in:\"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 r30 r31 x|0 xh xl y|0 yh yl z|0 zh zl ucsr1c udr1 ucsr1a ucsr1b ubrr1l ubrr1h ucsr0c ubrr0h tccr3c tccr3a tccr3b tcnt3h tcnt3l ocr3ah ocr3al ocr3bh ocr3bl ocr3ch ocr3cl icr3h icr3l etimsk etifr tccr1c ocr1ch ocr1cl twcr twdr twar twsr twbr osccal xmcra xmcrb eicra spmcsr spmcr portg ddrg ping portf ddrf sreg sph spl xdiv rampz eicrb eimsk gimsk gicr eifr gifr timsk tifr mcucr mcucsr tccr0 tcnt0 ocr0 assr tccr1a tccr1b tcnt1h tcnt1l ocr1ah ocr1al ocr1bh ocr1bl icr1h icr1l tccr2 tcnt2 ocr2 ocdr wdtcr sfior eearh eearl eedr eecr porta ddra pina portb ddrb pinb portc ddrc pinc portd ddrd pind spdr spsr spcr udr0 ucsr0a ucsr0b ubrr0l acsr admux adcsr adch adcl porte ddre pine pinf\",meta:\".byte .cseg .db .def .device .dseg .dw .endmacro .equ .eseg .exit .include .list .listmac .macro .nolist .org .set\"},c:[e.CBCM,e.C(\";\",\"$\",{r:0}),e.CNM,e.BNM,{cN:\"number\",b:\"\\\\b(\\\\$[a-zA-Z0-9]+|0o[0-7]+)\"},e.QSM,{cN:\"string\",b:\"'\",e:\"[^\\\\\\\\]'\",i:\"[^\\\\\\\\][^']\"},{cN:\"symbol\",b:\"^[A-Za-z0-9_.$]+:\"},{cN:\"meta\",b:\"#\",e:\"$\"},{cN:\"subst\",b:\"@[0-9]+\"}]}}),e.registerLanguage(\"awk\",function(e){var t={cN:\"variable\",v:[{b:/\\$[\\w\\d#@][\\w\\d_]*/},{b:/\\$\\{(.*?)}/}]},r=\"BEGIN END if else while do for in break continue delete next nextfile function func exit|10\",a={cN:\"string\",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,r:10},{b:/(u|b)?r?\"\"\"/,e:/\"\"\"/,r:10},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)\"/,e:/\"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)\"/,e:/\"/},e.ASM,e.QSM]};return{k:{keyword:r},c:[t,a,e.RM,e.HCM,e.NM]}}),e.registerLanguage(\"axapta\",function(e){return{k:\"false int abstract private char boolean static null if for true while long throw finally protected final return void enum else break new catch byte super case short default double public try this switch continue reverse firstfast firstonly forupdate nofetch sum avg minof maxof count order group by asc desc index hint like dispaly edit client server ttsbegin ttscommit str real date container anytype common div mod\",c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.CNM,{cN:\"meta\",b:\"#\",e:\"$\"},{cN:\"class\",bK:\"class interface\",e:\"{\",eE:!0,i:\":\",c:[{bK:\"extends implements\"},e.UTM]}]}}),e.registerLanguage(\"bash\",function(e){var t={cN:\"variable\",v:[{b:/\\$[\\w\\d#@][\\w\\d_]*/},{b:/\\$\\{(.*?)}/}]},r={cN:\"string\",b:/\"/,e:/\"/,c:[e.BE,t,{cN:\"variable\",b:/\\$\\(/,e:/\\)/,c:[e.BE]}]},a={cN:\"string\",b:/'/,e:/'/};return{aliases:[\"sh\",\"zsh\"],l:/\\b-?[a-z\\._]+\\b/,k:{keyword:\"if then else elif fi for while in do done case esac function\",literal:\"true false\",built_in:\"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp\",_:\"-ne -eq -lt -gt -f -d -e -s -l -a\"},c:[{cN:\"meta\",b:/^#![^\\n]+sh\\s*$/,r:10},{cN:\"function\",b:/\\w[\\w\\d_]*\\s*\\(\\s*\\)\\s*\\{/,rB:!0,c:[e.inherit(e.TM,{b:/\\w[\\w\\d_]*/})],r:0},e.HCM,r,a,t]}}),e.registerLanguage(\"basic\",function(e){return{cI:!0,i:\"^.\",l:\"[a-zA-Z][a-zA-Z0-9_$%!#]*\",k:{keyword:\"ABS ASC AND ATN AUTO|0 BEEP BLOAD|10 BSAVE|10 CALL CALLS CDBL CHAIN CHDIR CHR$|10 CINT CIRCLE CLEAR CLOSE CLS COLOR COM COMMON CONT COS CSNG CSRLIN CVD CVI CVS DATA DATE$ DEFDBL DEFINT DEFSNG DEFSTR DEF|0 SEG USR DELETE DIM DRAW EDIT END ENVIRON ENVIRON$ EOF EQV ERASE ERDEV ERDEV$ ERL ERR ERROR EXP FIELD FILES FIX FOR|0 FRE GET GOSUB|10 GOTO HEX$ IF|0 THEN ELSE|0 INKEY$ INP INPUT INPUT# INPUT$ INSTR IMP INT IOCTL IOCTL$ KEY ON OFF LIST KILL LEFT$ LEN LET LINE LLIST LOAD LOC LOCATE LOF LOG LPRINT USING LSET MERGE MID$ MKDIR MKD$ MKI$ MKS$ MOD NAME NEW NEXT NOISE NOT OCT$ ON OR PEN PLAY STRIG OPEN OPTION BASE OUT PAINT PALETTE PCOPY PEEK PMAP POINT POKE POS PRINT PRINT] PSET PRESET PUT RANDOMIZE READ REM RENUM RESET|0 RESTORE RESUME RETURN|0 RIGHT$ RMDIR RND RSET RUN SAVE SCREEN SGN SHELL SIN SOUND SPACE$ SPC SQR STEP STICK STOP STR$ STRING$ SWAP SYSTEM TAB TAN TIME$ TIMER TROFF TRON TO USR VAL VARPTR VARPTR$ VIEW WAIT WHILE WEND WIDTH WINDOW WRITE XOR\"\n},c:[e.QSM,e.C(\"REM\",\"$\",{r:10}),e.C(\"'\",\"$\",{r:0}),{cN:\"symbol\",b:\"^[0-9]+ \",r:10},{cN:\"number\",b:\"\\\\b([0-9]+[0-9edED.]*[#!]?)\",r:0},{cN:\"number\",b:\"(&[hH][0-9a-fA-F]{1,4})\"},{cN:\"number\",b:\"(&[oO][0-7]{1,6})\"}]}}),e.registerLanguage(\"bnf\",function(e){return{c:[{cN:\"attribute\",b:/</,e:/>/},{b:/::=/,starts:{e:/$/,c:[{b:/</,e:/>/},e.CLCM,e.CBCM,e.ASM,e.QSM]}}]}}),e.registerLanguage(\"brainfuck\",function(e){var t={cN:\"literal\",b:\"[\\\\+\\\\-]\",r:0};return{aliases:[\"bf\"],c:[e.C(\"[^\\\\[\\\\]\\\\.,\\\\+\\\\-<> \\r\\n]\",\"[\\\\[\\\\]\\\\.,\\\\+\\\\-<> \\r\\n]\",{rE:!0,r:0}),{cN:\"title\",b:\"[\\\\[\\\\]]\",r:0},{cN:\"string\",b:\"[\\\\.,]\",r:0},{b:/\\+\\+|\\-\\-/,rB:!0,c:[t]},t]}}),e.registerLanguage(\"cal\",function(e){var t=\"div mod in and or not xor asserterror begin case do downto else end exit for if of repeat then to until while with var\",r=\"false true\",a=[e.CLCM,e.C(/\\{/,/\\}/,{r:0}),e.C(/\\(\\*/,/\\*\\)/,{r:10})],i={cN:\"string\",b:/'/,e:/'/,c:[{b:/''/}]},n={cN:\"string\",b:/(#\\d+)+/},o={cN:\"number\",b:\"\\\\b\\\\d+(\\\\.\\\\d+)?(DT|D|T)\",r:0},s={cN:\"string\",b:'\"',e:'\"'},l={cN:\"function\",bK:\"procedure\",e:/[:;]/,k:\"procedure|10\",c:[e.TM,{cN:\"params\",b:/\\(/,e:/\\)/,k:t,c:[i,n]}].concat(a)},c={cN:\"class\",b:\"OBJECT (Table|Form|Report|Dataport|Codeunit|XMLport|MenuSuite|Page|Query) (\\\\d+) ([^\\\\r\\\\n]+)\",rB:!0,c:[e.TM,l]};return{cI:!0,k:{keyword:t,literal:r},i:/\\/\\*/,c:[i,n,o,s,e.NM,c,l]}}),e.registerLanguage(\"capnproto\",function(e){return{aliases:[\"capnp\"],k:{keyword:\"struct enum interface union group import using const annotation extends in of on as with from fixed\",built_in:\"Void Bool Int8 Int16 Int32 Int64 UInt8 UInt16 UInt32 UInt64 Float32 Float64 Text Data AnyPointer AnyStruct Capability List\",literal:\"true false\"},c:[e.QSM,e.NM,e.HCM,{cN:\"meta\",b:/@0x[\\w\\d]{16};/,i:/\\n/},{cN:\"symbol\",b:/@\\d+\\b/},{cN:\"class\",bK:\"struct enum\",e:/\\{/,i:/\\n/,c:[e.inherit(e.TM,{starts:{eW:!0,eE:!0}})]},{cN:\"class\",bK:\"interface\",e:/\\{/,i:/\\n/,c:[e.inherit(e.TM,{starts:{eW:!0,eE:!0}})]}]}}),e.registerLanguage(\"ceylon\",function(e){var t=\"assembly module package import alias class interface object given value assign void function new of extends satisfies abstracts in out return break continue throw assert dynamic if else switch case for while try catch finally then let this outer super is exists nonempty\",r=\"shared abstract formal default actual variable late native deprecatedfinal sealed annotation suppressWarnings small\",a=\"doc by license see throws tagged\",i={cN:\"subst\",eB:!0,eE:!0,b:/``/,e:/``/,k:t,r:10},n=[{cN:\"string\",b:'\"\"\"',e:'\"\"\"',r:10},{cN:\"string\",b:'\"',e:'\"',c:[i]},{cN:\"string\",b:\"'\",e:\"'\"},{cN:\"number\",b:\"#[0-9a-fA-F_]+|\\\\$[01_]+|[0-9_]+(?:\\\\.[0-9_](?:[eE][+-]?\\\\d+)?)?[kMGTPmunpf]?\",r:0}];return i.c=n,{k:{keyword:t+\" \"+r,meta:a},i:\"\\\\$[^01]|#[^0-9a-fA-F]\",c:[e.CLCM,e.C(\"/\\\\*\",\"\\\\*/\",{c:[\"self\"]}),{cN:\"meta\",b:'@[a-z]\\\\w*(?:\\\\:\"[^\"]*\")?'}].concat(n)}}),e.registerLanguage(\"clean\",function(e){return{aliases:[\"clean\",\"icl\",\"dcl\"],k:{keyword:\"if let in with where case of class instance otherwise implementation definition system module from import qualified as special code inline foreign export ccall stdcall generic derive infix infixl infixr\",literal:\"True False\"},c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.CNM,{b:\"->|<-[|:]?|::|#!?|>>=|\\\\{\\\\||\\\\|\\\\}|:==|=:|\\\\.\\\\.|<>|`\"}]}}),e.registerLanguage(\"clojure\",function(e){var t={\"builtin-name\":\"def defonce cond apply if-not if-let if not not= = < > <= >= == + / * - rem quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last drop-while while intern condp case reduced cycle split-at split-with repeat replicate iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter monitor-exit defmacro defn defn- macroexpand macroexpand-1 for dosync and or when when-not when-let comp juxt partial sequence memoize constantly complement identity assert peek pop doto proxy defstruct first rest cons defprotocol cast coll deftype defrecord last butlast sigs reify second ffirst fnext nfirst nnext defmulti defmethod meta with-meta ns in-ns create-ns import refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint biginteger bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline flush read slurp read-line subvec with-open memfn time re-find re-groups rand-int rand mod locking assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! new next conj set! to-array future future-call into-array aset gen-class reduce map filter find empty hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize\"},r=\"a-zA-Z_\\\\-!.?+*=<>&#'\",a=\"[\"+r+\"][\"+r+\"0-9/;:]*\",i=\"[-+]?\\\\d+(\\\\.\\\\d+)?\",n={b:a,r:0},o={cN:\"number\",b:i,r:0},s=e.inherit(e.QSM,{i:null}),l=e.C(\";\",\"$\",{r:0}),c={cN:\"literal\",b:/\\b(true|false|nil)\\b/},d={b:\"[\\\\[\\\\{]\",e:\"[\\\\]\\\\}]\"},p={cN:\"comment\",b:\"\\\\^\"+a},m=e.C(\"\\\\^\\\\{\",\"\\\\}\"),u={cN:\"symbol\",b:\"[:]{1,2}\"+a},b={b:\"\\\\(\",e:\"\\\\)\"},g={eW:!0,r:0},f={k:t,l:a,cN:\"name\",b:a,starts:g},_=[b,s,p,m,l,u,d,o,c,n];return b.c=[e.C(\"comment\",\"\"),f,g],g.c=_,d.c=_,m.c=[d],{aliases:[\"clj\"],i:/\\S/,c:[b,s,p,m,l,u,d,o,c]}}),e.registerLanguage(\"clojure-repl\",function(e){return{c:[{cN:\"meta\",b:/^([\\w.-]+|\\s*#_)=>/,starts:{e:/$/,sL:\"clojure\"}}]}}),e.registerLanguage(\"cmake\",function(e){return{aliases:[\"cmake.in\"],cI:!0,k:{keyword:\"add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_subdirectory add_test aux_source_directory break build_command cmake_minimum_required cmake_policy configure_file create_test_sourcelist define_property else elseif enable_language enable_testing endforeach endfunction endif endmacro endwhile execute_process export find_file find_library find_package find_path find_program fltk_wrap_ui foreach function get_cmake_property get_directory_property get_filename_component get_property get_source_file_property get_target_property get_test_property if include include_directories include_external_msproject include_regular_expression install link_directories load_cache load_command macro mark_as_advanced message option output_required_files project qt_wrap_cpp qt_wrap_ui remove_definitions return separate_arguments set set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties site_name source_group string target_link_libraries try_compile try_run unset variable_watch while build_name exec_program export_library_dependencies install_files install_programs install_targets link_libraries make_directory remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file qt5_use_modules qt5_use_package qt5_wrap_cpp on off true false and or equal less greater strless strgreater strequal matches\"},c:[{cN:\"variable\",b:\"\\\\${\",e:\"}\"},e.HCM,e.QSM,e.NM]}}),e.registerLanguage(\"coffeescript\",function(e){var t={keyword:\"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super yield import export from as default await then unless until loop of by when and or is isnt not\",literal:\"true false null undefined yes no on off\",built_in:\"npm require console print module global window document\"},r=\"[A-Za-z$_][0-9A-Za-z$_]*\",a={cN:\"subst\",b:/#\\{/,e:/}/,k:t},i=[e.BNM,e.inherit(e.CNM,{starts:{e:\"(\\\\s*/)?\",r:0}}),{cN:\"string\",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/\"\"\"/,e:/\"\"\"/,c:[e.BE,a]},{b:/\"/,e:/\"/,c:[e.BE,a]}]},{cN:\"regexp\",v:[{b:\"///\",e:\"///\",c:[a,e.HCM]},{b:\"//[gim]*\",r:0},{b:/\\/(?![ *])(\\\\\\/|.)*?\\/[gim]*(?=\\W|$)/}]},{b:\"@\"+r},{sL:\"javascript\",eB:!0,eE:!0,v:[{b:\"```\",e:\"```\"},{b:\"`\",e:\"`\"}]}];a.c=i;var n=e.inherit(e.TM,{b:r}),o=\"(\\\\(.*\\\\))?\\\\s*\\\\B[-=]>\",s={cN:\"params\",b:\"\\\\([^\\\\(]\",rB:!0,c:[{b:/\\(/,e:/\\)/,k:t,c:[\"self\"].concat(i)}]};return{aliases:[\"coffee\",\"cson\",\"iced\"],k:t,i:/\\/\\*/,c:i.concat([e.C(\"###\",\"###\"),e.HCM,{cN:\"function\",b:\"^\\\\s*\"+r+\"\\\\s*=\\\\s*\"+o,e:\"[-=]>\",rB:!0,c:[n,s]},{b:/[:\\(,=]\\s*/,r:0,c:[{cN:\"function\",b:o,e:\"[-=]>\",rB:!0,c:[s]}]},{cN:\"class\",bK:\"class\",e:\"$\",i:/[:=\"\\[\\]]/,c:[{bK:\"extends\",eW:!0,i:/[:=\"\\[\\]]/,c:[n]},n]},{b:r+\":\",e:\":\",rB:!0,rE:!0,r:0}])}}),e.registerLanguage(\"coq\",function(e){return{k:{keyword:\"_ as at cofix else end exists exists2 fix for forall fun if IF in let match mod Prop return Set then Type using where with Abort About Add Admit Admitted All Arguments Assumptions Axiom Back BackTo Backtrack Bind Blacklist Canonical Cd Check Class Classes Close Coercion Coercions CoFixpoint CoInductive Collection Combined Compute Conjecture Conjectures Constant constr Constraint Constructors Context Corollary CreateHintDb Cut Declare Defined Definition Delimit Dependencies DependentDerive Drop eauto End Equality Eval Example Existential Existentials Existing Export exporting Extern Extract Extraction Fact Field Fields File Fixpoint Focus for From Function Functional Generalizable Global Goal Grab Grammar Graph Guarded Heap Hint HintDb Hints Hypotheses Hypothesis ident Identity If Immediate Implicit Import Include Inductive Infix Info Initial Inline Inspect Instance Instances Intro Intros Inversion Inversion_clear Language Left Lemma Let Libraries Library Load LoadPath Local Locate Ltac ML Mode Module Modules Monomorphic Morphism Next NoInline Notation Obligation Obligations Opaque Open Optimize Options Parameter Parameters Parametric Path Paths pattern Polymorphic Preterm Print Printing Program Projections Proof Proposition Pwd Qed Quit Rec Record Recursive Redirect Relation Remark Remove Require Reserved Reset Resolve Restart Rewrite Right Ring Rings Save Scheme Scope Scopes Script Search SearchAbout SearchHead SearchPattern SearchRewrite Section Separate Set Setoid Show Solve Sorted Step Strategies Strategy Structure SubClass Table Tables Tactic Term Test Theorem Time Timeout Transparent Type Typeclasses Types Undelimit Undo Unfocus Unfocused Unfold Universe Universes Unset Unshelve using Variable Variables Variant Verbose Visibility where with\",built_in:\"abstract absurd admit after apply as assert assumption at auto autorewrite autounfold before bottom btauto by case case_eq cbn cbv change classical_left classical_right clear clearbody cofix compare compute congruence constr_eq constructor contradict contradiction cut cutrewrite cycle decide decompose dependent destruct destruction dintuition discriminate discrR do double dtauto eapply eassumption eauto ecase econstructor edestruct ediscriminate eelim eexact eexists einduction einjection eleft elim elimtype enough equality erewrite eright esimplify_eq esplit evar exact exactly_once exfalso exists f_equal fail field field_simplify field_simplify_eq first firstorder fix fold fourier functional generalize generalizing gfail give_up has_evar hnf idtac in induction injection instantiate intro intro_pattern intros intuition inversion inversion_clear is_evar is_var lapply lazy left lia lra move native_compute nia nsatz omega once pattern pose progress proof psatz quote record red refine reflexivity remember rename repeat replace revert revgoals rewrite rewrite_strat right ring ring_simplify rtauto set setoid_reflexivity setoid_replace setoid_rewrite setoid_symmetry setoid_transitivity shelve shelve_unifiable simpl simple simplify_eq solve specialize split split_Rabs split_Rmult stepl stepr subst sum swap symmetry tactic tauto time timeout top transitivity trivial try tryif unfold unify until using vm_compute with\"},c:[e.QSM,e.C(\"\\\\(\\\\*\",\"\\\\*\\\\)\"),e.CNM,{cN:\"type\",eB:!0,b:\"\\\\|\\\\s*\",e:\"\\\\w+\"},{b:/[-=]>/}]}}),e.registerLanguage(\"cos\",function(e){var t={cN:\"string\",v:[{b:'\"',e:'\"',c:[{b:'\"\"',r:0}]}]},r={cN:\"number\",b:\"\\\\b(\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)\",r:0},a=\"property parameter class classmethod clientmethod extends as break catch close continue do d|0 else elseif for goto halt hang h|0 if job j|0 kill k|0 lock l|0 merge new open quit q|0 read r|0 return set s|0 tcommit throw trollback try tstart use view while write w|0 xecute x|0 zkill znspace zn ztrap zwrite zw zzdump zzwrite print zbreak zinsert zload zprint zremove zsave zzprint mv mvcall mvcrt mvdim mvprint zquit zsync ascii\";return{cI:!0,aliases:[\"cos\",\"cls\"],k:a,c:[r,t,e.CLCM,e.CBCM,{cN:\"comment\",b:/;/,e:\"$\",r:0},{cN:\"built_in\",b:/(?:\\$\\$?|\\.\\.)\\^?[a-zA-Z]+/},{cN:\"built_in\",b:/\\$\\$\\$[a-zA-Z]+/},{cN:\"built_in\",b:/%[a-z]+(?:\\.[a-z]+)*/},{cN:\"symbol\",b:/\\^%?[a-zA-Z][\\w]*/},{cN:\"keyword\",b:/##class|##super|#define|#dim/},{b:/&sql\\(/,e:/\\)/,eB:!0,eE:!0,sL:\"sql\"},{b:/&(js|jscript|javascript)</,e:/>/,eB:!0,eE:!0,sL:\"javascript\"},{b:/&html<\\s*</,e:/>\\s*>/,sL:\"xml\"}]}}),e.registerLanguage(\"crmsh\",function(e){var t=\"primitive rsc_template\",r=\"group clone ms master location colocation order fencing_topology rsc_ticket acl_target acl_group user role tag xml\",a=\"property rsc_defaults op_defaults\",i=\"params meta operations op rule attributes utilization\",n=\"read write deny defined not_defined in_range date spec in ref reference attribute type xpath version and or lt gt tag lte gte eq ne \\\\\",o=\"number string\",s=\"Master Started Slave Stopped start promote demote stop monitor true false\";return{aliases:[\"crm\",\"pcmk\"],cI:!0,k:{keyword:i+\" \"+n+\" \"+o,literal:s},c:[e.HCM,{bK:\"node\",starts:{e:\"\\\\s*([\\\\w_-]+:)?\",starts:{cN:\"title\",e:\"\\\\s*[\\\\$\\\\w_][\\\\w_-]*\"}}},{bK:t,starts:{cN:\"title\",e:\"\\\\s*[\\\\$\\\\w_][\\\\w_-]*\",starts:{e:\"\\\\s*@?[\\\\w_][\\\\w_\\\\.:-]*\"}}},{b:\"\\\\b(\"+r.split(\" \").join(\"|\")+\")\\\\s+\",k:r,starts:{cN:\"title\",e:\"[\\\\$\\\\w_][\\\\w_-]*\"}},{bK:a,starts:{cN:\"title\",e:\"\\\\s*([\\\\w_-]+:)?\"}},e.QSM,{cN:\"meta\",b:\"(ocf|systemd|service|lsb):[\\\\w_:-]+\",r:0},{cN:\"number\",b:\"\\\\b\\\\d+(\\\\.\\\\d+)?(ms|s|h|m)?\",r:0},{cN:\"literal\",b:\"[-]?(infinity|inf)\",r:0},{cN:\"attr\",b:/([A-Za-z\\$_\\#][\\w_-]+)=/,r:0},{cN:\"tag\",b:\"</?\",e:\"/?>\",r:0}]}}),e.registerLanguage(\"crystal\",function(e){function t(e,t){var r=[{b:e,e:t}];return r[0].c=r,r}var r=\"(_[uif](8|16|32|64))?\",a=\"[a-zA-Z_]\\\\w*[!?=]?\",i=\"!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~\",n=\"[a-zA-Z_]\\\\w*[!?=]?|[-+~]\\\\@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\][=?]?\",o={keyword:\"abstract alias as as? asm begin break case class def do else elsif end ensure enum extend for fun if include instance_sizeof is_a? lib macro module next nil? of out pointerof private protected rescue responds_to? return require select self sizeof struct super then type typeof union uninitialized unless until when while with yield __DIR__ __END_LINE__ __FILE__ __LINE__\",literal:\"false nil true\"},s={cN:\"subst\",b:\"#{\",e:\"}\",k:o},l={cN:\"template-variable\",v:[{b:\"\\\\{\\\\{\",e:\"\\\\}\\\\}\"},{b:\"\\\\{%\",e:\"%\\\\}\"}],k:o},c={cN:\"string\",c:[e.BE,s],v:[{b:/'/,e:/'/},{b:/\"/,e:/\"/},{b:/`/,e:/`/},{b:\"%w?\\\\(\",e:\"\\\\)\",c:t(\"\\\\(\",\"\\\\)\")},{b:\"%w?\\\\[\",e:\"\\\\]\",c:t(\"\\\\[\",\"\\\\]\")},{b:\"%w?{\",e:\"}\",c:t(\"{\",\"}\")},{b:\"%w?<\",e:\">\",c:t(\"<\",\">\")},{b:\"%w?/\",e:\"/\"},{b:\"%w?%\",e:\"%\"},{b:\"%w?-\",e:\"-\"},{b:\"%w?\\\\|\",e:\"\\\\|\"},{b:/<<-\\w+$/,e:/^\\s*\\w+$/}],r:0},d={cN:\"string\",v:[{b:\"%q\\\\(\",e:\"\\\\)\",c:t(\"\\\\(\",\"\\\\)\")},{b:\"%q\\\\[\",e:\"\\\\]\",c:t(\"\\\\[\",\"\\\\]\")},{b:\"%q{\",e:\"}\",c:t(\"{\",\"}\")},{b:\"%q<\",e:\">\",c:t(\"<\",\">\")},{b:\"%q/\",e:\"/\"},{b:\"%q%\",e:\"%\"},{b:\"%q-\",e:\"-\"},{b:\"%q\\\\|\",e:\"\\\\|\"},{b:/<<-'\\w+'$/,e:/^\\s*\\w+$/}],r:0},p={b:\"(\"+i+\")\\\\s*\",c:[{cN:\"regexp\",c:[e.BE,s],v:[{b:\"//[a-z]*\",r:0},{b:\"/\",e:\"/[a-z]*\"},{b:\"%r\\\\(\",e:\"\\\\)\",c:t(\"\\\\(\",\"\\\\)\")},{b:\"%r\\\\[\",e:\"\\\\]\",c:t(\"\\\\[\",\"\\\\]\")},{b:\"%r{\",e:\"}\",c:t(\"{\",\"}\")},{b:\"%r<\",e:\">\",c:t(\"<\",\">\")},{b:\"%r/\",e:\"/\"},{b:\"%r%\",e:\"%\"},{b:\"%r-\",e:\"-\"},{b:\"%r\\\\|\",e:\"\\\\|\"}]}],r:0},m={cN:\"regexp\",c:[e.BE,s],v:[{b:\"%r\\\\(\",e:\"\\\\)\",c:t(\"\\\\(\",\"\\\\)\")},{b:\"%r\\\\[\",e:\"\\\\]\",c:t(\"\\\\[\",\"\\\\]\")},{b:\"%r{\",e:\"}\",c:t(\"{\",\"}\")},{b:\"%r<\",e:\">\",c:t(\"<\",\">\")},{b:\"%r/\",e:\"/\"},{b:\"%r%\",e:\"%\"},{b:\"%r-\",e:\"-\"},{b:\"%r\\\\|\",e:\"\\\\|\"}],r:0},u={cN:\"meta\",b:\"@\\\\[\",e:\"\\\\]\",c:[e.inherit(e.QSM,{cN:\"meta-string\"})]},b=[l,c,d,p,m,u,e.HCM,{cN:\"class\",bK:\"class module struct\",e:\"$|;\",i:/=/,c:[e.HCM,e.inherit(e.TM,{b:\"[A-Za-z_]\\\\w*(::\\\\w+)*(\\\\?|\\\\!)?\"}),{b:\"<\"}]},{cN:\"class\",bK:\"lib enum union\",e:\"$|;\",i:/=/,c:[e.HCM,e.inherit(e.TM,{b:\"[A-Za-z_]\\\\w*(::\\\\w+)*(\\\\?|\\\\!)?\"})],r:10},{cN:\"function\",bK:\"def\",e:/\\B\\b/,c:[e.inherit(e.TM,{b:n,endsParent:!0})]},{cN:\"function\",bK:\"fun macro\",e:/\\B\\b/,c:[e.inherit(e.TM,{b:n,endsParent:!0})],r:5},{cN:\"symbol\",b:e.UIR+\"(\\\\!|\\\\?)?:\",r:0},{cN:\"symbol\",b:\":\",c:[c,{b:n}],r:0},{cN:\"number\",v:[{b:\"\\\\b0b([01_]*[01])\"+r},{b:\"\\\\b0o([0-7_]*[0-7])\"+r},{b:\"\\\\b0x([A-Fa-f0-9_]*[A-Fa-f0-9])\"+r},{b:\"\\\\b(([0-9][0-9_]*[0-9]|[0-9])(\\\\.[0-9_]*[0-9])?([eE][+-]?[0-9_]*[0-9])?)\"+r}],r:0}];return s.c=b,l.c=b.slice(1),{aliases:[\"cr\"],l:a,k:o,c:b}}),e.registerLanguage(\"cs\",function(e){var t={keyword:\"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long nameof object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let on orderby partial remove select set value var where yield\",literal:\"null false true\"},r={cN:\"string\",b:'@\"',e:'\"',c:[{b:'\"\"'}]},a=e.inherit(r,{i:/\\n/}),i={cN:\"subst\",b:\"{\",e:\"}\",k:t},n=e.inherit(i,{i:/\\n/}),o={cN:\"string\",b:/\\$\"/,e:'\"',i:/\\n/,c:[{b:\"{{\"},{b:\"}}\"},e.BE,n]},s={cN:\"string\",b:/\\$@\"/,e:'\"',c:[{b:\"{{\"},{b:\"}}\"},{b:'\"\"'},i]},l=e.inherit(s,{i:/\\n/,c:[{b:\"{{\"},{b:\"}}\"},{b:'\"\"'},n]});i.c=[s,o,r,e.ASM,e.QSM,e.CNM,e.CBCM],n.c=[l,o,a,e.ASM,e.QSM,e.CNM,e.inherit(e.CBCM,{i:/\\n/})];var c={v:[s,o,r,e.ASM,e.QSM]},d=e.IR+\"(<\"+e.IR+\"(\\\\s*,\\\\s*\"+e.IR+\")*>)?(\\\\[\\\\])?\";return{aliases:[\"csharp\"],k:t,i:/::/,c:[e.C(\"///\",\"$\",{rB:!0,c:[{cN:\"doctag\",v:[{b:\"///\",r:0},{b:\"<!--|-->\"},{b:\"</?\",e:\">\"}]}]}),e.CLCM,e.CBCM,{cN:\"meta\",b:\"#\",e:\"$\",k:{\"meta-keyword\":\"if else elif endif define undef warning error line region endregion pragma checksum\"}},c,e.CNM,{bK:\"class interface\",e:/[{;=]/,i:/[^\\s:]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:\"namespace\",e:/[{;=]/,i:/[^\\s:]/,c:[e.inherit(e.TM,{b:\"[a-zA-Z](\\\\.?\\\\w)*\"}),e.CLCM,e.CBCM]},{cN:\"meta\",b:\"^\\\\s*\\\\[\",eB:!0,e:\"\\\\]\",eE:!0,c:[{cN:\"meta-string\",b:/\"/,e:/\"/}]},{bK:\"new return throw await else\",r:0},{cN:\"function\",b:\"(\"+d+\"\\\\s+)+\"+e.IR+\"\\\\s*\\\\(\",rB:!0,e:/[{;=]/,eE:!0,k:t,c:[{b:e.IR+\"\\\\s*\\\\(\",rB:!0,c:[e.TM],r:0},{cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:t,r:0,c:[c,e.CNM,e.CBCM]},e.CLCM,e.CBCM]}]}}),e.registerLanguage(\"csp\",function(e){return{cI:!1,l:\"[a-zA-Z][a-zA-Z0-9_-]*\",k:{keyword:\"base-uri child-src connect-src default-src font-src form-action frame-ancestors frame-src img-src media-src object-src plugin-types report-uri sandbox script-src style-src\"},c:[{cN:\"string\",b:\"'\",e:\"'\"},{cN:\"attribute\",b:\"^Content\",e:\":\",eE:!0}]}}),e.registerLanguage(\"css\",function(e){var t=\"[a-zA-Z-][a-zA-Z0-9_-]*\",r={b:/[A-Z\\_\\.\\-]+\\s*:/,rB:!0,e:\";\",eW:!0,c:[{cN:\"attribute\",b:/\\S/,e:\":\",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\\w-]+\\(/,rB:!0,c:[{cN:\"built_in\",b:/[\\w-]+/},{b:/\\(/,e:/\\)/,c:[e.ASM,e.QSM]}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:\"number\",b:\"#[0-9A-Fa-f]+\"},{cN:\"meta\",b:\"!important\"}]}}]};return{cI:!0,i:/[=\\/|'\\$]/,c:[e.CBCM,{cN:\"selector-id\",b:/#[A-Za-z0-9_-]+/},{cN:\"selector-class\",b:/\\.[A-Za-z0-9_-]+/},{cN:\"selector-attr\",b:/\\[/,e:/\\]/,i:\"$\"},{cN:\"selector-pseudo\",b:/:(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\"'.]+/},{b:\"@(font-face|page)\",l:\"[a-z-]+\",k:\"font-face page\"},{b:\"@\",e:\"[{;]\",i:/:/,c:[{cN:\"keyword\",b:/\\w+/},{b:/\\s/,eW:!0,eE:!0,r:0,c:[e.ASM,e.QSM,e.CSSNM]}]},{cN:\"selector-tag\",b:t,r:0},{b:\"{\",e:\"}\",i:/\\S/,c:[e.CBCM,r]}]}}),e.registerLanguage(\"d\",function(e){var t={keyword:\"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__\",built_in:\"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring\",literal:\"false null true\"},r=\"(0|[1-9][\\\\d_]*)\",a=\"(0|[1-9][\\\\d_]*|\\\\d[\\\\d_]*|[\\\\d_]+?\\\\d)\",i=\"0[bB][01_]+\",n=\"([\\\\da-fA-F][\\\\da-fA-F_]*|_[\\\\da-fA-F][\\\\da-fA-F_]*)\",o=\"0[xX]\"+n,s=\"([eE][+-]?\"+a+\")\",l=\"(\"+a+\"(\\\\.\\\\d*|\"+s+\")|\\\\d+\\\\.\"+a+a+\"|\\\\.\"+r+s+\"?)\",c=\"(0[xX](\"+n+\"\\\\.\"+n+\"|\\\\.?\"+n+\")[pP][+-]?\"+a+\")\",d=\"(\"+r+\"|\"+i+\"|\"+o+\")\",p=\"(\"+c+\"|\"+l+\")\",m=\"\\\\\\\\(['\\\"\\\\?\\\\\\\\abfnrtv]|u[\\\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\\\dA-Fa-f]{2}|U[\\\\dA-Fa-f]{8})|&[a-zA-Z\\\\d]{2,};\",u={cN:\"number\",b:\"\\\\b\"+d+\"(L|u|U|Lu|LU|uL|UL)?\",r:0},b={cN:\"number\",b:\"\\\\b(\"+p+\"([fF]|L|i|[fF]i|Li)?|\"+d+\"(i|[fF]i|Li))\",r:0},g={cN:\"string\",b:\"'(\"+m+\"|.)\",e:\"'\",i:\".\"},f={b:m,r:0},_={cN:\"string\",b:'\"',c:[f],e:'\"[cwd]?'},h={cN:\"string\",b:'[rq]\"',e:'\"[cwd]?',r:5},v={cN:\"string\",b:\"`\",e:\"`[cwd]?\"},y={cN:\"string\",b:'x\"[\\\\da-fA-F\\\\s\\\\n\\\\r]*\"[cwd]?',r:10},S={cN:\"string\",b:'q\"\\\\{',e:'\\\\}\"'},C={cN:\"meta\",b:\"^#!\",e:\"$\",r:5},x={cN:\"meta\",b:\"#(line)\",e:\"$\",r:5},E={cN:\"keyword\",b:\"@[a-zA-Z_][a-zA-Z_\\\\d]*\"},N=e.C(\"\\\\/\\\\+\",\"\\\\+\\\\/\",{c:[\"self\"],r:10});return{l:e.UIR,k:t,c:[e.CLCM,e.CBCM,N,y,_,h,v,S,b,u,g,C,x,E]}}),e.registerLanguage(\"markdown\",function(e){return{aliases:[\"md\",\"mkdown\",\"mkd\"],c:[{cN:\"section\",v:[{b:\"^#{1,6}\",e:\"$\"},{b:\"^.+?\\\\n[=-]{2,}$\"}]},{b:\"<\",e:\">\",sL:\"xml\",r:0},{cN:\"bullet\",b:\"^([*+-]|(\\\\d+\\\\.))\\\\s+\"},{cN:\"strong\",b:\"[*_]{2}.+?[*_]{2}\"},{cN:\"emphasis\",v:[{b:\"\\\\*.+?\\\\*\"},{b:\"_.+?_\",r:0}]},{cN:\"quote\",b:\"^>\\\\s+\",e:\"$\"},{cN:\"code\",v:[{b:\"^```w*s*$\",e:\"^```s*$\"},{b:\"`.+?`\"},{b:\"^( {4}|\t)\",e:\"$\",r:0}]},{b:\"^[-\\\\*]{3,}\",e:\"$\"},{b:\"\\\\[.+?\\\\][\\\\(\\\\[].*?[\\\\)\\\\]]\",rB:!0,c:[{cN:\"string\",b:\"\\\\[\",e:\"\\\\]\",eB:!0,rE:!0,r:0},{cN:\"link\",b:\"\\\\]\\\\(\",e:\"\\\\)\",eB:!0,eE:!0},{cN:\"symbol\",b:\"\\\\]\\\\[\",e:\"\\\\]\",eB:!0,eE:!0}],r:10},{b:/^\\[[^\\n]+\\]:/,rB:!0,c:[{cN:\"symbol\",b:/\\[/,e:/\\]/,eB:!0,eE:!0},{cN:\"link\",b:/:\\s*/,e:/$/,eB:!0}]}]}}),e.registerLanguage(\"dart\",function(e){var t={cN:\"subst\",b:\"\\\\$\\\\{\",e:\"}\",k:\"true false null this is new super\"},r={cN:\"string\",v:[{b:\"r'''\",e:\"'''\"},{b:'r\"\"\"',e:'\"\"\"'},{b:\"r'\",e:\"'\",i:\"\\\\n\"},{b:'r\"',e:'\"',i:\"\\\\n\"},{b:\"'''\",e:\"'''\",c:[e.BE,t]},{b:'\"\"\"',e:'\"\"\"',c:[e.BE,t]},{b:\"'\",e:\"'\",i:\"\\\\n\",c:[e.BE,t]},{b:'\"',e:'\"',i:\"\\\\n\",c:[e.BE,t]}]};t.c=[e.CNM,r];var a={keyword:\"assert async await break case catch class const continue default do else enum extends false final finally for if in is new null rethrow return super switch sync this throw true try var void while with yield abstract as dynamic export external factory get implements import library operator part set static typedef\",built_in:\"print Comparable DateTime Duration Function Iterable Iterator List Map Match Null Object Pattern RegExp Set Stopwatch String StringBuffer StringSink Symbol Type Uri bool double int num document window querySelector querySelectorAll Element ElementList\"};return{k:a,c:[r,e.C(\"/\\\\*\\\\*\",\"\\\\*/\",{sL:\"markdown\"}),e.C(\"///\",\"$\",{sL:\"markdown\"}),e.CLCM,e.CBCM,{cN:\"class\",bK:\"class interface\",e:\"{\",eE:!0,c:[{bK:\"extends implements\"},e.UTM]},e.CNM,{cN:\"meta\",b:\"@[A-Za-z]+\"},{b:\"=>\"}]}}),e.registerLanguage(\"delphi\",function(e){var t=\"exports register file shl array record property for mod while set ally label uses raise not stored class safecall var interface or private static exit index inherited to else stdcall override shr asm far resourcestring finalization packed virtual out and protected library do xorwrite goto near function end div overload object unit begin string on inline repeat until destructor write message program with read initialization except default nil if case cdecl in downto threadvar of try pascal const external constructor type public then implementation finally published procedure absolute reintroduce operator as is abstract alias assembler bitpacked break continue cppdecl cvar enumerator experimental platform deprecated unimplemented dynamic export far16 forward generic helper implements interrupt iochecks local name nodefault noreturn nostackframe oldfpccall otherwise saveregisters softfloat specialize strict unaligned varargs \",r=[e.CLCM,e.C(/\\{/,/\\}/,{r:0}),e.C(/\\(\\*/,/\\*\\)/,{r:10})],a={cN:\"meta\",v:[{b:/\\{\\$/,e:/\\}/},{b:/\\(\\*\\$/,e:/\\*\\)/}]},i={cN:\"string\",b:/'/,e:/'/,c:[{b:/''/}]},n={cN:\"string\",b:/(#\\d+)+/},o={b:e.IR+\"\\\\s*=\\\\s*class\\\\s*\\\\(\",rB:!0,c:[e.TM]},s={cN:\"function\",bK:\"function constructor destructor procedure\",e:/[:;]/,k:\"function constructor|10 destructor|10 procedure|10\",c:[e.TM,{cN:\"params\",b:/\\(/,e:/\\)/,k:t,c:[i,n,a].concat(r)},a].concat(r)};return{aliases:[\"dpr\",\"dfm\",\"pas\",\"pascal\",\"freepascal\",\"lazarus\",\"lpr\",\"lfm\"],cI:!0,k:t,i:/\"|\\$[G-Zg-z]|\\/\\*|<\\/|\\|/,c:[i,n,e.NM,o,s,a].concat(r)}}),e.registerLanguage(\"diff\",function(e){return{aliases:[\"patch\"],c:[{cN:\"meta\",r:10,v:[{b:/^@@ +\\-\\d+,\\d+ +\\+\\d+,\\d+ +@@$/},{b:/^\\*\\*\\* +\\d+,\\d+ +\\*\\*\\*\\*$/},{b:/^\\-\\-\\- +\\d+,\\d+ +\\-\\-\\-\\-$/}]},{cN:\"comment\",v:[{b:/Index: /,e:/$/},{b:/={3,}/,e:/$/},{b:/^\\-{3}/,e:/$/},{b:/^\\*{3} /,e:/$/},{b:/^\\+{3}/,e:/$/},{b:/\\*{5}/,e:/\\*{5}$/}]},{cN:\"addition\",b:\"^\\\\+\",e:\"$\"},{cN:\"deletion\",b:\"^\\\\-\",e:\"$\"},{cN:\"addition\",b:\"^\\\\!\",e:\"$\"}]}}),e.registerLanguage(\"django\",function(e){var t={b:/\\|[A-Za-z]+:?/,k:{name:\"truncatewords removetags linebreaksbr yesno get_digit timesince random striptags filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort dictsortreversed default_if_none pluralize lower join center default truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize localtime utc timezone\"},c:[e.QSM,e.ASM]};return{aliases:[\"jinja\"],cI:!0,sL:\"xml\",c:[e.C(/\\{%\\s*comment\\s*%}/,/\\{%\\s*endcomment\\s*%}/),e.C(/\\{#/,/#}/),{cN:\"template-tag\",b:/\\{%/,e:/%}/,c:[{cN:\"name\",b:/\\w+/,k:{name:\"comment endcomment load templatetag ifchanged endifchanged if endif firstof for endfor ifnotequal endifnotequal widthratio extends include spaceless endspaceless regroup ifequal endifequal ssi now with cycle url filter endfilter debug block endblock else autoescape endautoescape csrf_token empty elif endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix plural get_current_language language get_available_languages get_current_language_bidi get_language_info get_language_info_list localize endlocalize localtime endlocaltime timezone endtimezone get_current_timezone verbatim\"},starts:{eW:!0,k:\"in by as\",c:[t],r:0}}]},{cN:\"template-variable\",b:/\\{\\{/,e:/}}/,c:[t]}]}}),e.registerLanguage(\"dns\",function(e){return{aliases:[\"bind\",\"zone\"],k:{keyword:\"IN A AAAA AFSDB APL CAA CDNSKEY CDS CERT CNAME DHCID DLV DNAME DNSKEY DS HIP IPSECKEY KEY KX LOC MX NAPTR NS NSEC NSEC3 NSEC3PARAM PTR RRSIG RP SIG SOA SRV SSHFP TA TKEY TLSA TSIG TXT\"},c:[e.C(\";\",\"$\",{r:0}),{cN:\"meta\",b:/^\\$(TTL|GENERATE|INCLUDE|ORIGIN)\\b/},{cN:\"number\",b:\"((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:)))\\\\b\"},{cN:\"number\",b:\"((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\\\b\"},e.inherit(e.NM,{b:/\\b\\d+[dhwm]?/})]}}),e.registerLanguage(\"dockerfile\",function(e){return{aliases:[\"docker\"],cI:!0,k:\"from maintainer expose env arg user onbuild stopsignal\",c:[e.HCM,e.ASM,e.QSM,e.NM,{bK:\"run cmd entrypoint volume add copy workdir label healthcheck shell\",starts:{e:/[^\\\\]\\n/,sL:\"bash\"}}],i:\"</\"}}),e.registerLanguage(\"dos\",function(e){var t=e.C(/^\\s*@?rem\\b/,/$/,{r:10}),r={cN:\"symbol\",b:\"^\\\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\\\s+label)\",r:0};return{aliases:[\"bat\",\"cmd\"],cI:!0,i:/\\/\\*/,k:{keyword:\"if else goto for in do call exit not exist errorlevel defined equ neq lss leq gtr geq\",built_in:\"prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux shift cd dir echo setlocal endlocal set pause copy append assoc at attrib break cacls cd chcp chdir chkdsk chkntfs cls cmd color comp compact convert date dir diskcomp diskcopy doskey erase fs find findstr format ftype graftabl help keyb label md mkdir mode more move path pause print popd pushd promt rd recover rem rename replace restore rmdir shiftsort start subst time title tree type ver verify vol ping net ipconfig taskkill xcopy ren del\"},c:[{cN:\"variable\",b:/%%[^ ]|%[^ ]+?%|![^ ]+?!/},{cN:\"function\",b:r.b,e:\"goto:eof\",c:[e.inherit(e.TM,{b:\"([_a-zA-Z]\\\\w*\\\\.)*([_a-zA-Z]\\\\w*:)?[_a-zA-Z]\\\\w*\"}),t]},{cN:\"number\",b:\"\\\\b\\\\d+\",r:0},t]}}),e.registerLanguage(\"dsconfig\",function(e){var t={cN:\"string\",b:/\"/,e:/\"/},r={cN:\"string\",b:/'/,e:/'/},a={cN:\"string\",b:\"[\\\\w-?]+:\\\\w+\",e:\"\\\\W\",r:0},i={cN:\"string\",b:\"\\\\w+-?\\\\w+\",e:\"\\\\W\",r:0};return{k:\"dsconfig\",c:[{cN:\"keyword\",b:\"^dsconfig\",e:\"\\\\s\",eE:!0,r:10},{cN:\"built_in\",b:\"(list|create|get|set|delete)-(\\\\w+)\",e:\"\\\\s\",eE:!0,i:\"!@#$%^&*()\",r:10},{cN:\"built_in\",b:\"--(\\\\w+)\",e:\"\\\\s\",eE:!0},t,r,a,i,e.HCM]}}),e.registerLanguage(\"dts\",function(e){var t={cN:\"string\",v:[e.inherit(e.QSM,{b:'((u8?|U)|L)?\"'}),{b:'(u8?|U)?R\"',e:'\"',c:[e.BE]},{b:\"'\\\\\\\\?.\",e:\"'\",i:\".\"}]},r={cN:\"number\",v:[{b:\"\\\\b(\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)(u|U|l|L|ul|UL|f|F)\"},{b:e.CNR}],r:0},a={cN:\"meta\",b:\"#\",e:\"$\",k:{\"meta-keyword\":\"if else elif endif define undef ifdef ifndef\"},c:[{b:/\\\\\\n/,r:0},{bK:\"include\",e:\"$\",k:{\"meta-keyword\":\"include\"},c:[e.inherit(t,{cN:\"meta-string\"}),{cN:\"meta-string\",b:\"<\",e:\">\",\ni:\"\\\\n\"}]},t,e.CLCM,e.CBCM]},i={cN:\"variable\",b:\"\\\\&[a-z\\\\d_]*\\\\b\"},n={cN:\"meta-keyword\",b:\"/[a-z][a-z\\\\d-]*/\"},o={cN:\"symbol\",b:\"^\\\\s*[a-zA-Z_][a-zA-Z\\\\d_]*:\"},s={cN:\"params\",b:\"<\",e:\">\",c:[r,i]},l={cN:\"class\",b:/[a-zA-Z_][a-zA-Z\\d_@]*\\s{/,e:/[{;=]/,rB:!0,eE:!0},c={cN:\"class\",b:\"/\\\\s*{\",e:\"};\",r:10,c:[i,n,o,l,s,e.CLCM,e.CBCM,r,t]};return{k:\"\",c:[c,i,n,o,l,s,e.CLCM,e.CBCM,r,t,a,{b:e.IR+\"::\",k:\"\"}]}}),e.registerLanguage(\"dust\",function(e){var t=\"if eq ne lt lte gt gte select default math sep\";return{aliases:[\"dst\"],cI:!0,sL:\"xml\",c:[{cN:\"template-tag\",b:/\\{[#\\/]/,e:/\\}/,i:/;/,c:[{cN:\"name\",b:/[a-zA-Z\\.-]+/,starts:{eW:!0,r:0,c:[e.QSM]}}]},{cN:\"template-variable\",b:/\\{/,e:/\\}/,i:/;/,k:t}]}}),e.registerLanguage(\"ebnf\",function(e){var t=e.C(/\\(\\*/,/\\*\\)/),r={cN:\"attribute\",b:/^[ ]*[a-zA-Z][a-zA-Z-]*([\\s-]+[a-zA-Z][a-zA-Z]*)*/},a={cN:\"meta\",b:/\\?.*\\?/},i={b:/=/,e:/;/,c:[t,a,e.ASM,e.QSM]};return{i:/\\S/,c:[t,r,i]}}),e.registerLanguage(\"elixir\",function(e){var t=\"[a-zA-Z_][a-zA-Z0-9_]*(\\\\!|\\\\?)?\",r=\"[a-zA-Z_]\\\\w*[!?=]?|[-+~]\\\\@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?\",a=\"and false then defined module in return redo retry end for true self when next until do begin unless nil break not case cond alias while ensure or include use alias fn quote\",i={cN:\"subst\",b:\"#\\\\{\",e:\"}\",l:t,k:a},n={cN:\"string\",c:[e.BE,i],v:[{b:/'/,e:/'/},{b:/\"/,e:/\"/}]},o={cN:\"function\",bK:\"def defp defmacro\",e:/\\B\\b/,c:[e.inherit(e.TM,{b:t,endsParent:!0})]},s=e.inherit(o,{cN:\"class\",bK:\"defimpl defmodule defprotocol defrecord\",e:/\\bdo\\b|$|;/}),l=[n,e.HCM,s,o,{cN:\"symbol\",b:\":(?!\\\\s)\",c:[n,{b:r}],r:0},{cN:\"symbol\",b:t+\":\",r:0},{cN:\"number\",b:\"(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b\",r:0},{cN:\"variable\",b:\"(\\\\$\\\\W)|((\\\\$|\\\\@\\\\@?)(\\\\w+))\"},{b:\"->\"},{b:\"(\"+e.RSR+\")\\\\s*\",c:[e.HCM,{cN:\"regexp\",i:\"\\\\n\",c:[e.BE,i],v:[{b:\"/\",e:\"/[a-z]*\"},{b:\"%r\\\\[\",e:\"\\\\][a-z]*\"}]}],r:0}];return i.c=l,{l:t,k:a,c:l}}),e.registerLanguage(\"elm\",function(e){var t={v:[e.C(\"--\",\"$\"),e.C(\"{-\",\"-}\",{c:[\"self\"]})]},r={cN:\"type\",b:\"\\\\b[A-Z][\\\\w']*\",r:0},a={b:\"\\\\(\",e:\"\\\\)\",i:'\"',c:[{cN:\"type\",b:\"\\\\b[A-Z][\\\\w]*(\\\\((\\\\.\\\\.|,|\\\\w+)\\\\))?\"},t]},i={b:\"{\",e:\"}\",c:a.c};return{k:\"let in if then else case of where module import exposing type alias as infix infixl infixr port effect command subscription\",c:[{bK:\"port effect module\",e:\"exposing\",k:\"port effect module where command subscription exposing\",c:[a,t],i:\"\\\\W\\\\.|;\"},{b:\"import\",e:\"$\",k:\"import as exposing\",c:[a,t],i:\"\\\\W\\\\.|;\"},{b:\"type\",e:\"$\",k:\"type alias\",c:[r,a,i,t]},{bK:\"infix infixl infixr\",e:\"$\",c:[e.CNM,t]},{b:\"port\",e:\"$\",k:\"port\",c:[t]},e.QSM,e.CNM,r,e.inherit(e.TM,{b:\"^[_a-z][\\\\w']*\"}),t,{b:\"->|<-\"}],i:/;/}}),e.registerLanguage(\"ruby\",function(e){var t=\"[a-zA-Z_]\\\\w*[!?=]?|[-+~]\\\\@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?\",r={keyword:\"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor\",literal:\"true false nil\"},a={cN:\"doctag\",b:\"@[A-Za-z]+\"},i={b:\"#<\",e:\">\"},n=[e.C(\"#\",\"$\",{c:[a]}),e.C(\"^\\\\=begin\",\"^\\\\=end\",{c:[a],r:10}),e.C(\"^__END__\",\"\\\\n$\")],o={cN:\"subst\",b:\"#\\\\{\",e:\"}\",k:r},s={cN:\"string\",c:[e.BE,o],v:[{b:/'/,e:/'/},{b:/\"/,e:/\"/},{b:/`/,e:/`/},{b:\"%[qQwWx]?\\\\(\",e:\"\\\\)\"},{b:\"%[qQwWx]?\\\\[\",e:\"\\\\]\"},{b:\"%[qQwWx]?{\",e:\"}\"},{b:\"%[qQwWx]?<\",e:\">\"},{b:\"%[qQwWx]?/\",e:\"/\"},{b:\"%[qQwWx]?%\",e:\"%\"},{b:\"%[qQwWx]?-\",e:\"-\"},{b:\"%[qQwWx]?\\\\|\",e:\"\\\\|\"},{b:/\\B\\?(\\\\\\d{1,3}|\\\\x[A-Fa-f0-9]{1,2}|\\\\u[A-Fa-f0-9]{4}|\\\\?\\S)\\b/},{b:/<<(-?)\\w+$/,e:/^\\s*\\w+$/}]},l={cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",endsParent:!0,k:r},c=[s,i,{cN:\"class\",bK:\"class module\",e:\"$|;\",i:/=/,c:[e.inherit(e.TM,{b:\"[A-Za-z_]\\\\w*(::\\\\w+)*(\\\\?|\\\\!)?\"}),{b:\"<\\\\s*\",c:[{b:\"(\"+e.IR+\"::)?\"+e.IR}]}].concat(n)},{cN:\"function\",bK:\"def\",e:\"$|;\",c:[e.inherit(e.TM,{b:t}),l].concat(n)},{b:e.IR+\"::\"},{cN:\"symbol\",b:e.UIR+\"(\\\\!|\\\\?)?:\",r:0},{cN:\"symbol\",b:\":(?!\\\\s)\",c:[s,{b:t}],r:0},{cN:\"number\",b:\"(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b\",r:0},{b:\"(\\\\$\\\\W)|((\\\\$|\\\\@\\\\@?)(\\\\w+))\"},{cN:\"params\",b:/\\|/,e:/\\|/,k:r},{b:\"(\"+e.RSR+\"|unless)\\\\s*\",k:\"unless\",c:[i,{cN:\"regexp\",c:[e.BE,o],i:/\\n/,v:[{b:\"/\",e:\"/[a-z]*\"},{b:\"%r{\",e:\"}[a-z]*\"},{b:\"%r\\\\(\",e:\"\\\\)[a-z]*\"},{b:\"%r!\",e:\"![a-z]*\"},{b:\"%r\\\\[\",e:\"\\\\][a-z]*\"}]}].concat(n),r:0}].concat(n);o.c=c,l.c=c;var d=\"[>?]>\",p=\"[\\\\w#]+\\\\(\\\\w+\\\\):\\\\d+:\\\\d+>\",m=\"(\\\\w+-)?\\\\d+\\\\.\\\\d+\\\\.\\\\d(p\\\\d+)?[^>]+>\",u=[{b:/^\\s*=>/,starts:{e:\"$\",c:c}},{cN:\"meta\",b:\"^(\"+d+\"|\"+p+\"|\"+m+\")\",starts:{e:\"$\",c:c}}];return{aliases:[\"rb\",\"gemspec\",\"podspec\",\"thor\",\"irb\"],k:r,i:/\\/\\*/,c:n.concat(u).concat(c)}}),e.registerLanguage(\"erb\",function(e){return{sL:\"xml\",c:[e.C(\"<%#\",\"%>\"),{b:\"<%[%=-]?\",e:\"[%-]?%>\",sL:\"ruby\",eB:!0,eE:!0}]}}),e.registerLanguage(\"erlang-repl\",function(e){return{k:{built_in:\"spawn spawn_link self\",keyword:\"after and andalso|10 band begin bnot bor bsl bsr bxor case catch cond div end fun if let not of or orelse|10 query receive rem try when xor\"},c:[{cN:\"meta\",b:\"^[0-9]+> \",r:10},e.C(\"%\",\"$\"),{cN:\"number\",b:\"\\\\b(\\\\d+#[a-fA-F0-9]+|\\\\d+(\\\\.\\\\d+)?([eE][-+]?\\\\d+)?)\",r:0},e.ASM,e.QSM,{b:\"\\\\?(::)?([A-Z]\\\\w*(::)?)+\"},{b:\"->\"},{b:\"ok\"},{b:\"!\"},{b:\"(\\\\b[a-z'][a-zA-Z0-9_']*:[a-z'][a-zA-Z0-9_']*)|(\\\\b[a-z'][a-zA-Z0-9_']*)\",r:0},{b:\"[A-Z][a-zA-Z0-9_']*\",r:0}]}}),e.registerLanguage(\"erlang\",function(e){var t=\"[a-z'][a-zA-Z0-9_']*\",r=\"(\"+t+\":\"+t+\"|\"+t+\")\",a={keyword:\"after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun if let not of orelse|10 query receive rem try when xor\",literal:\"false true\"},i=e.C(\"%\",\"$\"),n={cN:\"number\",b:\"\\\\b(\\\\d+#[a-fA-F0-9]+|\\\\d+(\\\\.\\\\d+)?([eE][-+]?\\\\d+)?)\",r:0},o={b:\"fun\\\\s+\"+t+\"/\\\\d+\"},s={b:r+\"\\\\(\",e:\"\\\\)\",rB:!0,r:0,c:[{b:r,r:0},{b:\"\\\\(\",e:\"\\\\)\",eW:!0,rE:!0,r:0}]},l={b:\"{\",e:\"}\",r:0},c={b:\"\\\\b_([A-Z][A-Za-z0-9_]*)?\",r:0},d={b:\"[A-Z][a-zA-Z0-9_]*\",r:0},p={b:\"#\"+e.UIR,r:0,rB:!0,c:[{b:\"#\"+e.UIR,r:0},{b:\"{\",e:\"}\",r:0}]},m={bK:\"fun receive if try case\",e:\"end\",k:a};m.c=[i,o,e.inherit(e.ASM,{cN:\"\"}),m,s,e.QSM,n,l,c,d,p];var u=[i,o,m,s,e.QSM,n,l,c,d,p];s.c[1].c=u,l.c=u,p.c[1].c=u;var b={cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",c:u};return{aliases:[\"erl\"],k:a,i:\"(</|\\\\*=|\\\\+=|-=|/\\\\*|\\\\*/|\\\\(\\\\*|\\\\*\\\\))\",c:[{cN:\"function\",b:\"^\"+t+\"\\\\s*\\\\(\",e:\"->\",rB:!0,i:\"\\\\(|#|//|/\\\\*|\\\\\\\\|:|;\",c:[b,e.inherit(e.TM,{b:t})],starts:{e:\";|\\\\.\",k:a,c:u}},i,{b:\"^-\",e:\"\\\\.\",r:0,eE:!0,rB:!0,l:\"-\"+e.IR,k:\"-module -record -undef -export -ifdef -ifndef -author -copyright -doc -vsn -import -include -include_lib -compile -define -else -endif -file -behaviour -behavior -spec\",c:[b]},n,e.QSM,p,c,d,l,{b:/\\.$/}]}}),e.registerLanguage(\"excel\",function(e){return{aliases:[\"xlsx\",\"xls\"],cI:!0,l:/[a-zA-Z][\\w\\.]*/,k:{built_in:\"ABS ACCRINT ACCRINTM ACOS ACOSH ACOT ACOTH AGGREGATE ADDRESS AMORDEGRC AMORLINC AND ARABIC AREAS ASC ASIN ASINH ATAN ATAN2 ATANH AVEDEV AVERAGE AVERAGEA AVERAGEIF AVERAGEIFS BAHTTEXT BASE BESSELI BESSELJ BESSELK BESSELY BETADIST BETA.DIST BETAINV BETA.INV BIN2DEC BIN2HEX BIN2OCT BINOMDIST BINOM.DIST BINOM.DIST.RANGE BINOM.INV BITAND BITLSHIFT BITOR BITRSHIFT BITXOR CALL CEILING CEILING.MATH CEILING.PRECISE CELL CHAR CHIDIST CHIINV CHITEST CHISQ.DIST CHISQ.DIST.RT CHISQ.INV CHISQ.INV.RT CHISQ.TEST CHOOSE CLEAN CODE COLUMN COLUMNS COMBIN COMBINA COMPLEX CONCAT CONCATENATE CONFIDENCE CONFIDENCE.NORM CONFIDENCE.T CONVERT CORREL COS COSH COT COTH COUNT COUNTA COUNTBLANK COUNTIF COUNTIFS COUPDAYBS COUPDAYS COUPDAYSNC COUPNCD COUPNUM COUPPCD COVAR COVARIANCE.P COVARIANCE.S CRITBINOM CSC CSCH CUBEKPIMEMBER CUBEMEMBER CUBEMEMBERPROPERTY CUBERANKEDMEMBER CUBESET CUBESETCOUNT CUBEVALUE CUMIPMT CUMPRINC DATE DATEDIF DATEVALUE DAVERAGE DAY DAYS DAYS360 DB DBCS DCOUNT DCOUNTA DDB DEC2BIN DEC2HEX DEC2OCT DECIMAL DEGREES DELTA DEVSQ DGET DISC DMAX DMIN DOLLAR DOLLARDE DOLLARFR DPRODUCT DSTDEV DSTDEVP DSUM DURATION DVAR DVARP EDATE EFFECT ENCODEURL EOMONTH ERF ERF.PRECISE ERFC ERFC.PRECISE ERROR.TYPE EUROCONVERT EVEN EXACT EXP EXPON.DIST EXPONDIST FACT FACTDOUBLE FALSE|0 F.DIST FDIST F.DIST.RT FILTERXML FIND FINDB F.INV F.INV.RT FINV FISHER FISHERINV FIXED FLOOR FLOOR.MATH FLOOR.PRECISE FORECAST FORECAST.ETS FORECAST.ETS.CONFINT FORECAST.ETS.SEASONALITY FORECAST.ETS.STAT FORECAST.LINEAR FORMULATEXT FREQUENCY F.TEST FTEST FV FVSCHEDULE GAMMA GAMMA.DIST GAMMADIST GAMMA.INV GAMMAINV GAMMALN GAMMALN.PRECISE GAUSS GCD GEOMEAN GESTEP GETPIVOTDATA GROWTH HARMEAN HEX2BIN HEX2DEC HEX2OCT HLOOKUP HOUR HYPERLINK HYPGEOM.DIST HYPGEOMDIST IF|0 IFERROR IFNA IFS IMABS IMAGINARY IMARGUMENT IMCONJUGATE IMCOS IMCOSH IMCOT IMCSC IMCSCH IMDIV IMEXP IMLN IMLOG10 IMLOG2 IMPOWER IMPRODUCT IMREAL IMSEC IMSECH IMSIN IMSINH IMSQRT IMSUB IMSUM IMTAN INDEX INDIRECT INFO INT INTERCEPT INTRATE IPMT IRR ISBLANK ISERR ISERROR ISEVEN ISFORMULA ISLOGICAL ISNA ISNONTEXT ISNUMBER ISODD ISREF ISTEXT ISO.CEILING ISOWEEKNUM ISPMT JIS KURT LARGE LCM LEFT LEFTB LEN LENB LINEST LN LOG LOG10 LOGEST LOGINV LOGNORM.DIST LOGNORMDIST LOGNORM.INV LOOKUP LOWER MATCH MAX MAXA MAXIFS MDETERM MDURATION MEDIAN MID MIDBs MIN MINIFS MINA MINUTE MINVERSE MIRR MMULT MOD MODE MODE.MULT MODE.SNGL MONTH MROUND MULTINOMIAL MUNIT N NA NEGBINOM.DIST NEGBINOMDIST NETWORKDAYS NETWORKDAYS.INTL NOMINAL NORM.DIST NORMDIST NORMINV NORM.INV NORM.S.DIST NORMSDIST NORM.S.INV NORMSINV NOT NOW NPER NPV NUMBERVALUE OCT2BIN OCT2DEC OCT2HEX ODD ODDFPRICE ODDFYIELD ODDLPRICE ODDLYIELD OFFSET OR PDURATION PEARSON PERCENTILE.EXC PERCENTILE.INC PERCENTILE PERCENTRANK.EXC PERCENTRANK.INC PERCENTRANK PERMUT PERMUTATIONA PHI PHONETIC PI PMT POISSON.DIST POISSON POWER PPMT PRICE PRICEDISC PRICEMAT PROB PRODUCT PROPER PV QUARTILE QUARTILE.EXC QUARTILE.INC QUOTIENT RADIANS RAND RANDBETWEEN RANK.AVG RANK.EQ RANK RATE RECEIVED REGISTER.ID REPLACE REPLACEB REPT RIGHT RIGHTB ROMAN ROUND ROUNDDOWN ROUNDUP ROW ROWS RRI RSQ RTD SEARCH SEARCHB SEC SECH SECOND SERIESSUM SHEET SHEETS SIGN SIN SINH SKEW SKEW.P SLN SLOPE SMALL SQL.REQUEST SQRT SQRTPI STANDARDIZE STDEV STDEV.P STDEV.S STDEVA STDEVP STDEVPA STEYX SUBSTITUTE SUBTOTAL SUM SUMIF SUMIFS SUMPRODUCT SUMSQ SUMX2MY2 SUMX2PY2 SUMXMY2 SWITCH SYD T TAN TANH TBILLEQ TBILLPRICE TBILLYIELD T.DIST T.DIST.2T T.DIST.RT TDIST TEXT TEXTJOIN TIME TIMEVALUE T.INV T.INV.2T TINV TODAY TRANSPOSE TREND TRIM TRIMMEAN TRUE|0 TRUNC T.TEST TTEST TYPE UNICHAR UNICODE UPPER VALUE VAR VAR.P VAR.S VARA VARP VARPA VDB VLOOKUP WEBSERVICE WEEKDAY WEEKNUM WEIBULL WEIBULL.DIST WORKDAY WORKDAY.INTL XIRR XNPV XOR YEAR YEARFRAC YIELD YIELDDISC YIELDMAT Z.TEST ZTEST\"},c:[{b:/^=/,e:/[^=]/,rE:!0,i:/=/,r:10},{cN:\"symbol\",b:/\\b[A-Z]{1,2}\\d+\\b/,e:/[^\\d]/,eE:!0,r:0},{cN:\"symbol\",b:/[A-Z]{0,2}\\d*:[A-Z]{0,2}\\d*/,r:0},e.BE,e.QSM,{cN:\"number\",b:e.NR+\"(%)?\",r:0},e.C(/\\bN\\(/,/\\)/,{eB:!0,eE:!0,i:/\\n/})]}}),e.registerLanguage(\"fix\",function(e){return{c:[{b:/[^\\u2401\\u0001]+/,e:/[\\u2401\\u0001]/,eE:!0,rB:!0,rE:!1,c:[{b:/([^\\u2401\\u0001=]+)/,e:/=([^\\u2401\\u0001=]+)/,rE:!0,rB:!1,cN:\"attr\"},{b:/=/,e:/([\\u2401\\u0001])/,eE:!0,eB:!0,cN:\"string\"}]}],cI:!0}}),e.registerLanguage(\"flix\",function(e){var t={cN:\"string\",b:/'(.|\\\\[xXuU][a-zA-Z0-9]+)'/},r={cN:\"string\",v:[{b:'\"',e:'\"'}]},a={cN:\"title\",b:/[^0-9\\n\\t \"'(),.`{}\\[\\]:;][^\\n\\t \"'(),.`{}\\[\\]:;]+|[^0-9\\n\\t \"'(),.`{}\\[\\]:;=]/},i={cN:\"function\",bK:\"def\",e:/[:={\\[(\\n;]/,eE:!0,c:[a]};return{k:{literal:\"true false\",keyword:\"case class def else enum if impl import in lat rel index let match namespace switch type yield with\"},c:[e.CLCM,e.CBCM,t,r,i,e.CNM]}}),e.registerLanguage(\"fortran\",function(e){var t={cN:\"params\",b:\"\\\\(\",e:\"\\\\)\"},r={literal:\".False. .True.\",keyword:\"kind do while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated  c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure integer real character complex logical dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data\",built_in:\"alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_ofacosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image\"};return{cI:!0,aliases:[\"f90\",\"f95\"],k:r,i:/\\/\\*/,c:[e.inherit(e.ASM,{cN:\"string\",r:0}),e.inherit(e.QSM,{cN:\"string\",r:0}),{cN:\"function\",bK:\"subroutine function program\",i:\"[${=\\\\n]\",c:[e.UTM,t]},e.C(\"!\",\"$\",{r:0}),{cN:\"number\",b:\"(?=\\\\b|\\\\+|\\\\-|\\\\.)(?=\\\\.\\\\d|\\\\d)(?:\\\\d+)?(?:\\\\.?\\\\d*)(?:[de][+-]?\\\\d+)?\\\\b\\\\.?\",r:0}]}}),e.registerLanguage(\"fsharp\",function(e){var t={b:\"<\",e:\">\",c:[e.inherit(e.TM,{b:/'[a-zA-Z0-9_]+/})]};return{aliases:[\"fs\"],k:\"abstract and as assert base begin class default delegate do done downcast downto elif else end exception extern false finally for fun function global if in inherit inline interface internal lazy let match member module mutable namespace new null of open or override private public rec return sig static struct then to true try type upcast use val void when while with yield\",i:/\\/\\*/,c:[{cN:\"keyword\",b:/\\b(yield|return|let|do)!/},{cN:\"string\",b:'@\"',e:'\"',c:[{b:'\"\"'}]},{cN:\"string\",b:'\"\"\"',e:'\"\"\"'},e.C(\"\\\\(\\\\*\",\"\\\\*\\\\)\"),{cN:\"class\",bK:\"type\",e:\"\\\\(|=|$\",eE:!0,c:[e.UTM,t]},{cN:\"meta\",b:\"\\\\[<\",e:\">\\\\]\",r:10},{cN:\"symbol\",b:\"\\\\B('[A-Za-z])\\\\b\",c:[e.BE]},e.CLCM,e.inherit(e.QSM,{i:null}),e.CNM]}}),e.registerLanguage(\"gams\",function(e){var t={keyword:\"abort acronym acronyms alias all and assign binary card diag display else eq file files for free ge gt if integer le loop lt maximizing minimizing model models ne negative no not option options or ord positive prod put putpage puttl repeat sameas semicont semiint smax smin solve sos1 sos2 sum system table then until using while xor yes\",literal:\"eps inf na\",\"built-in\":\"abs arccos arcsin arctan arctan2 Beta betaReg binomial ceil centropy cos cosh cvPower div div0 eDist entropy errorf execSeed exp fact floor frac gamma gammaReg log logBeta logGamma log10 log2 mapVal max min mod ncpCM ncpF ncpVUpow ncpVUsin normal pi poly power randBinomial randLinear randTriangle round rPower sigmoid sign signPower sin sinh slexp sllog10 slrec sqexp sqlog10 sqr sqrec sqrt tan tanh trunc uniform uniformInt vcPower bool_and bool_eqv bool_imp bool_not bool_or bool_xor ifThen rel_eq rel_ge rel_gt rel_le rel_lt rel_ne gday gdow ghour gleap gmillisec gminute gmonth gsecond gyear jdate jnow jstart jtime errorLevel execError gamsRelease gamsVersion handleCollect handleDelete handleStatus handleSubmit heapFree heapLimit heapSize jobHandle jobKill jobStatus jobTerminate licenseLevel licenseStatus maxExecError sleep timeClose timeComp timeElapsed timeExec timeStart\"},r={cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0},a={cN:\"symbol\",v:[{b:/\\=[lgenxc]=/},{b:/\\$/}]},i={cN:\"comment\",v:[{b:\"'\",e:\"'\"},{b:'\"',e:'\"'}],i:\"\\\\n\",c:[e.BE]},n={b:\"/\",e:\"/\",k:t,c:[i,e.CLCM,e.CBCM,e.QSM,e.ASM,e.CNM]},o={b:/[a-z][a-z0-9_]*(\\([a-z0-9_, ]*\\))?[ \\t]+/,eB:!0,e:\"$\",eW:!0,c:[i,n,{cN:\"comment\",b:/([ ]*[a-z0-9&#*=?@>\\\\<:\\-,()$\\[\\]_.{}!+%^]+)+/,r:0}]};return{aliases:[\"gms\"],cI:!0,k:t,c:[e.C(/^\\$ontext/,/^\\$offtext/),{cN:\"meta\",b:\"^\\\\$[a-z0-9]+\",e:\"$\",rB:!0,c:[{cN:\"meta-keyword\",b:\"^\\\\$[a-z0-9]+\"}]},e.C(\"^\\\\*\",\"$\"),e.CLCM,e.CBCM,e.QSM,e.ASM,{bK:\"set sets parameter parameters variable variables scalar scalars equation equations\",e:\";\",c:[e.C(\"^\\\\*\",\"$\"),e.CLCM,e.CBCM,e.QSM,e.ASM,n,o]},{bK:\"table\",e:\";\",rB:!0,c:[{bK:\"table\",e:\"$\",c:[o]},e.C(\"^\\\\*\",\"$\"),e.CLCM,e.CBCM,e.QSM,e.ASM,e.CNM]},{cN:\"function\",b:/^[a-z][a-z0-9_,\\-+' ()$]+\\.{2}/,rB:!0,c:[{cN:\"title\",b:/^[a-z0-9_]+/},r,a]},e.CNM,a]}}),e.registerLanguage(\"gauss\",function(e){var t={keyword:\"and bool break call callexe checkinterrupt clear clearg closeall cls comlog compile continue create debug declare delete disable dlibrary dllcall do dos ed edit else elseif enable end endfor endif endp endo errorlog errorlogat expr external fn for format goto gosub graph if keyword let lib library line load loadarray loadexe loadf loadk loadm loadp loads loadx local locate loopnextindex lprint lpwidth lshow matrix msym ndpclex new not open or output outwidth plot plotsym pop prcsn print printdos proc push retp return rndcon rndmod rndmult rndseed run save saveall screen scroll setarray show sparse stop string struct system trace trap threadfor threadendfor threadbegin threadjoin threadstat threadend until use while winprint\",built_in:\"abs acf aconcat aeye amax amean AmericanBinomCall AmericanBinomCall_Greeks AmericanBinomCall_ImpVol AmericanBinomPut AmericanBinomPut_Greeks AmericanBinomPut_ImpVol AmericanBSCall AmericanBSCall_Greeks AmericanBSCall_ImpVol AmericanBSPut AmericanBSPut_Greeks AmericanBSPut_ImpVol amin amult annotationGetDefaults annotationSetBkd annotationSetFont annotationSetLineColor annotationSetLineStyle annotationSetLineThickness annualTradingDays arccos arcsin areshape arrayalloc arrayindex arrayinit arraytomat asciiload asclabel astd astds asum atan atan2 atranspose axmargin balance band bandchol bandcholsol bandltsol bandrv bandsolpd bar base10 begwind besselj bessely beta box boxcox cdfBeta cdfBetaInv cdfBinomial cdfBinomialInv cdfBvn cdfBvn2 cdfBvn2e cdfCauchy cdfCauchyInv cdfChic cdfChii cdfChinc cdfChincInv cdfExp cdfExpInv cdfFc cdfFnc cdfFncInv cdfGam cdfGenPareto cdfHyperGeo cdfLaplace cdfLaplaceInv cdfLogistic cdfLogisticInv cdfmControlCreate cdfMvn cdfMvn2e cdfMvnce cdfMvne cdfMvt2e cdfMvtce cdfMvte cdfN cdfN2 cdfNc cdfNegBinomial cdfNegBinomialInv cdfNi cdfPoisson cdfPoissonInv cdfRayleigh cdfRayleighInv cdfTc cdfTci cdfTnc cdfTvn cdfWeibull cdfWeibullInv cdir ceil ChangeDir chdir chiBarSquare chol choldn cholsol cholup chrs close code cols colsf combinate combinated complex con cond conj cons ConScore contour conv convertsatostr convertstrtosa corrm corrms corrvc corrx corrxs cos cosh counts countwts crossprd crout croutp csrcol csrlin csvReadM csvReadSA cumprodc cumsumc curve cvtos datacreate datacreatecomplex datalist dataload dataloop dataopen datasave date datestr datestring datestrymd dayinyr dayofweek dbAddDatabase dbClose dbCommit dbCreateQuery dbExecQuery dbGetConnectOptions dbGetDatabaseName dbGetDriverName dbGetDrivers dbGetHostName dbGetLastErrorNum dbGetLastErrorText dbGetNumericalPrecPolicy dbGetPassword dbGetPort dbGetTableHeaders dbGetTables dbGetUserName dbHasFeature dbIsDriverAvailable dbIsOpen dbIsOpenError dbOpen dbQueryBindValue dbQueryClear dbQueryCols dbQueryExecPrepared dbQueryFetchAllM dbQueryFetchAllSA dbQueryFetchOneM dbQueryFetchOneSA dbQueryFinish dbQueryGetBoundValue dbQueryGetBoundValues dbQueryGetField dbQueryGetLastErrorNum dbQueryGetLastErrorText dbQueryGetLastInsertID dbQueryGetLastQuery dbQueryGetPosition dbQueryIsActive dbQueryIsForwardOnly dbQueryIsNull dbQueryIsSelect dbQueryIsValid dbQueryPrepare dbQueryRows dbQuerySeek dbQuerySeekFirst dbQuerySeekLast dbQuerySeekNext dbQuerySeekPrevious dbQuerySetForwardOnly dbRemoveDatabase dbRollback dbSetConnectOptions dbSetDatabaseName dbSetHostName dbSetNumericalPrecPolicy dbSetPort dbSetUserName dbTransaction DeleteFile delif delrows denseToSp denseToSpRE denToZero design det detl dfft dffti diag diagrv digamma doswin DOSWinCloseall DOSWinOpen dotfeq dotfeqmt dotfge dotfgemt dotfgt dotfgtmt dotfle dotflemt dotflt dotfltmt dotfne dotfnemt draw drop dsCreate dstat dstatmt dstatmtControlCreate dtdate dtday dttime dttodtv dttostr dttoutc dtvnormal dtvtodt dtvtoutc dummy dummybr dummydn eig eigh eighv eigv elapsedTradingDays endwind envget eof eqSolve eqSolvemt eqSolvemtControlCreate eqSolvemtOutCreate eqSolveset erf erfc erfccplx erfcplx error etdays ethsec etstr EuropeanBinomCall EuropeanBinomCall_Greeks EuropeanBinomCall_ImpVol EuropeanBinomPut EuropeanBinomPut_Greeks EuropeanBinomPut_ImpVol EuropeanBSCall EuropeanBSCall_Greeks EuropeanBSCall_ImpVol EuropeanBSPut EuropeanBSPut_Greeks EuropeanBSPut_ImpVol exctsmpl exec execbg exp extern eye fcheckerr fclearerr feq feqmt fflush fft ffti fftm fftmi fftn fge fgemt fgets fgetsa fgetsat fgetst fgt fgtmt fileinfo filesa fle flemt floor flt fltmt fmod fne fnemt fonts fopen formatcv formatnv fputs fputst fseek fstrerror ftell ftocv ftos ftostrC gamma gammacplx gammaii gausset gdaAppend gdaCreate gdaDStat gdaDStatMat gdaGetIndex gdaGetName gdaGetNames gdaGetOrders gdaGetType gdaGetTypes gdaGetVarInfo gdaIsCplx gdaLoad gdaPack gdaRead gdaReadByIndex gdaReadSome gdaReadSparse gdaReadStruct gdaReportVarInfo gdaSave gdaUpdate gdaUpdateAndPack gdaVars gdaWrite gdaWrite32 gdaWriteSome getarray getdims getf getGAUSShome getmatrix getmatrix4D getname getnamef getNextTradingDay getNextWeekDay getnr getorders getpath getPreviousTradingDay getPreviousWeekDay getRow getscalar3D getscalar4D getTrRow getwind glm gradcplx gradMT gradMTm gradMTT gradMTTm gradp graphprt graphset hasimag header headermt hess hessMT hessMTg hessMTgw hessMTm hessMTmw hessMTT hessMTTg hessMTTgw hessMTTm hessMTw hessp hist histf histp hsec imag indcv indexcat indices indices2 indicesf indicesfn indnv indsav integrate1d integrateControlCreate intgrat2 intgrat3 inthp1 inthp2 inthp3 inthp4 inthpControlCreate intquad1 intquad2 intquad3 intrleav intrleavsa intrsect intsimp inv invpd invswp iscplx iscplxf isden isinfnanmiss ismiss key keyav keyw lag lag1 lagn lapEighb lapEighi lapEighvb lapEighvi lapgEig lapgEigh lapgEighv lapgEigv lapgSchur lapgSvdcst lapgSvds lapgSvdst lapSvdcusv lapSvds lapSvdusv ldlp ldlsol linSolve listwise ln lncdfbvn lncdfbvn2 lncdfmvn lncdfn lncdfn2 lncdfnc lnfact lngammacplx lnpdfmvn lnpdfmvt lnpdfn lnpdft loadd loadstruct loadwind loess loessmt loessmtControlCreate log loglog logx logy lower lowmat lowmat1 ltrisol lu lusol machEpsilon make makevars makewind margin matalloc matinit mattoarray maxbytes maxc maxindc maxv maxvec mbesselei mbesselei0 mbesselei1 mbesseli mbesseli0 mbesseli1 meanc median mergeby mergevar minc minindc minv miss missex missrv moment momentd movingave movingaveExpwgt movingaveWgt nextindex nextn nextnevn nextwind ntos null null1 numCombinations ols olsmt olsmtControlCreate olsqr olsqr2 olsqrmt ones optn optnevn orth outtyp pacf packedToSp packr parse pause pdfCauchy pdfChi pdfExp pdfGenPareto pdfHyperGeo pdfLaplace pdfLogistic pdfn pdfPoisson pdfRayleigh pdfWeibull pi pinv pinvmt plotAddArrow plotAddBar plotAddBox plotAddHist plotAddHistF plotAddHistP plotAddPolar plotAddScatter plotAddShape plotAddTextbox plotAddTS plotAddXY plotArea plotBar plotBox plotClearLayout plotContour plotCustomLayout plotGetDefaults plotHist plotHistF plotHistP plotLayout plotLogLog plotLogX plotLogY plotOpenWindow plotPolar plotSave plotScatter plotSetAxesPen plotSetBar plotSetBarFill plotSetBarStacked plotSetBkdColor plotSetFill plotSetGrid plotSetLegend plotSetLineColor plotSetLineStyle plotSetLineSymbol plotSetLineThickness plotSetNewWindow plotSetTitle plotSetWhichYAxis plotSetXAxisShow plotSetXLabel plotSetXRange plotSetXTicInterval plotSetXTicLabel plotSetYAxisShow plotSetYLabel plotSetYRange plotSetZAxisShow plotSetZLabel plotSurface plotTS plotXY polar polychar polyeval polygamma polyint polymake polymat polymroot polymult polyroot pqgwin previousindex princomp printfm printfmt prodc psi putarray putf putvals pvCreate pvGetIndex pvGetParNames pvGetParVector pvLength pvList pvPack pvPacki pvPackm pvPackmi pvPacks pvPacksi pvPacksm pvPacksmi pvPutParVector pvTest pvUnpack QNewton QNewtonmt QNewtonmtControlCreate QNewtonmtOutCreate QNewtonSet QProg QProgmt QProgmtInCreate qqr qqre qqrep qr qre qrep qrsol qrtsol qtyr qtyre qtyrep quantile quantiled qyr qyre qyrep qz rank rankindx readr real reclassify reclassifyCuts recode recserar recsercp recserrc rerun rescale reshape rets rev rfft rffti rfftip rfftn rfftnp rfftp rndBernoulli rndBeta rndBinomial rndCauchy rndChiSquare rndCon rndCreateState rndExp rndGamma rndGeo rndGumbel rndHyperGeo rndi rndKMbeta rndKMgam rndKMi rndKMn rndKMnb rndKMp rndKMu rndKMvm rndLaplace rndLCbeta rndLCgam rndLCi rndLCn rndLCnb rndLCp rndLCu rndLCvm rndLogNorm rndMTu rndMVn rndMVt rndn rndnb rndNegBinomial rndp rndPoisson rndRayleigh rndStateSkip rndu rndvm rndWeibull rndWishart rotater round rows rowsf rref sampleData satostrC saved saveStruct savewind scale scale3d scalerr scalinfnanmiss scalmiss schtoc schur searchsourcepath seekr select selif seqa seqm setdif setdifsa setvars setvwrmode setwind shell shiftr sin singleindex sinh sleep solpd sortc sortcc sortd sorthc sorthcc sortind sortindc sortmc sortr sortrc spBiconjGradSol spChol spConjGradSol spCreate spDenseSubmat spDiagRvMat spEigv spEye spLDL spline spLU spNumNZE spOnes spreadSheetReadM spreadSheetReadSA spreadSheetWrite spScale spSubmat spToDense spTrTDense spTScalar spZeros sqpSolve sqpSolveMT sqpSolveMTControlCreate sqpSolveMTlagrangeCreate sqpSolveMToutCreate sqpSolveSet sqrt statements stdc stdsc stocv stof strcombine strindx strlen strput strrindx strsect strsplit strsplitPad strtodt strtof strtofcplx strtriml strtrimr strtrunc strtruncl strtruncpad strtruncr submat subscat substute subvec sumc sumr surface svd svd1 svd2 svdcusv svds svdusv sysstate tab tan tanh tempname threadBegin threadEnd threadEndFor threadFor threadJoin threadStat time timedt timestr timeutc title tkf2eps tkf2ps tocart todaydt toeplitz token topolar trapchk trigamma trimr trunc type typecv typef union unionsa uniqindx uniqindxsa unique uniquesa upmat upmat1 upper utctodt utctodtv utrisol vals varCovMS varCovXS varget vargetl varmall varmares varput varputl vartypef vcm vcms vcx vcxs vec vech vecr vector vget view viewxyz vlist vnamecv volume vput vread vtypecv wait waitc walkindex where window writer xlabel xlsGetSheetCount xlsGetSheetSize xlsGetSheetTypes xlsMakeRange xlsReadM xlsReadSA xlsWrite xlsWriteM xlsWriteSA xpnd xtics xy xyz ylabel ytics zeros zeta zlabel ztics cdfEmpirical dot h5create h5open h5read h5readAttribute h5write h5writeAttribute ldl plotAddErrorBar plotAddSurface plotCDFEmpirical plotSetColormap plotSetContourLabels plotSetLegendFont plotSetTextInterpreter plotSetXTicCount plotSetYTicCount plotSetZLevels powerm strjoin strtrim sylvester\",literal:\"DB_AFTER_LAST_ROW DB_ALL_TABLES DB_BATCH_OPERATIONS DB_BEFORE_FIRST_ROW DB_BLOB DB_EVENT_NOTIFICATIONS DB_FINISH_QUERY DB_HIGH_PRECISION DB_LAST_INSERT_ID DB_LOW_PRECISION_DOUBLE DB_LOW_PRECISION_INT32 DB_LOW_PRECISION_INT64 DB_LOW_PRECISION_NUMBERS DB_MULTIPLE_RESULT_SETS DB_NAMED_PLACEHOLDERS DB_POSITIONAL_PLACEHOLDERS DB_PREPARED_QUERIES DB_QUERY_SIZE DB_SIMPLE_LOCKING DB_SYSTEM_TABLES DB_TABLES DB_TRANSACTIONS DB_UNICODE DB_VIEWS\"},r={cN:\"meta\",b:\"#\",e:\"$\",k:{\"meta-keyword\":\"define definecs|10 undef ifdef ifndef iflight ifdllcall ifmac ifos2win ifunix else endif lineson linesoff srcfile srcline\"},c:[{b:/\\\\\\n/,r:0},{bK:\"include\",e:\"$\",k:{\"meta-keyword\":\"include\"},c:[{cN:\"meta-string\",b:'\"',e:'\"',i:\"\\\\n\"}]},e.CLCM,e.CBCM]},a=e.UIR+\"\\\\s*\\\\(?\",i=[{cN:\"params\",b:/\\(/,e:/\\)/,k:t,r:0,c:[e.CNM,e.CLCM,e.CBCM]}];return{aliases:[\"gss\"],cI:!0,k:t,i:\"(\\\\{[%#]|[%#]\\\\})\",c:[e.CNM,e.CLCM,e.CBCM,e.C(\"@\",\"@\"),r,{cN:\"string\",b:'\"',e:'\"',c:[e.BE]},{cN:\"function\",bK:\"proc keyword\",e:\";\",eE:!0,k:t,c:[{b:a,rB:!0,c:[e.UTM],r:0},e.CNM,e.CLCM,e.CBCM,r].concat(i)},{cN:\"function\",bK:\"fn\",e:\";\",eE:!0,k:t,c:[{b:a+e.IR+\"\\\\)?\\\\s*\\\\=\\\\s*\",rB:!0,c:[e.UTM],r:0},e.CNM,e.CLCM,e.CBCM].concat(i)},{cN:\"function\",b:\"\\\\bexternal (proc|keyword|fn)\\\\s+\",e:\";\",eE:!0,k:t,c:[{b:a,rB:!0,c:[e.UTM],r:0},e.CLCM,e.CBCM]},{cN:\"function\",b:\"\\\\bexternal (matrix|string|array|sparse matrix|struct \"+e.IR+\")\\\\s+\",e:\";\",eE:!0,k:t,c:[e.CLCM,e.CBCM]}]}}),e.registerLanguage(\"gcode\",function(e){var t=\"[A-Z_][A-Z0-9_.]*\",r=\"\\\\%\",a=\"IF DO WHILE ENDWHILE CALL ENDIF SUB ENDSUB GOTO REPEAT ENDREPEAT EQ LT GT NE GE LE OR XOR\",i={cN:\"meta\",b:\"([O])([0-9]+)\"},n=[e.CLCM,e.CBCM,e.C(/\\(/,/\\)/),e.inherit(e.CNM,{b:\"([-+]?([0-9]*\\\\.?[0-9]+\\\\.?))|\"+e.CNR}),e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null}),{cN:\"name\",b:\"([G])([0-9]+\\\\.?[0-9]?)\"},{cN:\"name\",b:\"([M])([0-9]+\\\\.?[0-9]?)\"},{cN:\"attr\",b:\"(VC|VS|#)\",e:\"(\\\\d+)\"},{cN:\"attr\",b:\"(VZOFX|VZOFY|VZOFZ)\"},{cN:\"built_in\",b:\"(ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN)(\\\\[)\",e:\"([-+]?([0-9]*\\\\.?[0-9]+\\\\.?))(\\\\])\"},{cN:\"symbol\",v:[{b:\"N\",e:\"\\\\d+\",i:\"\\\\W\"}]}];return{aliases:[\"nc\"],cI:!0,l:t,k:a,c:[{cN:\"meta\",b:r},i].concat(n)}}),e.registerLanguage(\"gherkin\",function(e){return{aliases:[\"feature\"],k:\"Feature Background Ability Business Need Scenario Scenarios Scenario Outline Scenario Template Examples Given And Then But When\",c:[{cN:\"symbol\",b:\"\\\\*\",r:0},{cN:\"meta\",b:\"@[^@\\\\s]+\"},{b:\"\\\\|\",e:\"\\\\|\\\\w*$\",c:[{cN:\"string\",b:\"[^|]+\"}]},{cN:\"variable\",b:\"<\",e:\">\"},e.HCM,{cN:\"string\",b:'\"\"\"',e:'\"\"\"'},e.QSM]}}),e.registerLanguage(\"glsl\",function(e){return{k:{keyword:\"break continue discard do else for if return while switch case default attribute binding buffer ccw centroid centroid varying coherent column_major const cw depth_any depth_greater depth_less depth_unchanged early_fragment_tests equal_spacing flat fractional_even_spacing fractional_odd_spacing highp in index inout invariant invocations isolines layout line_strip lines lines_adjacency local_size_x local_size_y local_size_z location lowp max_vertices mediump noperspective offset origin_upper_left out packed patch pixel_center_integer point_mode points precise precision quads r11f_g11f_b10f r16 r16_snorm r16f r16i r16ui r32f r32i r32ui r8 r8_snorm r8i r8ui readonly restrict rg16 rg16_snorm rg16f rg16i rg16ui rg32f rg32i rg32ui rg8 rg8_snorm rg8i rg8ui rgb10_a2 rgb10_a2ui rgba16 rgba16_snorm rgba16f rgba16i rgba16ui rgba32f rgba32i rgba32ui rgba8 rgba8_snorm rgba8i rgba8ui row_major sample shared smooth std140 std430 stream triangle_strip triangles triangles_adjacency uniform varying vertices volatile writeonly\",\ntype:\"atomic_uint bool bvec2 bvec3 bvec4 dmat2 dmat2x2 dmat2x3 dmat2x4 dmat3 dmat3x2 dmat3x3 dmat3x4 dmat4 dmat4x2 dmat4x3 dmat4x4 double dvec2 dvec3 dvec4 float iimage1D iimage1DArray iimage2D iimage2DArray iimage2DMS iimage2DMSArray iimage2DRect iimage3D iimageBufferiimageCube iimageCubeArray image1D image1DArray image2D image2DArray image2DMS image2DMSArray image2DRect image3D imageBuffer imageCube imageCubeArray int isampler1D isampler1DArray isampler2D isampler2DArray isampler2DMS isampler2DMSArray isampler2DRect isampler3D isamplerBuffer isamplerCube isamplerCubeArray ivec2 ivec3 ivec4 mat2 mat2x2 mat2x3 mat2x4 mat3 mat3x2 mat3x3 mat3x4 mat4 mat4x2 mat4x3 mat4x4 sampler1D sampler1DArray sampler1DArrayShadow sampler1DShadow sampler2D sampler2DArray sampler2DArrayShadow sampler2DMS sampler2DMSArray sampler2DRect sampler2DRectShadow sampler2DShadow sampler3D samplerBuffer samplerCube samplerCubeArray samplerCubeArrayShadow samplerCubeShadow image1D uimage1DArray uimage2D uimage2DArray uimage2DMS uimage2DMSArray uimage2DRect uimage3D uimageBuffer uimageCube uimageCubeArray uint usampler1D usampler1DArray usampler2D usampler2DArray usampler2DMS usampler2DMSArray usampler2DRect usampler3D samplerBuffer usamplerCube usamplerCubeArray uvec2 uvec3 uvec4 vec2 vec3 vec4 void\",built_in:\"gl_MaxAtomicCounterBindings gl_MaxAtomicCounterBufferSize gl_MaxClipDistances gl_MaxClipPlanes gl_MaxCombinedAtomicCounterBuffers gl_MaxCombinedAtomicCounters gl_MaxCombinedImageUniforms gl_MaxCombinedImageUnitsAndFragmentOutputs gl_MaxCombinedTextureImageUnits gl_MaxComputeAtomicCounterBuffers gl_MaxComputeAtomicCounters gl_MaxComputeImageUniforms gl_MaxComputeTextureImageUnits gl_MaxComputeUniformComponents gl_MaxComputeWorkGroupCount gl_MaxComputeWorkGroupSize gl_MaxDrawBuffers gl_MaxFragmentAtomicCounterBuffers gl_MaxFragmentAtomicCounters gl_MaxFragmentImageUniforms gl_MaxFragmentInputComponents gl_MaxFragmentInputVectors gl_MaxFragmentUniformComponents gl_MaxFragmentUniformVectors gl_MaxGeometryAtomicCounterBuffers gl_MaxGeometryAtomicCounters gl_MaxGeometryImageUniforms gl_MaxGeometryInputComponents gl_MaxGeometryOutputComponents gl_MaxGeometryOutputVertices gl_MaxGeometryTextureImageUnits gl_MaxGeometryTotalOutputComponents gl_MaxGeometryUniformComponents gl_MaxGeometryVaryingComponents gl_MaxImageSamples gl_MaxImageUnits gl_MaxLights gl_MaxPatchVertices gl_MaxProgramTexelOffset gl_MaxTessControlAtomicCounterBuffers gl_MaxTessControlAtomicCounters gl_MaxTessControlImageUniforms gl_MaxTessControlInputComponents gl_MaxTessControlOutputComponents gl_MaxTessControlTextureImageUnits gl_MaxTessControlTotalOutputComponents gl_MaxTessControlUniformComponents gl_MaxTessEvaluationAtomicCounterBuffers gl_MaxTessEvaluationAtomicCounters gl_MaxTessEvaluationImageUniforms gl_MaxTessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents gl_MaxTessEvaluationTextureImageUnits gl_MaxTessEvaluationUniformComponents gl_MaxTessGenLevel gl_MaxTessPatchComponents gl_MaxTextureCoords gl_MaxTextureImageUnits gl_MaxTextureUnits gl_MaxVaryingComponents gl_MaxVaryingFloats gl_MaxVaryingVectors gl_MaxVertexAtomicCounterBuffers gl_MaxVertexAtomicCounters gl_MaxVertexAttribs gl_MaxVertexImageUniforms gl_MaxVertexOutputComponents gl_MaxVertexOutputVectors gl_MaxVertexTextureImageUnits gl_MaxVertexUniformComponents gl_MaxVertexUniformVectors gl_MaxViewports gl_MinProgramTexelOffset gl_BackColor gl_BackLightModelProduct gl_BackLightProduct gl_BackMaterial gl_BackSecondaryColor gl_ClipDistance gl_ClipPlane gl_ClipVertex gl_Color gl_DepthRange gl_EyePlaneQ gl_EyePlaneR gl_EyePlaneS gl_EyePlaneT gl_Fog gl_FogCoord gl_FogFragCoord gl_FragColor gl_FragCoord gl_FragData gl_FragDepth gl_FrontColor gl_FrontFacing gl_FrontLightModelProduct gl_FrontLightProduct gl_FrontMaterial gl_FrontSecondaryColor gl_GlobalInvocationID gl_InstanceID gl_InvocationID gl_Layer gl_LightModel gl_LightSource gl_LocalInvocationID gl_LocalInvocationIndex gl_ModelViewMatrix gl_ModelViewMatrixInverse gl_ModelViewMatrixInverseTranspose gl_ModelViewMatrixTranspose gl_ModelViewProjectionMatrix gl_ModelViewProjectionMatrixInverse gl_ModelViewProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixTranspose gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_Normal gl_NormalMatrix gl_NormalScale gl_NumSamples gl_NumWorkGroups gl_ObjectPlaneQ gl_ObjectPlaneR gl_ObjectPlaneS gl_ObjectPlaneT gl_PatchVerticesIn gl_Point gl_PointCoord gl_PointSize gl_Position gl_PrimitiveID gl_PrimitiveIDIn gl_ProjectionMatrix gl_ProjectionMatrixInverse gl_ProjectionMatrixInverseTranspose gl_ProjectionMatrixTranspose gl_SampleID gl_SampleMask gl_SampleMaskIn gl_SamplePosition gl_SecondaryColor gl_TessCoord gl_TessLevelInner gl_TessLevelOuter gl_TexCoord gl_TextureEnvColor gl_TextureMatrix gl_TextureMatrixInverse gl_TextureMatrixInverseTranspose gl_TextureMatrixTranspose gl_Vertex gl_VertexID gl_ViewportIndex gl_WorkGroupID gl_WorkGroupSize gl_in gl_out EmitStreamVertex EmitVertex EndPrimitive EndStreamPrimitive abs acos acosh all any asin asinh atan atanh atomicAdd atomicAnd atomicCompSwap atomicCounter atomicCounterDecrement atomicCounterIncrement atomicExchange atomicMax atomicMin atomicOr atomicXor barrier bitCount bitfieldExtract bitfieldInsert bitfieldReverse ceil clamp cos cosh cross dFdx dFdy degrees determinant distance dot equal exp exp2 faceforward findLSB findMSB floatBitsToInt floatBitsToUint floor fma fract frexp ftransform fwidth greaterThan greaterThanEqual groupMemoryBarrier imageAtomicAdd imageAtomicAnd imageAtomicCompSwap imageAtomicExchange imageAtomicMax imageAtomicMin imageAtomicOr imageAtomicXor imageLoad imageSize imageStore imulExtended intBitsToFloat interpolateAtCentroid interpolateAtOffset interpolateAtSample inverse inversesqrt isinf isnan ldexp length lessThan lessThanEqual log log2 matrixCompMult max memoryBarrier memoryBarrierAtomicCounter memoryBarrierBuffer memoryBarrierImage memoryBarrierShared min mix mod modf noise1 noise2 noise3 noise4 normalize not notEqual outerProduct packDouble2x32 packHalf2x16 packSnorm2x16 packSnorm4x8 packUnorm2x16 packUnorm4x8 pow radians reflect refract round roundEven shadow1D shadow1DLod shadow1DProj shadow1DProjLod shadow2D shadow2DLod shadow2DProj shadow2DProjLod sign sin sinh smoothstep sqrt step tan tanh texelFetch texelFetchOffset texture texture1D texture1DLod texture1DProj texture1DProjLod texture2D texture2DLod texture2DProj texture2DProjLod texture3D texture3DLod texture3DProj texture3DProjLod textureCube textureCubeLod textureGather textureGatherOffset textureGatherOffsets textureGrad textureGradOffset textureLod textureLodOffset textureOffset textureProj textureProjGrad textureProjGradOffset textureProjLod textureProjLodOffset textureProjOffset textureQueryLevels textureQueryLod textureSize transpose trunc uaddCarry uintBitsToFloat umulExtended unpackDouble2x32 unpackHalf2x16 unpackSnorm2x16 unpackSnorm4x8 unpackUnorm2x16 unpackUnorm4x8 usubBorrow\",literal:\"true false\"},i:'\"',c:[e.CLCM,e.CBCM,e.CNM,{cN:\"meta\",b:\"#\",e:\"$\"}]}}),e.registerLanguage(\"go\",function(e){var t={keyword:\"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune\",literal:\"true false iota nil\",built_in:\"append cap close complex copy imag len make new panic print println real recover delete\"};return{aliases:[\"golang\"],k:t,i:\"</\",c:[e.CLCM,e.CBCM,{cN:\"string\",v:[e.QSM,{b:\"'\",e:\"[^\\\\\\\\]'\"},{b:\"`\",e:\"`\"}]},{cN:\"number\",v:[{b:e.CNR+\"[dflsi]\",r:1},e.CNM]},{b:/:=/},{cN:\"function\",bK:\"func\",e:/\\s*\\{/,eE:!0,c:[e.TM,{cN:\"params\",b:/\\(/,e:/\\)/,k:t,i:/[\"']/}]}]}}),e.registerLanguage(\"golo\",function(e){return{k:{keyword:\"println readln print import module function local return let var while for foreach times in case when match with break continue augment augmentation each find filter reduce if then else otherwise try catch finally raise throw orIfNull DynamicObject|10 DynamicVariable struct Observable map set vector list array\",literal:\"true false null\"},c:[e.HCM,e.QSM,e.CNM,{cN:\"meta\",b:\"@[A-Za-z]+\"}]}}),e.registerLanguage(\"gradle\",function(e){return{cI:!0,k:{keyword:\"task project allprojects subprojects artifacts buildscript configurations dependencies repositories sourceSets description delete from into include exclude source classpath destinationDir includes options sourceCompatibility targetCompatibility group flatDir doLast doFirst flatten todir fromdir ant def abstract break case catch continue default do else extends final finally for if implements instanceof native new private protected public return static switch synchronized throw throws transient try volatile while strictfp package import false null super this true antlrtask checkstyle codenarc copy boolean byte char class double float int interface long short void compile runTime file fileTree abs any append asList asWritable call collect compareTo count div dump each eachByte eachFile eachLine every find findAll flatten getAt getErr getIn getOut getText grep immutable inject inspect intersect invokeMethods isCase join leftShift minus multiply newInputStream newOutputStream newPrintWriter newReader newWriter next plus pop power previous print println push putAt read readBytes readLines reverse reverseEach round size sort splitEachLine step subMap times toInteger toList tokenize upto waitForOrKill withPrintWriter withReader withStream withWriter withWriterAppend write writeLine\"},c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.NM,e.RM]}}),e.registerLanguage(\"groovy\",function(e){return{k:{literal:\"true false null\",keyword:\"byte short char int long boolean float double void def as in assert trait super this abstract static volatile transient public private protected synchronized final class interface enum if else for while switch case break default continue throw throws try catch finally implements extends new import package return instanceof\"},c:[e.C(\"/\\\\*\\\\*\",\"\\\\*/\",{r:0,c:[{b:/\\w+@/,r:0},{cN:\"doctag\",b:\"@[A-Za-z]+\"}]}),e.CLCM,e.CBCM,{cN:\"string\",b:'\"\"\"',e:'\"\"\"'},{cN:\"string\",b:\"'''\",e:\"'''\"},{cN:\"string\",b:\"\\\\$/\",e:\"/\\\\$\",r:10},e.ASM,{cN:\"regexp\",b:/~?\\/[^\\/\\n]+\\//,c:[e.BE]},e.QSM,{cN:\"meta\",b:\"^#!/usr/bin/env\",e:\"$\",i:\"\\n\"},e.BNM,{cN:\"class\",bK:\"class interface trait enum\",e:\"{\",i:\":\",c:[{bK:\"extends implements\"},e.UTM]},e.CNM,{cN:\"meta\",b:\"@[A-Za-z]+\"},{cN:\"string\",b:/[^\\?]{0}[A-Za-z0-9_$]+ *:/},{b:/\\?/,e:/\\:/},{cN:\"symbol\",b:\"^\\\\s*[A-Za-z0-9_$]+:\",r:0}],i:/#|<\\//}}),e.registerLanguage(\"haml\",function(e){return{cI:!0,c:[{cN:\"meta\",b:\"^!!!( (5|1\\\\.1|Strict|Frameset|Basic|Mobile|RDFa|XML\\\\b.*))?$\",r:10},e.C(\"^\\\\s*(!=#|=#|-#|/).*$\",!1,{r:0}),{b:\"^\\\\s*(-|=|!=)(?!#)\",starts:{e:\"\\\\n\",sL:\"ruby\"}},{cN:\"tag\",b:\"^\\\\s*%\",c:[{cN:\"selector-tag\",b:\"\\\\w+\"},{cN:\"selector-id\",b:\"#[\\\\w-]+\"},{cN:\"selector-class\",b:\"\\\\.[\\\\w-]+\"},{b:\"{\\\\s*\",e:\"\\\\s*}\",c:[{b:\":\\\\w+\\\\s*=>\",e:\",\\\\s+\",rB:!0,eW:!0,c:[{cN:\"attr\",b:\":\\\\w+\"},e.ASM,e.QSM,{b:\"\\\\w+\",r:0}]}]},{b:\"\\\\(\\\\s*\",e:\"\\\\s*\\\\)\",eE:!0,c:[{b:\"\\\\w+\\\\s*=\",e:\"\\\\s+\",rB:!0,eW:!0,c:[{cN:\"attr\",b:\"\\\\w+\",r:0},e.ASM,e.QSM,{b:\"\\\\w+\",r:0}]}]}]},{b:\"^\\\\s*[=~]\\\\s*\"},{b:\"#{\",starts:{e:\"}\",sL:\"ruby\"}}]}}),e.registerLanguage(\"handlebars\",function(e){var t={\"builtin-name\":\"each in with if else unless bindattr action collection debugger log outlet template unbound view yield\"};return{aliases:[\"hbs\",\"html.hbs\",\"html.handlebars\"],cI:!0,sL:\"xml\",c:[e.C(\"{{!(--)?\",\"(--)?}}\"),{cN:\"template-tag\",b:/\\{\\{[#\\/]/,e:/\\}\\}/,c:[{cN:\"name\",b:/[a-zA-Z\\.-]+/,k:t,starts:{eW:!0,r:0,c:[e.QSM]}}]},{cN:\"template-variable\",b:/\\{\\{/,e:/\\}\\}/,k:t}]}}),e.registerLanguage(\"haskell\",function(e){var t={v:[e.C(\"--\",\"$\"),e.C(\"{-\",\"-}\",{c:[\"self\"]})]},r={cN:\"meta\",b:\"{-#\",e:\"#-}\"},a={cN:\"meta\",b:\"^#\",e:\"$\"},i={cN:\"type\",b:\"\\\\b[A-Z][\\\\w']*\",r:0},n={b:\"\\\\(\",e:\"\\\\)\",i:'\"',c:[r,a,{cN:\"type\",b:\"\\\\b[A-Z][\\\\w]*(\\\\((\\\\.\\\\.|,|\\\\w+)\\\\))?\"},e.inherit(e.TM,{b:\"[_a-z][\\\\w']*\"}),t]},o={b:\"{\",e:\"}\",c:n.c};return{aliases:[\"hs\"],k:\"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec\",c:[{bK:\"module\",e:\"where\",k:\"module where\",c:[n,t],i:\"\\\\W\\\\.|;\"},{b:\"\\\\bimport\\\\b\",e:\"$\",k:\"import qualified as hiding\",c:[n,t],i:\"\\\\W\\\\.|;\"},{cN:\"class\",b:\"^(\\\\s*)?(class|instance)\\\\b\",e:\"where\",k:\"class family instance where\",c:[i,n,t]},{cN:\"class\",b:\"\\\\b(data|(new)?type)\\\\b\",e:\"$\",k:\"data family type newtype deriving\",c:[r,i,n,o,t]},{bK:\"default\",e:\"$\",c:[i,n,t]},{bK:\"infix infixl infixr\",e:\"$\",c:[e.CNM,t]},{b:\"\\\\bforeign\\\\b\",e:\"$\",k:\"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe\",c:[i,e.QSM,t]},{cN:\"meta\",b:\"#!\\\\/usr\\\\/bin\\\\/env runhaskell\",e:\"$\"},r,a,e.QSM,e.CNM,i,e.inherit(e.TM,{b:\"^[_a-z][\\\\w']*\"}),t,{b:\"->|<-\"}]}}),e.registerLanguage(\"haxe\",function(e){var t=\"Int Float String Bool Dynamic Void Array \";return{aliases:[\"hx\"],k:{keyword:\"break case cast catch continue default do dynamic else enum extern for function here if import in inline never new override package private get set public return static super switch this throw trace try typedef untyped using var while \"+t,built_in:\"trace this\",literal:\"true false null _\"},c:[{cN:\"string\",b:\"'\",e:\"'\",c:[e.BE,{cN:\"subst\",b:\"\\\\$\\\\{\",e:\"\\\\}\"},{cN:\"subst\",b:\"\\\\$\",e:\"\\\\W}\"}]},e.QSM,e.CLCM,e.CBCM,e.CNM,{cN:\"meta\",b:\"@:\",e:\"$\"},{cN:\"meta\",b:\"#\",e:\"$\",k:{\"meta-keyword\":\"if else elseif end error\"}},{cN:\"type\",b:\":[ \t]*\",e:\"[^A-Za-z0-9_ \t\\\\->]\",eB:!0,eE:!0,r:0},{cN:\"type\",b:\":[ \t]*\",e:\"\\\\W\",eB:!0,eE:!0},{cN:\"type\",b:\"new *\",e:\"\\\\W\",eB:!0,eE:!0},{cN:\"class\",bK:\"enum\",e:\"\\\\{\",c:[e.TM]},{cN:\"class\",bK:\"abstract\",e:\"[\\\\{$]\",c:[{cN:\"type\",b:\"\\\\(\",e:\"\\\\)\",eB:!0,eE:!0},{cN:\"type\",b:\"from +\",e:\"\\\\W\",eB:!0,eE:!0},{cN:\"type\",b:\"to +\",e:\"\\\\W\",eB:!0,eE:!0},e.TM],k:{keyword:\"abstract from to\"}},{cN:\"class\",b:\"\\\\b(class|interface) +\",e:\"[\\\\{$]\",eE:!0,k:\"class interface\",c:[{cN:\"keyword\",b:\"\\\\b(extends|implements) +\",k:\"extends implements\",c:[{cN:\"type\",b:e.IR,r:0}]},e.TM]},{cN:\"function\",bK:\"function\",e:\"\\\\(\",eE:!0,i:\"\\\\S\",c:[e.TM]}],i:/<\\//}}),e.registerLanguage(\"hsp\",function(e){return{cI:!0,l:/[\\w\\._]+/,k:\"goto gosub return break repeat loop continue wait await dim sdim foreach dimtype dup dupptr end stop newmod delmod mref run exgoto on mcall assert logmes newlab resume yield onexit onerror onkey onclick oncmd exist delete mkdir chdir dirlist bload bsave bcopy memfile if else poke wpoke lpoke getstr chdpm memexpand memcpy memset notesel noteadd notedel noteload notesave randomize noteunsel noteget split strrep setease button chgdisp exec dialog mmload mmplay mmstop mci pset pget syscolor mes print title pos circle cls font sysfont objsize picload color palcolor palette redraw width gsel gcopy gzoom gmode bmpsave hsvcolor getkey listbox chkbox combox input mesbox buffer screen bgscr mouse objsel groll line clrobj boxf objprm objmode stick grect grotate gsquare gradf objimage objskip objenable celload celdiv celput newcom querycom delcom cnvstow comres axobj winobj sendmsg comevent comevarg sarrayconv callfunc cnvwtos comevdisp libptr system hspstat hspver stat cnt err strsize looplev sublev iparam wparam lparam refstr refdval int rnd strlen length length2 length3 length4 vartype gettime peek wpeek lpeek varptr varuse noteinfo instr abs limit getease str strmid strf getpath strtrim sin cos tan atan sqrt double absf expf logf limitf powf geteasef mousex mousey mousew hwnd hinstance hdc ginfo objinfo dirinfo sysinfo thismod __hspver__ __hsp30__ __date__ __time__ __line__ __file__ _debug __hspdef__ and or xor not screen_normal screen_palette screen_hide screen_fixedsize screen_tool screen_frame gmode_gdi gmode_mem gmode_rgb0 gmode_alpha gmode_rgb0alpha gmode_add gmode_sub gmode_pixela ginfo_mx ginfo_my ginfo_act ginfo_sel ginfo_wx1 ginfo_wy1 ginfo_wx2 ginfo_wy2 ginfo_vx ginfo_vy ginfo_sizex ginfo_sizey ginfo_winx ginfo_winy ginfo_mesx ginfo_mesy ginfo_r ginfo_g ginfo_b ginfo_paluse ginfo_dispx ginfo_dispy ginfo_cx ginfo_cy ginfo_intid ginfo_newid ginfo_sx ginfo_sy objinfo_mode objinfo_bmscr objinfo_hwnd notemax notesize dir_cur dir_exe dir_win dir_sys dir_cmdline dir_desktop dir_mydoc dir_tv font_normal font_bold font_italic font_underline font_strikeout font_antialias objmode_normal objmode_guifont objmode_usefont gsquare_grad msgothic msmincho do until while wend for next _break _continue switch case default swbreak swend ddim ldim alloc m_pi rad2deg deg2rad ease_linear ease_quad_in ease_quad_out ease_quad_inout ease_cubic_in ease_cubic_out ease_cubic_inout ease_quartic_in ease_quartic_out ease_quartic_inout ease_bounce_in ease_bounce_out ease_bounce_inout ease_shake_in ease_shake_out ease_shake_inout ease_loop\",c:[e.CLCM,e.CBCM,e.QSM,e.ASM,{cN:\"string\",b:'{\"',e:'\"}',c:[e.BE]},e.C(\";\",\"$\",{r:0}),{cN:\"meta\",b:\"#\",e:\"$\",k:{\"meta-keyword\":\"addion cfunc cmd cmpopt comfunc const defcfunc deffunc define else endif enum epack func global if ifdef ifndef include modcfunc modfunc modinit modterm module pack packopt regcmd runtime undef usecom uselib\"},c:[e.inherit(e.QSM,{cN:\"meta-string\"}),e.NM,e.CNM,e.CLCM,e.CBCM]},{cN:\"symbol\",b:\"^\\\\*(\\\\w+|@)\"},e.NM,e.CNM]}}),e.registerLanguage(\"htmlbars\",function(e){var t=\"action collection component concat debugger each each-in else get hash if input link-to loc log mut outlet partial query-params render textarea unbound unless with yield view\",r={i:/\\}\\}/,b:/[a-zA-Z0-9_]+=/,rB:!0,r:0,c:[{cN:\"attr\",b:/[a-zA-Z0-9_]+/}]},a=({i:/\\}\\}/,b:/\\)/,e:/\\)/,c:[{b:/[a-zA-Z\\.\\-]+/,k:{built_in:t},starts:{eW:!0,r:0,c:[e.QSM]}}]},{eW:!0,r:0,k:{keyword:\"as\",built_in:t},c:[e.QSM,r,e.NM]});return{cI:!0,sL:\"xml\",c:[e.C(\"{{!(--)?\",\"(--)?}}\"),{cN:\"template-tag\",b:/\\{\\{[#\\/]/,e:/\\}\\}/,c:[{cN:\"name\",b:/[a-zA-Z\\.\\-]+/,k:{\"builtin-name\":t},starts:a}]},{cN:\"template-variable\",b:/\\{\\{[a-zA-Z][a-zA-Z\\-]+/,e:/\\}\\}/,k:{keyword:\"as\",built_in:t},c:[e.QSM]}]}}),e.registerLanguage(\"http\",function(e){var t=\"HTTP/[0-9\\\\.]+\";return{aliases:[\"https\"],i:\"\\\\S\",c:[{b:\"^\"+t,e:\"$\",c:[{cN:\"number\",b:\"\\\\b\\\\d{3}\\\\b\"}]},{b:\"^[A-Z]+ (.*?) \"+t+\"$\",rB:!0,e:\"$\",c:[{cN:\"string\",b:\" \",e:\" \",eB:!0,eE:!0},{b:t},{cN:\"keyword\",b:\"[A-Z]+\"}]},{cN:\"attribute\",b:\"^\\\\w\",e:\": \",eE:!0,i:\"\\\\n|\\\\s|=\",starts:{e:\"$\",r:0}},{b:\"\\\\n\\\\n\",starts:{sL:[],eW:!0}}]}}),e.registerLanguage(\"hy\",function(e){var t={\"builtin-name\":\"!= % %= & &= * ** **= *= *map + += , --build-class-- --import-- -= . / // //= /= < << <<= <= = > >= >> >>= @ @= ^ ^= abs accumulate all and any ap-compose ap-dotimes ap-each ap-each-while ap-filter ap-first ap-if ap-last ap-map ap-map-when ap-pipe ap-reduce ap-reject apply as-> ascii assert assoc bin break butlast callable calling-module-name car case cdr chain chr coll? combinations compile compress cond cons cons? continue count curry cut cycle dec def default-method defclass defmacro defmacro-alias defmacro/g! defmain defmethod defmulti defn defn-alias defnc defnr defreader defseq del delattr delete-route dict-comp dir disassemble dispatch-reader-macro distinct divmod do doto drop drop-last drop-while empty? end-sequence eval eval-and-compile eval-when-compile even? every? except exec filter first flatten float? fn fnc fnr for for* format fraction genexpr gensym get getattr global globals group-by hasattr hash hex id identity if if* if-not if-python2 import in inc input instance? integer integer-char? integer? interleave interpose is is-coll is-cons is-empty is-even is-every is-float is-instance is-integer is-integer-char is-iterable is-iterator is-keyword is-neg is-none is-not is-numeric is-odd is-pos is-string is-symbol is-zero isinstance islice issubclass iter iterable? iterate iterator? keyword keyword? lambda last len let lif lif-not list* list-comp locals loop macro-error macroexpand macroexpand-1 macroexpand-all map max merge-with method-decorator min multi-decorator multicombinations name neg? next none? nonlocal not not-in not? nth numeric? oct odd? open or ord partition permutations pos? post-route postwalk pow prewalk print product profile/calls profile/cpu put-route quasiquote quote raise range read read-str recursive-replace reduce remove repeat repeatedly repr require rest round route route-with-methods rwm second seq set-comp setattr setv some sorted string string? sum switch symbol? take take-nth take-while tee try unless unquote unquote-splicing vars walk when while with with* with-decorator with-gensyms xi xor yield yield-from zero? zip zip-longest | |= ~\"},r=\"a-zA-Z_\\\\-!.?+*=<>&#'\",a=\"[\"+r+\"][\"+r+\"0-9/;:]*\",i=\"[-+]?\\\\d+(\\\\.\\\\d+)?\",n={cN:\"meta\",b:\"^#!\",e:\"$\"},o={b:a,r:0},s={cN:\"number\",b:i,r:0},l=e.inherit(e.QSM,{i:null}),c=e.C(\";\",\"$\",{r:0}),d={cN:\"literal\",b:/\\b([Tt]rue|[Ff]alse|nil|None)\\b/},p={b:\"[\\\\[\\\\{]\",e:\"[\\\\]\\\\}]\"},m={cN:\"comment\",b:\"\\\\^\"+a},u=e.C(\"\\\\^\\\\{\",\"\\\\}\"),b={cN:\"symbol\",b:\"[:]{1,2}\"+a},g={b:\"\\\\(\",e:\"\\\\)\"},f={eW:!0,r:0},_={k:t,l:a,cN:\"name\",b:a,starts:f},h=[g,l,m,u,c,b,p,s,d,o];return g.c=[e.C(\"comment\",\"\"),_,f],f.c=h,p.c=h,{aliases:[\"hylang\"],i:/\\S/,c:[n,g,l,m,u,c,b,p,s,d]}}),e.registerLanguage(\"inform7\",function(e){var t=\"\\\\[\",r=\"\\\\]\";return{aliases:[\"i7\"],cI:!0,k:{keyword:\"thing room person man woman animal container supporter backdrop door scenery open closed locked inside gender is are say understand kind of rule\"},c:[{cN:\"string\",b:'\"',e:'\"',r:0,c:[{cN:\"subst\",b:t,e:r}]},{cN:\"section\",b:/^(Volume|Book|Part|Chapter|Section|Table)\\b/,e:\"$\"},{b:/^(Check|Carry out|Report|Instead of|To|Rule|When|Before|After)\\b/,e:\":\",c:[{b:\"\\\\(This\",e:\"\\\\)\"}]},{cN:\"comment\",b:t,e:r,c:[\"self\"]}]}}),e.registerLanguage(\"ini\",function(e){var t={cN:\"string\",c:[e.BE],v:[{b:\"'''\",e:\"'''\",r:10},{b:'\"\"\"',e:'\"\"\"',r:10},{b:'\"',e:'\"'},{b:\"'\",e:\"'\"}]};return{aliases:[\"toml\"],cI:!0,i:/\\S/,c:[e.C(\";\",\"$\"),e.HCM,{cN:\"section\",b:/^\\s*\\[+/,e:/\\]+/},{b:/^[a-z0-9\\[\\]_-]+\\s*=\\s*/,e:\"$\",rB:!0,c:[{cN:\"attr\",b:/[a-z0-9\\[\\]_-]+/},{b:/=/,eW:!0,r:0,c:[{cN:\"literal\",b:/\\bon|off|true|false|yes|no\\b/},{cN:\"variable\",v:[{b:/\\$[\\w\\d\"][\\w\\d_]*/},{b:/\\$\\{(.*?)}/}]},t,{cN:\"number\",b:/([\\+\\-]+)?[\\d]+_[\\d_]+/},e.NM]}]}]}}),e.registerLanguage(\"irpf90\",function(e){var t={cN:\"params\",b:\"\\\\(\",e:\"\\\\)\"},r={literal:\".False. .True.\",keyword:\"kind do while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated  c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure integer real character complex logical dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data begin_provider &begin_provider end_provider begin_shell end_shell begin_template end_template subst assert touch soft_touch provide no_dep free irp_if irp_else irp_endif irp_write irp_read\",built_in:\"alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_ofacosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image IRP_ALIGN irp_here\"};return{cI:!0,k:r,i:/\\/\\*/,c:[e.inherit(e.ASM,{cN:\"string\",r:0}),e.inherit(e.QSM,{cN:\"string\",r:0}),{cN:\"function\",bK:\"subroutine function program\",i:\"[${=\\\\n]\",c:[e.UTM,t]},e.C(\"!\",\"$\",{r:0}),e.C(\"begin_doc\",\"end_doc\",{r:10}),{cN:\"number\",b:\"(?=\\\\b|\\\\+|\\\\-|\\\\.)(?=\\\\.\\\\d|\\\\d)(?:\\\\d+)?(?:\\\\.?\\\\d*)(?:[de][+-]?\\\\d+)?\\\\b\\\\.?\",r:0}]}}),e.registerLanguage(\"java\",function(e){var t=\"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*\",r=t+\"(<\"+t+\"(\\\\s*,\\\\s*\"+t+\")*>)?\",a=\"false synchronized int abstract float private char boolean static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do\",i=\"\\\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+)(\\\\.([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+))?|\\\\.([\\\\d]+[\\\\d_]+[\\\\d]+|[\\\\d]+))([eE][-+]?\\\\d+)?)[lLfF]?\",n={cN:\"number\",b:i,r:0};return{aliases:[\"jsp\"],k:a,i:/<\\/|#/,c:[e.C(\"/\\\\*\\\\*\",\"\\\\*/\",{r:0,c:[{b:/\\w+@/,r:0},{cN:\"doctag\",b:\"@[A-Za-z]+\"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:\"class\",bK:\"class interface\",e:/[{;=]/,eE:!0,k:\"class interface\",i:/[:\"\\[\\]]/,c:[{bK:\"extends implements\"},e.UTM]},{bK:\"new throw return else\",r:0},{cN:\"function\",b:\"(\"+r+\"\\\\s+)+\"+e.UIR+\"\\\\s*\\\\(\",rB:!0,e:/[{;=]/,eE:!0,k:a,c:[{b:e.UIR+\"\\\\s*\\\\(\",rB:!0,r:0,c:[e.UTM]},{cN:\"params\",b:/\\(/,e:/\\)/,k:a,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},n,{cN:\"meta\",b:\"@[A-Za-z]+\"}]}}),e.registerLanguage(\"javascript\",function(e){var t=\"[A-Za-z$_][0-9A-Za-z$_]*\",r={keyword:\"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as\",literal:\"true false null undefined NaN Infinity\",built_in:\"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise\"},a={cN:\"number\",v:[{b:\"\\\\b(0[bB][01]+)\"},{b:\"\\\\b(0[oO][0-7]+)\"},{b:e.CNR}],r:0},i={cN:\"subst\",b:\"\\\\$\\\\{\",e:\"\\\\}\",k:r,c:[]},n={cN:\"string\",b:\"`\",e:\"`\",c:[e.BE,i]};i.c=[e.ASM,e.QSM,n,a,e.RM];var o=i.c.concat([e.CBCM,e.CLCM]);return{aliases:[\"js\",\"jsx\"],k:r,c:[{cN:\"meta\",r:10,b:/^\\s*['\"]use (strict|asm)['\"]/},{cN:\"meta\",b:/^#!/,e:/$/},e.ASM,e.QSM,n,e.CLCM,e.CBCM,a,{b:/[{,]\\s*/,r:0,c:[{b:t+\"\\\\s*:\",rB:!0,r:0,c:[{cN:\"attr\",b:t,r:0}]}]},{b:\"(\"+e.RSR+\"|\\\\b(case|return|throw)\\\\b)\\\\s*\",k:\"return throw case\",c:[e.CLCM,e.CBCM,e.RM,{cN:\"function\",b:\"(\\\\(.*?\\\\)|\"+t+\")\\\\s*=>\",rB:!0,e:\"\\\\s*=>\",c:[{cN:\"params\",v:[{b:t},{b:/\\(\\s*\\)/},{b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:r,c:o}]}]},{b:/</,e:/(\\/\\w+|\\w+\\/)>/,sL:\"xml\",c:[{b:/<\\w+\\s*\\/>/,skip:!0},{b:/<\\w+/,e:/(\\/\\w+|\\w+\\/)>/,skip:!0,c:[{b:/<\\w+\\s*\\/>/,skip:!0},\"self\"]}]}],r:0},{cN:\"function\",bK:\"function\",e:/\\{/,eE:!0,c:[e.inherit(e.TM,{b:t}),{cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0,c:o}],i:/\\[|%/},{b:/\\$[(.]/},e.METHOD_GUARD,{cN:\"class\",bK:\"class\",e:/[{;=]/,eE:!0,i:/[:\"\\[\\]]/,c:[{bK:\"extends\"},e.UTM]},{bK:\"constructor\",e:/\\{/,eE:!0}],i:/#(?!!)/}}),e.registerLanguage(\"jboss-cli\",function(e){var t={b:/[\\w-]+ *=/,rB:!0,r:0,c:[{cN:\"attr\",b:/[\\w-]+/}]},r={cN:\"params\",b:/\\(/,e:/\\)/,c:[t],r:0},a={cN:\"function\",b:/:[\\w\\-.]+/,r:0},i={cN:\"string\",b:/\\B(([\\/.])[\\w\\-.\\/=]+)+/},n={cN:\"params\",b:/--[\\w\\-=\\/]+/};return{aliases:[\"wildfly-cli\"],l:\"[a-z-]+\",k:{keyword:\"alias batch cd clear command connect connection-factory connection-info data-source deploy deployment-info deployment-overlay echo echo-dmr help history if jdbc-driver-info jms-queue|20 jms-topic|20 ls patch pwd quit read-attribute read-operation reload rollout-plan run-batch set shutdown try unalias undeploy unset version xa-data-source\",literal:\"true false\"},c:[e.HCM,e.QSM,n,a,i,r]}}),e.registerLanguage(\"json\",function(e){var t={literal:\"true false null\"},r=[e.QSM,e.CNM],a={e:\",\",eW:!0,eE:!0,c:r,k:t},i={b:\"{\",e:\"}\",c:[{cN:\"attr\",b:/\"/,e:/\"/,c:[e.BE],i:\"\\\\n\"},e.inherit(a,{b:/:/})],i:\"\\\\S\"},n={b:\"\\\\[\",e:\"\\\\]\",c:[e.inherit(a)],i:\"\\\\S\"};return r.splice(r.length,0,i,n),{c:r,k:t,i:\"\\\\S\"}}),e.registerLanguage(\"julia\",function(e){var t={keyword:\"in isa where baremodule begin break catch ccall const continue do else elseif end export false finally for function global if import importall let local macro module quote return true try using while type immutable abstract bitstype typealias \",literal:\"true false ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im nothing pi γ π φ \",built_in:\"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool \"\n},r=\"[A-Za-z_\\\\u00A1-\\\\uFFFF][A-Za-z_0-9\\\\u00A1-\\\\uFFFF]*\",a={l:r,k:t,i:/<\\//},i={cN:\"number\",b:/(\\b0x[\\d_]*(\\.[\\d_]*)?|0x\\.\\d[\\d_]*)p[-+]?\\d+|\\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\\b\\d[\\d_]*(\\.[\\d_]*)?|\\.\\d[\\d_]*)([eEfF][-+]?\\d+)?/,r:0},n={cN:\"string\",b:/'(.|\\\\[xXuU][a-zA-Z0-9]+)'/},o={cN:\"subst\",b:/\\$\\(/,e:/\\)/,k:t},s={cN:\"variable\",b:\"\\\\$\"+r},l={cN:\"string\",c:[e.BE,o,s],v:[{b:/\\w*\"\"\"/,e:/\"\"\"\\w*/,r:10},{b:/\\w*\"/,e:/\"\\w*/}]},c={cN:\"string\",c:[e.BE,o,s],b:\"`\",e:\"`\"},d={cN:\"meta\",b:\"@\"+r},p={cN:\"comment\",v:[{b:\"#=\",e:\"=#\",r:10},{b:\"#\",e:\"$\"}]};return a.c=[i,n,l,c,d,p,e.HCM,{cN:\"keyword\",b:\"\\\\b(((abstract|primitive)\\\\s+)type|(mutable\\\\s+)?struct)\\\\b\"},{b:/<:/}],o.c=a.c,a}),e.registerLanguage(\"julia-repl\",function(e){return{c:[{cN:\"meta\",b:/^julia>/,r:10,starts:{e:/^(?![ ]{6})/,sL:\"julia\"},aliases:[\"jldoctest\"]}]}}),e.registerLanguage(\"kotlin\",function(e){var t={keyword:\"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit initinterface annotation data sealed internal infix operator out by constructor super trait volatile transient native default\",built_in:\"Byte Short Char Int Long Boolean Float Double Void Unit Nothing\",literal:\"true false null\"},r={cN:\"keyword\",b:/\\b(break|continue|return|this)\\b/,starts:{c:[{cN:\"symbol\",b:/@\\w+/}]}},a={cN:\"symbol\",b:e.UIR+\"@\"},i={cN:\"subst\",b:\"\\\\${\",e:\"}\",c:[e.ASM,e.CNM]},n={cN:\"variable\",b:\"\\\\$\"+e.UIR},o={cN:\"string\",v:[{b:'\"\"\"',e:'\"\"\"',c:[n,i]},{b:\"'\",e:\"'\",i:/\\n/,c:[e.BE]},{b:'\"',e:'\"',i:/\\n/,c:[e.BE,n,i]}]},s={cN:\"meta\",b:\"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\\\s*:(?:\\\\s*\"+e.UIR+\")?\"},l={cN:\"meta\",b:\"@\"+e.UIR,c:[{b:/\\(/,e:/\\)/,c:[e.inherit(o,{cN:\"meta-string\"})]}]};return{k:t,c:[e.C(\"/\\\\*\\\\*\",\"\\\\*/\",{r:0,c:[{cN:\"doctag\",b:\"@[A-Za-z]+\"}]}),e.CLCM,e.CBCM,r,a,s,l,{cN:\"function\",bK:\"fun\",e:\"[(]|$\",rB:!0,eE:!0,k:t,i:/fun\\s+(<.*>)?[^\\s\\(]+(\\s+[^\\s\\(]+)\\s*=/,r:5,c:[{b:e.UIR+\"\\\\s*\\\\(\",rB:!0,r:0,c:[e.UTM]},{cN:\"type\",b:/</,e:/>/,k:\"reified\",r:0},{cN:\"params\",b:/\\(/,e:/\\)/,endsParent:!0,k:t,r:0,c:[{b:/:/,e:/[=,\\/]/,eW:!0,c:[{cN:\"type\",b:e.UIR},e.CLCM,e.CBCM],r:0},e.CLCM,e.CBCM,s,l,o,e.CNM]},e.CBCM]},{cN:\"class\",bK:\"class interface trait\",e:/[:\\{(]|$/,eE:!0,i:\"extends implements\",c:[{bK:\"public protected internal private constructor\"},e.UTM,{cN:\"type\",b:/</,e:/>/,eB:!0,eE:!0,r:0},{cN:\"type\",b:/[,:]\\s*/,e:/[<\\(,]|$/,eB:!0,rE:!0},s,l]},o,{cN:\"meta\",b:\"^#!/usr/bin/env\",e:\"$\",i:\"\\n\"},e.CNM]}}),e.registerLanguage(\"lasso\",function(e){var t=\"[a-zA-Z_][\\\\w.]*\",r=\"<\\\\?(lasso(script)?|=)\",a=\"\\\\]|\\\\?>\",i={literal:\"true false none minimal full all void and or not bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft\",built_in:\"array date decimal duration integer map pair string tag xml null boolean bytes keyword list locale queue set stack staticarray local var variable global data self inherited currentcapture givenblock\",keyword:\"cache database_names database_schemanames database_tablenames define_tag define_type email_batch encode_set html_comment handle handle_error header if inline iterate ljax_target link link_currentaction link_currentgroup link_currentrecord link_detail link_firstgroup link_firstrecord link_lastgroup link_lastrecord link_nextgroup link_nextrecord link_prevgroup link_prevrecord log loop namespace_using output_none portal private protect records referer referrer repeating resultset rows search_args search_arguments select sort_args sort_arguments thread_atomic value_list while abort case else fail_if fail_ifnot fail if_empty if_false if_null if_true loop_abort loop_continue loop_count params params_up return return_value run_children soap_definetag soap_lastrequest soap_lastresponse tag_name ascending average by define descending do equals frozen group handle_failure import in into join let match max min on order parent protected provide public require returnhome skip split_thread sum take thread to trait type where with yield yieldhome\"},n=e.C(\"<!--\",\"-->\",{r:0}),o={cN:\"meta\",b:\"\\\\[noprocess\\\\]\",starts:{e:\"\\\\[/noprocess\\\\]\",rE:!0,c:[n]}},s={cN:\"meta\",b:\"\\\\[/noprocess|\"+r},l={cN:\"symbol\",b:\"'\"+t+\"'\"},c=[e.CLCM,e.CBCM,e.inherit(e.CNM,{b:e.CNR+\"|(-?infinity|NaN)\\\\b\"}),e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null}),{cN:\"string\",b:\"`\",e:\"`\"},{v:[{b:\"[#$]\"+t},{b:\"#\",e:\"\\\\d+\",i:\"\\\\W\"}]},{cN:\"type\",b:\"::\\\\s*\",e:t,i:\"\\\\W\"},{cN:\"params\",v:[{b:\"-(?!infinity)\"+t,r:0},{b:\"(\\\\.\\\\.\\\\.)\"}]},{b:/(->|\\.)\\s*/,r:0,c:[l]},{cN:\"class\",bK:\"define\",rE:!0,e:\"\\\\(|=>\",c:[e.inherit(e.TM,{b:t+\"(=(?!>))?|[-+*/%](?!>)\"})]}];return{aliases:[\"ls\",\"lassoscript\"],cI:!0,l:t+\"|&[lg]t;\",k:i,c:[{cN:\"meta\",b:a,r:0,starts:{e:\"\\\\[|\"+r,rE:!0,r:0,c:[n]}},o,s,{cN:\"meta\",b:\"\\\\[no_square_brackets\",starts:{e:\"\\\\[/no_square_brackets\\\\]\",l:t+\"|&[lg]t;\",k:i,c:[{cN:\"meta\",b:a,r:0,starts:{e:\"\\\\[noprocess\\\\]|\"+r,rE:!0,c:[n]}},o,s].concat(c)}},{cN:\"meta\",b:\"\\\\[\",r:0},{cN:\"meta\",b:\"^#!\",e:\"lasso9$\",r:10}].concat(c)}}),e.registerLanguage(\"ldif\",function(e){return{c:[{cN:\"attribute\",b:\"^dn\",e:\": \",eE:!0,starts:{e:\"$\",r:0},r:10},{cN:\"attribute\",b:\"^\\\\w\",e:\": \",eE:!0,starts:{e:\"$\",r:0}},{cN:\"literal\",b:\"^-\",e:\"$\"},e.HCM]}}),e.registerLanguage(\"leaf\",function(e){return{c:[{cN:\"function\",b:\"#+[A-Za-z_0-9]*\\\\(\",e:\" {\",rB:!0,eE:!0,c:[{cN:\"keyword\",b:\"#+\"},{cN:\"title\",b:\"[A-Za-z_][A-Za-z_0-9]*\"},{cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",endsParent:!0,c:[{cN:\"string\",b:'\"',e:'\"'},{cN:\"variable\",b:\"[A-Za-z_][A-Za-z_0-9]*\"}]}]}]}}),e.registerLanguage(\"less\",function(e){var t=\"[\\\\w-]+\",r=\"(\"+t+\"|@{\"+t+\"})\",a=[],i=[],n=function(e){return{cN:\"string\",b:\"~?\"+e+\".*?\"+e}},o=function(e,t,r){return{cN:e,b:t,r:r}},s={b:\"\\\\(\",e:\"\\\\)\",c:i,r:0};i.push(e.CLCM,e.CBCM,n(\"'\"),n('\"'),e.CSSNM,{b:\"(url|data-uri)\\\\(\",starts:{cN:\"string\",e:\"[\\\\)\\\\n]\",eE:!0}},o(\"number\",\"#[0-9A-Fa-f]+\\\\b\"),s,o(\"variable\",\"@@?\"+t,10),o(\"variable\",\"@{\"+t+\"}\"),o(\"built_in\",\"~?`[^`]*?`\"),{cN:\"attribute\",b:t+\"\\\\s*:\",e:\":\",rB:!0,eE:!0},{cN:\"meta\",b:\"!important\"});var l=i.concat({b:\"{\",e:\"}\",c:a}),c={bK:\"when\",eW:!0,c:[{bK:\"and not\"}].concat(i)},d={b:r+\"\\\\s*:\",rB:!0,e:\"[;}]\",r:0,c:[{cN:\"attribute\",b:r,e:\":\",eE:!0,starts:{eW:!0,i:\"[<=$]\",r:0,c:i}}]},p={cN:\"keyword\",b:\"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\\\b\",starts:{e:\"[;{}]\",rE:!0,c:i,r:0}},m={cN:\"variable\",v:[{b:\"@\"+t+\"\\\\s*:\",r:15},{b:\"@\"+t}],starts:{e:\"[;}]\",rE:!0,c:l}},u={v:[{b:\"[\\\\.#:&\\\\[>]\",e:\"[;{}]\"},{b:r,e:\"{\"}],rB:!0,rE:!0,i:\"[<='$\\\"]\",r:0,c:[e.CLCM,e.CBCM,c,o(\"keyword\",\"all\\\\b\"),o(\"variable\",\"@{\"+t+\"}\"),o(\"selector-tag\",r+\"%?\",0),o(\"selector-id\",\"#\"+r),o(\"selector-class\",\"\\\\.\"+r,0),o(\"selector-tag\",\"&\",0),{cN:\"selector-attr\",b:\"\\\\[\",e:\"\\\\]\"},{cN:\"selector-pseudo\",b:/:(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\"'.]+/},{b:\"\\\\(\",e:\"\\\\)\",c:l},{b:\"!important\"}]};return a.push(e.CLCM,e.CBCM,p,m,d,u),{cI:!0,i:\"[=>'/<($\\\"]\",c:a}}),e.registerLanguage(\"lisp\",function(e){var t=\"[a-zA-Z_\\\\-\\\\+\\\\*\\\\/\\\\<\\\\=\\\\>\\\\&\\\\#][a-zA-Z0-9_\\\\-\\\\+\\\\*\\\\/\\\\<\\\\=\\\\>\\\\&\\\\#!]*\",r=\"\\\\|[^]*?\\\\|\",a=\"(\\\\-|\\\\+)?\\\\d+(\\\\.\\\\d+|\\\\/\\\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\\\+|\\\\-)?\\\\d+)?\",i={cN:\"meta\",b:\"^#!\",e:\"$\"},n={cN:\"literal\",b:\"\\\\b(t{1}|nil)\\\\b\"},o={cN:\"number\",v:[{b:a,r:0},{b:\"#(b|B)[0-1]+(/[0-1]+)?\"},{b:\"#(o|O)[0-7]+(/[0-7]+)?\"},{b:\"#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?\"},{b:\"#(c|C)\\\\(\"+a+\" +\"+a,e:\"\\\\)\"}]},s=e.inherit(e.QSM,{i:null}),l=e.C(\";\",\"$\",{r:0}),c={b:\"\\\\*\",e:\"\\\\*\"},d={cN:\"symbol\",b:\"[:&]\"+t},p={b:t,r:0},m={b:r},u={b:\"\\\\(\",e:\"\\\\)\",c:[\"self\",n,s,o,p]},b={c:[o,s,c,d,u,p],v:[{b:\"['`]\\\\(\",e:\"\\\\)\"},{b:\"\\\\(quote \",e:\"\\\\)\",k:{name:\"quote\"}},{b:\"'\"+r}]},g={v:[{b:\"'\"+t},{b:\"#'\"+t+\"(::\"+t+\")*\"}]},f={b:\"\\\\(\\\\s*\",e:\"\\\\)\"},_={eW:!0,r:0};return f.c=[{cN:\"name\",v:[{b:t},{b:r}]},_],_.c=[b,g,f,n,o,s,l,c,d,m,p],{i:/\\S/,c:[o,i,n,s,l,b,g,f,p]}}),e.registerLanguage(\"livecodeserver\",function(e){var t={b:\"\\\\b[gtps][A-Z]+[A-Za-z0-9_\\\\-]*\\\\b|\\\\$_[A-Z]+\",r:0},r=[e.CBCM,e.HCM,e.C(\"--\",\"$\"),e.C(\"[^:]//\",\"$\")],a=e.inherit(e.TM,{v:[{b:\"\\\\b_*rig[A-Z]+[A-Za-z0-9_\\\\-]*\"},{b:\"\\\\b_[a-z0-9\\\\-]+\"}]}),i=e.inherit(e.TM,{b:\"\\\\b([A-Za-z0-9_\\\\-]+)\\\\b\"});return{cI:!1,k:{keyword:\"$_COOKIE $_FILES $_GET $_GET_BINARY $_GET_RAW $_POST $_POST_BINARY $_POST_RAW $_SESSION $_SERVER codepoint codepoints segment segments codeunit codeunits sentence sentences trueWord trueWords paragraph after byte bytes english the until http forever descending using line real8 with seventh for stdout finally element word words fourth before black ninth sixth characters chars stderr uInt1 uInt1s uInt2 uInt2s stdin string lines relative rel any fifth items from middle mid at else of catch then third it file milliseconds seconds second secs sec int1 int1s int4 int4s internet int2 int2s normal text item last long detailed effective uInt4 uInt4s repeat end repeat URL in try into switch to words https token binfile each tenth as ticks tick system real4 by dateItems without char character ascending eighth whole dateTime numeric short first ftp integer abbreviated abbr abbrev private case while if div mod wrap and or bitAnd bitNot bitOr bitXor among not in a an within contains ends with begins the keys of keys\",literal:\"SIX TEN FORMFEED NINE ZERO NONE SPACE FOUR FALSE COLON CRLF PI COMMA ENDOFFILE EOF EIGHT FIVE QUOTE EMPTY ONE TRUE RETURN CR LINEFEED RIGHT BACKSLASH NULL SEVEN TAB THREE TWO six ten formfeed nine zero none space four false colon crlf pi comma endoffile eof eight five quote empty one true return cr linefeed right backslash null seven tab three two RIVERSION RISTATE FILE_READ_MODE FILE_WRITE_MODE FILE_WRITE_MODE DIR_WRITE_MODE FILE_READ_UMASK FILE_WRITE_UMASK DIR_READ_UMASK DIR_WRITE_UMASK\",built_in:\"put abs acos aliasReference annuity arrayDecode arrayEncode asin atan atan2 average avg avgDev base64Decode base64Encode baseConvert binaryDecode binaryEncode byteOffset byteToNum cachedURL cachedURLs charToNum cipherNames codepointOffset codepointProperty codepointToNum codeunitOffset commandNames compound compress constantNames cos date dateFormat decompress directories diskSpace DNSServers exp exp1 exp2 exp10 extents files flushEvents folders format functionNames geometricMean global globals hasMemory harmonicMean hostAddress hostAddressToName hostName hostNameToAddress isNumber ISOToMac itemOffset keys len length libURLErrorData libUrlFormData libURLftpCommand libURLLastHTTPHeaders libURLLastRHHeaders libUrlMultipartFormAddPart libUrlMultipartFormData libURLVersion lineOffset ln ln1 localNames log log2 log10 longFilePath lower macToISO matchChunk matchText matrixMultiply max md5Digest median merge millisec millisecs millisecond milliseconds min monthNames nativeCharToNum normalizeText num number numToByte numToChar numToCodepoint numToNativeChar offset open openfiles openProcesses openProcessIDs openSockets paragraphOffset paramCount param params peerAddress pendingMessages platform popStdDev populationStandardDeviation populationVariance popVariance processID random randomBytes replaceText result revCreateXMLTree revCreateXMLTreeFromFile revCurrentRecord revCurrentRecordIsFirst revCurrentRecordIsLast revDatabaseColumnCount revDatabaseColumnIsNull revDatabaseColumnLengths revDatabaseColumnNames revDatabaseColumnNamed revDatabaseColumnNumbered revDatabaseColumnTypes revDatabaseConnectResult revDatabaseCursors revDatabaseID revDatabaseTableNames revDatabaseType revDataFromQuery revdb_closeCursor revdb_columnbynumber revdb_columncount revdb_columnisnull revdb_columnlengths revdb_columnnames revdb_columntypes revdb_commit revdb_connect revdb_connections revdb_connectionerr revdb_currentrecord revdb_cursorconnection revdb_cursorerr revdb_cursors revdb_dbtype revdb_disconnect revdb_execute revdb_iseof revdb_isbof revdb_movefirst revdb_movelast revdb_movenext revdb_moveprev revdb_query revdb_querylist revdb_recordcount revdb_rollback revdb_tablenames revGetDatabaseDriverPath revNumberOfRecords revOpenDatabase revOpenDatabases revQueryDatabase revQueryDatabaseBlob revQueryResult revQueryIsAtStart revQueryIsAtEnd revUnixFromMacPath revXMLAttribute revXMLAttributes revXMLAttributeValues revXMLChildContents revXMLChildNames revXMLCreateTreeFromFileWithNamespaces revXMLCreateTreeWithNamespaces revXMLDataFromXPathQuery revXMLEvaluateXPath revXMLFirstChild revXMLMatchingNode revXMLNextSibling revXMLNodeContents revXMLNumberOfChildren revXMLParent revXMLPreviousSibling revXMLRootNode revXMLRPC_CreateRequest revXMLRPC_Documents revXMLRPC_Error revXMLRPC_GetHost revXMLRPC_GetMethod revXMLRPC_GetParam revXMLText revXMLRPC_Execute revXMLRPC_GetParamCount revXMLRPC_GetParamNode revXMLRPC_GetParamType revXMLRPC_GetPath revXMLRPC_GetPort revXMLRPC_GetProtocol revXMLRPC_GetRequest revXMLRPC_GetResponse revXMLRPC_GetSocket revXMLTree revXMLTrees revXMLValidateDTD revZipDescribeItem revZipEnumerateItems revZipOpenArchives round sampVariance sec secs seconds sentenceOffset sha1Digest shell shortFilePath sin specialFolderPath sqrt standardDeviation statRound stdDev sum sysError systemVersion tan tempName textDecode textEncode tick ticks time to tokenOffset toLower toUpper transpose truewordOffset trunc uniDecode uniEncode upper URLDecode URLEncode URLStatus uuid value variableNames variance version waitDepth weekdayNames wordOffset xsltApplyStylesheet xsltApplyStylesheetFromFile xsltLoadStylesheet xsltLoadStylesheetFromFile add breakpoint cancel clear local variable file word line folder directory URL close socket process combine constant convert create new alias folder directory decrypt delete variable word line folder directory URL dispatch divide do encrypt filter get include intersect kill libURLDownloadToFile libURLFollowHttpRedirects libURLftpUpload libURLftpUploadFile libURLresetAll libUrlSetAuthCallback libURLSetCustomHTTPHeaders libUrlSetExpect100 libURLSetFTPListCommand libURLSetFTPMode libURLSetFTPStopTime libURLSetStatusCallback load multiply socket prepare process post seek rel relative read from process rename replace require resetAll resolve revAddXMLNode revAppendXML revCloseCursor revCloseDatabase revCommitDatabase revCopyFile revCopyFolder revCopyXMLNode revDeleteFolder revDeleteXMLNode revDeleteAllXMLTrees revDeleteXMLTree revExecuteSQL revGoURL revInsertXMLNode revMoveFolder revMoveToFirstRecord revMoveToLastRecord revMoveToNextRecord revMoveToPreviousRecord revMoveToRecord revMoveXMLNode revPutIntoXMLNode revRollBackDatabase revSetDatabaseDriverPath revSetXMLAttribute revXMLRPC_AddParam revXMLRPC_DeleteAllDocuments revXMLAddDTD revXMLRPC_Free revXMLRPC_FreeAll revXMLRPC_DeleteDocument revXMLRPC_DeleteParam revXMLRPC_SetHost revXMLRPC_SetMethod revXMLRPC_SetPort revXMLRPC_SetProtocol revXMLRPC_SetSocket revZipAddItemWithData revZipAddItemWithFile revZipAddUncompressedItemWithData revZipAddUncompressedItemWithFile revZipCancel revZipCloseArchive revZipDeleteItem revZipExtractItemToFile revZipExtractItemToVariable revZipSetProgressCallback revZipRenameItem revZipReplaceItemWithData revZipReplaceItemWithFile revZipOpenArchive send set sort split start stop subtract union unload wait write\"},c:[t,{cN:\"keyword\",b:\"\\\\bend\\\\sif\\\\b\"},{cN:\"function\",bK:\"function\",e:\"$\",c:[t,i,e.ASM,e.QSM,e.BNM,e.CNM,a]},{cN:\"function\",b:\"\\\\bend\\\\s+\",e:\"$\",k:\"end\",c:[i,a],r:0},{bK:\"command on\",e:\"$\",c:[t,i,e.ASM,e.QSM,e.BNM,e.CNM,a]},{cN:\"meta\",v:[{b:\"<\\\\?(rev|lc|livecode)\",r:10},{b:\"<\\\\?\"},{b:\"\\\\?>\"}]},e.ASM,e.QSM,e.BNM,e.CNM,a].concat(r),i:\";$|^\\\\[|^=|&|{\"}}),e.registerLanguage(\"livescript\",function(e){var t={keyword:\"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger case default function var with then unless until loop of by when and or is isnt not it that otherwise from to til fallthrough super case default function var void const let enum export import native __hasProp __extends __slice __bind __indexOf\",literal:\"true false null undefined yes no on off it that void\",built_in:\"npm require console print module global window document\"},r=\"[A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*\",a=e.inherit(e.TM,{b:r}),i={cN:\"subst\",b:/#\\{/,e:/}/,k:t},n={cN:\"subst\",b:/#[A-Za-z$_]/,e:/(?:\\-[0-9A-Za-z$_]|[0-9A-Za-z$_])*/,k:t},o=[e.BNM,{cN:\"number\",b:\"(\\\\b0[xX][a-fA-F0-9_]+)|(\\\\b\\\\d(\\\\d|_\\\\d)*(\\\\.(\\\\d(\\\\d|_\\\\d)*)?)?(_*[eE]([-+]\\\\d(_\\\\d|\\\\d)*)?)?[_a-z]*)\",r:0,starts:{e:\"(\\\\s*/)?\",r:0}},{cN:\"string\",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/\"\"\"/,e:/\"\"\"/,c:[e.BE,i,n]},{b:/\"/,e:/\"/,c:[e.BE,i,n]},{b:/\\\\/,e:/(\\s|$)/,eE:!0}]},{cN:\"regexp\",v:[{b:\"//\",e:\"//[gim]*\",c:[i,e.HCM]},{b:/\\/(?![ *])(\\\\\\/|.)*?\\/[gim]*(?=\\W|$)/}]},{b:\"@\"+r},{b:\"``\",e:\"``\",eB:!0,eE:!0,sL:\"javascript\"}];i.c=o;var s={cN:\"params\",b:\"\\\\(\",rB:!0,c:[{b:/\\(/,e:/\\)/,k:t,c:[\"self\"].concat(o)}]};return{aliases:[\"ls\"],k:t,i:/\\/\\*/,c:o.concat([e.C(\"\\\\/\\\\*\",\"\\\\*\\\\/\"),e.HCM,{cN:\"function\",c:[a,s],rB:!0,v:[{b:\"(\"+r+\"\\\\s*(?:=|:=)\\\\s*)?(\\\\(.*\\\\))?\\\\s*\\\\B\\\\->\\\\*?\",e:\"\\\\->\\\\*?\"},{b:\"(\"+r+\"\\\\s*(?:=|:=)\\\\s*)?!?(\\\\(.*\\\\))?\\\\s*\\\\B[-~]{1,2}>\\\\*?\",e:\"[-~]{1,2}>\\\\*?\"},{b:\"(\"+r+\"\\\\s*(?:=|:=)\\\\s*)?(\\\\(.*\\\\))?\\\\s*\\\\B!?[-~]{1,2}>\\\\*?\",e:\"!?[-~]{1,2}>\\\\*?\"}]},{cN:\"class\",bK:\"class\",e:\"$\",i:/[:=\"\\[\\]]/,c:[{bK:\"extends\",eW:!0,i:/[:=\"\\[\\]]/,c:[a]},a]},{b:r+\":\",e:\":\",rB:!0,rE:!0,r:0}])}}),e.registerLanguage(\"llvm\",function(e){var t=\"([-a-zA-Z$._][\\\\w\\\\-$.]*)\";return{k:\"begin end true false declare define global constant private linker_private internal available_externally linkonce linkonce_odr weak weak_odr appending dllimport dllexport common default hidden protected extern_weak external thread_local zeroinitializer undef null to tail target triple datalayout volatile nuw nsw nnan ninf nsz arcp fast exact inbounds align addrspace section alias module asm sideeffect gc dbg linker_private_weak attributes blockaddress initialexec localdynamic localexec prefix unnamed_addr ccc fastcc coldcc x86_stdcallcc x86_fastcallcc arm_apcscc arm_aapcscc arm_aapcs_vfpcc ptx_device ptx_kernel intel_ocl_bicc msp430_intrcc spir_func spir_kernel x86_64_sysvcc x86_64_win64cc x86_thiscallcc cc c signext zeroext inreg sret nounwind noreturn noalias nocapture byval nest readnone readonly inlinehint noinline alwaysinline optsize ssp sspreq noredzone noimplicitfloat naked builtin cold nobuiltin noduplicate nonlazybind optnone returns_twice sanitize_address sanitize_memory sanitize_thread sspstrong uwtable returned type opaque eq ne slt sgt sle sge ult ugt ule uge oeq one olt ogt ole oge ord uno ueq une x acq_rel acquire alignstack atomic catch cleanup filter inteldialect max min monotonic nand personality release seq_cst singlethread umax umin unordered xchg add fadd sub fsub mul fmul udiv sdiv fdiv urem srem frem shl lshr ashr and or xor icmp fcmp phi call trunc zext sext fptrunc fpext uitofp sitofp fptoui fptosi inttoptr ptrtoint bitcast addrspacecast select va_arg ret br switch invoke unwind unreachable indirectbr landingpad resume malloc alloca free load store getelementptr extractelement insertelement shufflevector getresult extractvalue insertvalue atomicrmw cmpxchg fence argmemonly double\",c:[{cN:\"keyword\",b:\"i\\\\d+\"},e.C(\";\",\"\\\\n\",{r:0}),e.QSM,{cN:\"string\",v:[{b:'\"',e:'[^\\\\\\\\]\"'}],r:0},{cN:\"title\",v:[{b:\"@\"+t},{b:\"@\\\\d+\"},{b:\"!\"+t},{b:\"!\\\\d+\"+t}]},{cN:\"symbol\",v:[{b:\"%\"+t},{b:\"%\\\\d+\"},{b:\"#\\\\d+\"}]},{cN:\"number\",v:[{b:\"0[xX][a-fA-F0-9]+\"},{b:\"-?\\\\d+(?:[.]\\\\d+)?(?:[eE][-+]?\\\\d+(?:[.]\\\\d+)?)?\"}],r:0}]}}),e.registerLanguage(\"lsl\",function(e){var t={cN:\"subst\",b:/\\\\[tn\"\\\\]/},r={cN:\"string\",b:'\"',e:'\"',c:[t]},a={cN:\"number\",b:e.CNR},i={cN:\"literal\",v:[{b:\"\\\\b(?:PI|TWO_PI|PI_BY_TWO|DEG_TO_RAD|RAD_TO_DEG|SQRT2)\\\\b\"},{b:\"\\\\b(?:XP_ERROR_(?:EXPERIENCES_DISABLED|EXPERIENCE_(?:DISABLED|SUSPENDED)|INVALID_(?:EXPERIENCE|PARAMETERS)|KEY_NOT_FOUND|MATURITY_EXCEEDED|NONE|NOT_(?:FOUND|PERMITTED(?:_LAND)?)|NO_EXPERIENCE|QUOTA_EXCEEDED|RETRY_UPDATE|STORAGE_EXCEPTION|STORE_DISABLED|THROTTLED|UNKNOWN_ERROR)|JSON_APPEND|STATUS_(?:PHYSICS|ROTATE_[XYZ]|PHANTOM|SANDBOX|BLOCK_GRAB(?:_OBJECT)?|(?:DIE|RETURN)_AT_EDGE|CAST_SHADOWS|OK|MALFORMED_PARAMS|TYPE_MISMATCH|BOUNDS_ERROR|NOT_(?:FOUND|SUPPORTED)|INTERNAL_ERROR|WHITELIST_FAILED)|AGENT(?:_(?:BY_(?:LEGACY_|USER)NAME|FLYING|ATTACHMENTS|SCRIPTED|MOUSELOOK|SITTING|ON_OBJECT|AWAY|WALKING|IN_AIR|TYPING|CROUCHING|BUSY|ALWAYS_RUN|AUTOPILOT|LIST_(?:PARCEL(?:_OWNER)?|REGION)))?|CAMERA_(?:PITCH|DISTANCE|BEHINDNESS_(?:ANGLE|LAG)|(?:FOCUS|POSITION)(?:_(?:THRESHOLD|LOCKED|LAG))?|FOCUS_OFFSET|ACTIVE)|ANIM_ON|LOOP|REVERSE|PING_PONG|SMOOTH|ROTATE|SCALE|ALL_SIDES|LINK_(?:ROOT|SET|ALL_(?:OTHERS|CHILDREN)|THIS)|ACTIVE|PASS(?:IVE|_(?:ALWAYS|IF_NOT_HANDLED|NEVER))|SCRIPTED|CONTROL_(?:FWD|BACK|(?:ROT_)?(?:LEFT|RIGHT)|UP|DOWN|(?:ML_)?LBUTTON)|PERMISSION_(?:RETURN_OBJECTS|DEBIT|OVERRIDE_ANIMATIONS|SILENT_ESTATE_MANAGEMENT|TAKE_CONTROLS|TRIGGER_ANIMATION|ATTACH|CHANGE_LINKS|(?:CONTROL|TRACK)_CAMERA|TELEPORT)|INVENTORY_(?:TEXTURE|SOUND|OBJECT|SCRIPT|LANDMARK|CLOTHING|NOTECARD|BODYPART|ANIMATION|GESTURE|ALL|NONE)|CHANGED_(?:INVENTORY|COLOR|SHAPE|SCALE|TEXTURE|LINK|ALLOWED_DROP|OWNER|REGION(?:_START)?|TELEPORT|MEDIA)|OBJECT_(?:CLICK_ACTION|HOVER_HEIGHT|LAST_OWNER_ID|(?:PHYSICS|SERVER|STREAMING)_COST|UNKNOWN_DETAIL|CHARACTER_TIME|PHANTOM|PHYSICS|TEMP_ON_REZ|NAME|DESC|POS|PRIM_(?:COUNT|EQUIVALENCE)|RETURN_(?:PARCEL(?:_OWNER)?|REGION)|REZZER_KEY|ROO?T|VELOCITY|OMEGA|OWNER|GROUP|CREATOR|ATTACHED_POINT|RENDER_WEIGHT|(?:BODY_SHAPE|PATHFINDING)_TYPE|(?:RUNNING|TOTAL)_SCRIPT_COUNT|TOTAL_INVENTORY_COUNT|SCRIPT_(?:MEMORY|TIME))|TYPE_(?:INTEGER|FLOAT|STRING|KEY|VECTOR|ROTATION|INVALID)|(?:DEBUG|PUBLIC)_CHANNEL|ATTACH_(?:AVATAR_CENTER|CHEST|HEAD|BACK|PELVIS|MOUTH|CHIN|NECK|NOSE|BELLY|[LR](?:SHOULDER|HAND|FOOT|EAR|EYE|[UL](?:ARM|LEG)|HIP)|(?:LEFT|RIGHT)_PEC|HUD_(?:CENTER_[12]|TOP_(?:RIGHT|CENTER|LEFT)|BOTTOM(?:_(?:RIGHT|LEFT))?)|[LR]HAND_RING1|TAIL_(?:BASE|TIP)|[LR]WING|FACE_(?:JAW|[LR]EAR|[LR]EYE|TOUNGE)|GROIN|HIND_[LR]FOOT)|LAND_(?:LEVEL|RAISE|LOWER|SMOOTH|NOISE|REVERT)|DATA_(?:ONLINE|NAME|BORN|SIM_(?:POS|STATUS|RATING)|PAYINFO)|PAYMENT_INFO_(?:ON_FILE|USED)|REMOTE_DATA_(?:CHANNEL|REQUEST|REPLY)|PSYS_(?:PART_(?:BF_(?:ZERO|ONE(?:_MINUS_(?:DEST_COLOR|SOURCE_(ALPHA|COLOR)))?|DEST_COLOR|SOURCE_(ALPHA|COLOR))|BLEND_FUNC_(DEST|SOURCE)|FLAGS|(?:START|END)_(?:COLOR|ALPHA|SCALE|GLOW)|MAX_AGE|(?:RIBBON|WIND|INTERP_(?:COLOR|SCALE)|BOUNCE|FOLLOW_(?:SRC|VELOCITY)|TARGET_(?:POS|LINEAR)|EMISSIVE)_MASK)|SRC_(?:MAX_AGE|PATTERN|ANGLE_(?:BEGIN|END)|BURST_(?:RATE|PART_COUNT|RADIUS|SPEED_(?:MIN|MAX))|ACCEL|TEXTURE|TARGET_KEY|OMEGA|PATTERN_(?:DROP|EXPLODE|ANGLE(?:_CONE(?:_EMPTY)?)?)))|VEHICLE_(?:REFERENCE_FRAME|TYPE_(?:NONE|SLED|CAR|BOAT|AIRPLANE|BALLOON)|(?:LINEAR|ANGULAR)_(?:FRICTION_TIMESCALE|MOTOR_DIRECTION)|LINEAR_MOTOR_OFFSET|HOVER_(?:HEIGHT|EFFICIENCY|TIMESCALE)|BUOYANCY|(?:LINEAR|ANGULAR)_(?:DEFLECTION_(?:EFFICIENCY|TIMESCALE)|MOTOR_(?:DECAY_)?TIMESCALE)|VERTICAL_ATTRACTION_(?:EFFICIENCY|TIMESCALE)|BANKING_(?:EFFICIENCY|MIX|TIMESCALE)|FLAG_(?:NO_DEFLECTION_UP|LIMIT_(?:ROLL_ONLY|MOTOR_UP)|HOVER_(?:(?:WATER|TERRAIN|UP)_ONLY|GLOBAL_HEIGHT)|MOUSELOOK_(?:STEER|BANK)|CAMERA_DECOUPLED))|PRIM_(?:ALPHA_MODE(?:_(?:BLEND|EMISSIVE|MASK|NONE))?|NORMAL|SPECULAR|TYPE(?:_(?:BOX|CYLINDER|PRISM|SPHERE|TORUS|TUBE|RING|SCULPT))?|HOLE_(?:DEFAULT|CIRCLE|SQUARE|TRIANGLE)|MATERIAL(?:_(?:STONE|METAL|GLASS|WOOD|FLESH|PLASTIC|RUBBER))?|SHINY_(?:NONE|LOW|MEDIUM|HIGH)|BUMP_(?:NONE|BRIGHT|DARK|WOOD|BARK|BRICKS|CHECKER|CONCRETE|TILE|STONE|DISKS|GRAVEL|BLOBS|SIDING|LARGETILE|STUCCO|SUCTION|WEAVE)|TEXGEN_(?:DEFAULT|PLANAR)|SCULPT_(?:TYPE_(?:SPHERE|TORUS|PLANE|CYLINDER|MASK)|FLAG_(?:MIRROR|INVERT))|PHYSICS(?:_(?:SHAPE_(?:CONVEX|NONE|PRIM|TYPE)))?|(?:POS|ROT)_LOCAL|SLICE|TEXT|FLEXIBLE|POINT_LIGHT|TEMP_ON_REZ|PHANTOM|POSITION|SIZE|ROTATION|TEXTURE|NAME|OMEGA|DESC|LINK_TARGET|COLOR|BUMP_SHINY|FULLBRIGHT|TEXGEN|GLOW|MEDIA_(?:ALT_IMAGE_ENABLE|CONTROLS|(?:CURRENT|HOME)_URL|AUTO_(?:LOOP|PLAY|SCALE|ZOOM)|FIRST_CLICK_INTERACT|(?:WIDTH|HEIGHT)_PIXELS|WHITELIST(?:_ENABLE)?|PERMS_(?:INTERACT|CONTROL)|PARAM_MAX|CONTROLS_(?:STANDARD|MINI)|PERM_(?:NONE|OWNER|GROUP|ANYONE)|MAX_(?:URL_LENGTH|WHITELIST_(?:SIZE|COUNT)|(?:WIDTH|HEIGHT)_PIXELS)))|MASK_(?:BASE|OWNER|GROUP|EVERYONE|NEXT)|PERM_(?:TRANSFER|MODIFY|COPY|MOVE|ALL)|PARCEL_(?:MEDIA_COMMAND_(?:STOP|PAUSE|PLAY|LOOP|TEXTURE|URL|TIME|AGENT|UNLOAD|AUTO_ALIGN|TYPE|SIZE|DESC|LOOP_SET)|FLAG_(?:ALLOW_(?:FLY|(?:GROUP_)?SCRIPTS|LANDMARK|TERRAFORM|DAMAGE|CREATE_(?:GROUP_)?OBJECTS)|USE_(?:ACCESS_(?:GROUP|LIST)|BAN_LIST|LAND_PASS_LIST)|LOCAL_SOUND_ONLY|RESTRICT_PUSHOBJECT|ALLOW_(?:GROUP|ALL)_OBJECT_ENTRY)|COUNT_(?:TOTAL|OWNER|GROUP|OTHER|SELECTED|TEMP)|DETAILS_(?:NAME|DESC|OWNER|GROUP|AREA|ID|SEE_AVATARS))|LIST_STAT_(?:MAX|MIN|MEAN|MEDIAN|STD_DEV|SUM(?:_SQUARES)?|NUM_COUNT|GEOMETRIC_MEAN|RANGE)|PAY_(?:HIDE|DEFAULT)|REGION_FLAG_(?:ALLOW_DAMAGE|FIXED_SUN|BLOCK_TERRAFORM|SANDBOX|DISABLE_(?:COLLISIONS|PHYSICS)|BLOCK_FLY|ALLOW_DIRECT_TELEPORT|RESTRICT_PUSHOBJECT)|HTTP_(?:METHOD|MIMETYPE|BODY_(?:MAXLENGTH|TRUNCATED)|CUSTOM_HEADER|PRAGMA_NO_CACHE|VERBOSE_THROTTLE|VERIFY_CERT)|STRING_(?:TRIM(?:_(?:HEAD|TAIL))?)|CLICK_ACTION_(?:NONE|TOUCH|SIT|BUY|PAY|OPEN(?:_MEDIA)?|PLAY|ZOOM)|TOUCH_INVALID_FACE|PROFILE_(?:NONE|SCRIPT_MEMORY)|RC_(?:DATA_FLAGS|DETECT_PHANTOM|GET_(?:LINK_NUM|NORMAL|ROOT_KEY)|MAX_HITS|REJECT_(?:TYPES|AGENTS|(?:NON)?PHYSICAL|LAND))|RCERR_(?:CAST_TIME_EXCEEDED|SIM_PERF_LOW|UNKNOWN)|ESTATE_ACCESS_(?:ALLOWED_(?:AGENT|GROUP)_(?:ADD|REMOVE)|BANNED_AGENT_(?:ADD|REMOVE))|DENSITY|FRICTION|RESTITUTION|GRAVITY_MULTIPLIER|KFM_(?:COMMAND|CMD_(?:PLAY|STOP|PAUSE)|MODE|FORWARD|LOOP|PING_PONG|REVERSE|DATA|ROTATION|TRANSLATION)|ERR_(?:GENERIC|PARCEL_PERMISSIONS|MALFORMED_PARAMS|RUNTIME_PERMISSIONS|THROTTLED)|CHARACTER_(?:CMD_(?:(?:SMOOTH_)?STOP|JUMP)|DESIRED_(?:TURN_)?SPEED|RADIUS|STAY_WITHIN_PARCEL|LENGTH|ORIENTATION|ACCOUNT_FOR_SKIPPED_FRAMES|AVOIDANCE_MODE|TYPE(?:_(?:[ABCD]|NONE))?|MAX_(?:DECEL|TURN_RADIUS|(?:ACCEL|SPEED)))|PURSUIT_(?:OFFSET|FUZZ_FACTOR|GOAL_TOLERANCE|INTERCEPT)|REQUIRE_LINE_OF_SIGHT|FORCE_DIRECT_PATH|VERTICAL|HORIZONTAL|AVOID_(?:CHARACTERS|DYNAMIC_OBSTACLES|NONE)|PU_(?:EVADE_(?:HIDDEN|SPOTTED)|FAILURE_(?:DYNAMIC_PATHFINDING_DISABLED|INVALID_(?:GOAL|START)|NO_(?:NAVMESH|VALID_DESTINATION)|OTHER|TARGET_GONE|(?:PARCEL_)?UNREACHABLE)|(?:GOAL|SLOWDOWN_DISTANCE)_REACHED)|TRAVERSAL_TYPE(?:_(?:FAST|NONE|SLOW))?|CONTENT_TYPE_(?:ATOM|FORM|HTML|JSON|LLSD|RSS|TEXT|XHTML|XML)|GCNP_(?:RADIUS|STATIC)|(?:PATROL|WANDER)_PAUSE_AT_WAYPOINTS|OPT_(?:AVATAR|CHARACTER|EXCLUSION_VOLUME|LEGACY_LINKSET|MATERIAL_VOLUME|OTHER|STATIC_OBSTACLE|WALKABLE)|SIM_STAT_PCT_CHARS_STEPPED)\\\\b\"},{b:\"\\\\b(?:FALSE|TRUE)\\\\b\"},{b:\"\\\\b(?:ZERO_ROTATION)\\\\b\"},{b:\"\\\\b(?:EOF|JSON_(?:ARRAY|DELETE|FALSE|INVALID|NULL|NUMBER|OBJECT|STRING|TRUE)|NULL_KEY|TEXTURE_(?:BLANK|DEFAULT|MEDIA|PLYWOOD|TRANSPARENT)|URL_REQUEST_(?:GRANTED|DENIED))\\\\b\"},{b:\"\\\\b(?:ZERO_VECTOR|TOUCH_INVALID_(?:TEXCOORD|VECTOR))\\\\b\"}]},n={cN:\"built_in\",b:\"\\\\b(?:ll(?:AgentInExperience|(?:Create|DataSize|Delete|KeyCount|Keys|Read|Update)KeyValue|GetExperience(?:Details|ErrorMessage)|ReturnObjectsBy(?:ID|Owner)|Json(?:2List|[GS]etValue|ValueType)|Sin|Cos|Tan|Atan2|Sqrt|Pow|Abs|Fabs|Frand|Floor|Ceil|Round|Vec(?:Mag|Norm|Dist)|Rot(?:Between|2(?:Euler|Fwd|Left|Up))|(?:Euler|Axes)2Rot|Whisper|(?:Region|Owner)?Say|Shout|Listen(?:Control|Remove)?|Sensor(?:Repeat|Remove)?|Detected(?:Name|Key|Owner|Type|Pos|Vel|Grab|Rot|Group|LinkNumber)|Die|Ground|Wind|(?:[GS]et)(?:AnimationOverride|MemoryLimit|PrimMediaParams|ParcelMusicURL|Object(?:Desc|Name)|PhysicsMaterial|Status|Scale|Color|Alpha|Texture|Pos|Rot|Force|Torque)|ResetAnimationOverride|(?:Scale|Offset|Rotate)Texture|(?:Rot)?Target(?:Remove)?|(?:Stop)?MoveToTarget|Apply(?:Rotational)?Impulse|Set(?:KeyframedMotion|ContentType|RegionPos|(?:Angular)?Velocity|Buoyancy|HoverHeight|ForceAndTorque|TimerEvent|ScriptState|Damage|TextureAnim|Sound(?:Queueing|Radius)|Vehicle(?:Type|(?:Float|Vector|Rotation)Param)|(?:Touch|Sit)?Text|Camera(?:Eye|At)Offset|PrimitiveParams|ClickAction|Link(?:Alpha|Color|PrimitiveParams(?:Fast)?|Texture(?:Anim)?|Camera|Media)|RemoteScriptAccessPin|PayPrice|LocalRot)|ScaleByFactor|Get(?:(?:Max|Min)ScaleFactor|ClosestNavPoint|StaticPath|SimStats|Env|PrimitiveParams|Link(?:PrimitiveParams|Number(?:OfSides)?|Key|Name|Media)|HTTPHeader|FreeURLs|Object(?:Details|PermMask|PrimCount)|Parcel(?:MaxPrims|Details|Prim(?:Count|Owners))|Attached(?:List)?|(?:SPMax|Free|Used)Memory|Region(?:Name|TimeDilation|FPS|Corner|AgentCount)|Root(?:Position|Rotation)|UnixTime|(?:Parcel|Region)Flags|(?:Wall|GMT)clock|SimulatorHostname|BoundingBox|GeometricCenter|Creator|NumberOf(?:Prims|NotecardLines|Sides)|Animation(?:List)?|(?:Camera|Local)(?:Pos|Rot)|Vel|Accel|Omega|Time(?:stamp|OfDay)|(?:Object|CenterOf)?Mass|MassMKS|Energy|Owner|(?:Owner)?Key|SunDirection|Texture(?:Offset|Scale|Rot)|Inventory(?:Number|Name|Key|Type|Creator|PermMask)|Permissions(?:Key)?|StartParameter|List(?:Length|EntryType)|Date|Agent(?:Size|Info|Language|List)|LandOwnerAt|NotecardLine|Script(?:Name|State))|(?:Get|Reset|GetAndReset)Time|PlaySound(?:Slave)?|LoopSound(?:Master|Slave)?|(?:Trigger|Stop|Preload)Sound|(?:(?:Get|Delete)Sub|Insert)String|To(?:Upper|Lower)|Give(?:InventoryList|Money)|RezObject|(?:Stop)?LookAt|Sleep|CollisionFilter|(?:Take|Release)Controls|DetachFromAvatar|AttachToAvatar(?:Temp)?|InstantMessage|(?:GetNext)?Email|StopHover|MinEventDelay|RotLookAt|String(?:Length|Trim)|(?:Start|Stop)Animation|TargetOmega|Request(?:Experience)?Permissions|(?:Create|Break)Link|BreakAllLinks|(?:Give|Remove)Inventory|Water|PassTouches|Request(?:Agent|Inventory)Data|TeleportAgent(?:Home|GlobalCoords)?|ModifyLand|CollisionSound|ResetScript|MessageLinked|PushObject|PassCollisions|AxisAngle2Rot|Rot2(?:Axis|Angle)|A(?:cos|sin)|AngleBetween|AllowInventoryDrop|SubStringIndex|List2(?:CSV|Integer|Json|Float|String|Key|Vector|Rot|List(?:Strided)?)|DeleteSubList|List(?:Statistics|Sort|Randomize|(?:Insert|Find|Replace)List)|EdgeOfWorld|AdjustSoundVolume|Key2Name|TriggerSoundLimited|EjectFromLand|(?:CSV|ParseString)2List|OverMyLand|SameGroup|UnSit|Ground(?:Slope|Normal|Contour)|GroundRepel|(?:Set|Remove)VehicleFlags|(?:AvatarOn)?(?:Link)?SitTarget|Script(?:Danger|Profiler)|Dialog|VolumeDetect|ResetOtherScript|RemoteLoadScriptPin|(?:Open|Close)RemoteDataChannel|SendRemoteData|RemoteDataReply|(?:Integer|String)ToBase64|XorBase64|Log(?:10)?|Base64To(?:String|Integer)|ParseStringKeepNulls|RezAtRoot|RequestSimulatorData|ForceMouselook|(?:Load|Release|(?:E|Une)scape)URL|ParcelMedia(?:CommandList|Query)|ModPow|MapDestination|(?:RemoveFrom|AddTo|Reset)Land(?:Pass|Ban)List|(?:Set|Clear)CameraParams|HTTP(?:Request|Response)|TextBox|DetectedTouch(?:UV|Face|Pos|(?:N|Bin)ormal|ST)|(?:MD5|SHA1|DumpList2)String|Request(?:Secure)?URL|Clear(?:Prim|Link)Media|(?:Link)?ParticleSystem|(?:Get|Request)(?:Username|DisplayName)|RegionSayTo|CastRay|GenerateKey|TransferLindenDollars|ManageEstateAccess|(?:Create|Delete)Character|ExecCharacterCmd|Evade|FleeFrom|NavigateTo|PatrolPoints|Pursue|UpdateCharacter|WanderWithin))\\\\b\"};return{i:\":\",c:[r,{cN:\"comment\",v:[e.C(\"//\",\"$\"),e.C(\"/\\\\*\",\"\\\\*/\")]},a,{cN:\"section\",v:[{b:\"\\\\b(?:state|default)\\\\b\"},{b:\"\\\\b(?:state_(?:entry|exit)|touch(?:_(?:start|end))?|(?:land_)?collision(?:_(?:start|end))?|timer|listen|(?:no_)?sensor|control|(?:not_)?at_(?:rot_)?target|money|email|experience_permissions(?:_denied)?|run_time_permissions|changed|attach|dataserver|moving_(?:start|end)|link_message|(?:on|object)_rez|remote_data|http_re(?:sponse|quest)|path_update|transaction_result)\\\\b\"}]},n,i,{cN:\"type\",b:\"\\\\b(?:integer|float|string|key|vector|quaternion|rotation|list)\\\\b\"}]}}),e.registerLanguage(\"lua\",function(e){var t=\"\\\\[=*\\\\[\",r=\"\\\\]=*\\\\]\",a={b:t,e:r,c:[\"self\"]},i=[e.C(\"--(?!\"+t+\")\",\"$\"),e.C(\"--\"+t,r,{c:[a],r:10})];return{l:e.UIR,k:{literal:\"true false nil\",keyword:\"and break do else elseif end for goto if in local not or repeat return then until while\",built_in:\"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstringmodule next pairs pcall print rawequal rawget rawset require select setfenvsetmetatable tonumber tostring type unpack xpcall arg selfcoroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove\"\n},c:i.concat([{cN:\"function\",bK:\"function\",e:\"\\\\)\",c:[e.inherit(e.TM,{b:\"([_a-zA-Z]\\\\w*\\\\.)*([_a-zA-Z]\\\\w*:)?[_a-zA-Z]\\\\w*\"}),{cN:\"params\",b:\"\\\\(\",eW:!0,c:i}].concat(i)},e.CNM,e.ASM,e.QSM,{cN:\"string\",b:t,e:r,c:[a],r:5}])}}),e.registerLanguage(\"makefile\",function(e){var t={cN:\"variable\",v:[{b:\"\\\\$\\\\(\"+e.UIR+\"\\\\)\",c:[e.BE]},{b:/\\$[@%<?\\^\\+\\*]/}]},r={cN:\"string\",b:/\"/,e:/\"/,c:[e.BE,t]},a={cN:\"variable\",b:/\\$\\([\\w-]+\\s/,e:/\\)/,k:{built_in:\"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value\"},c:[t]},i={b:\"^\"+e.UIR+\"\\\\s*[:+?]?=\",i:\"\\\\n\",rB:!0,c:[{b:\"^\"+e.UIR,e:\"[:+?]?=\",eE:!0}]},n={cN:\"meta\",b:/^\\.PHONY:/,e:/$/,k:{\"meta-keyword\":\".PHONY\"},l:/[\\.\\w]+/},o={cN:\"section\",b:/^[^\\s]+:/,e:/$/,c:[t]};return{aliases:[\"mk\",\"mak\"],k:\"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath\",l:/[\\w-]+/,c:[e.HCM,t,r,a,i,n,o]}}),e.registerLanguage(\"mathematica\",function(e){return{aliases:[\"mma\"],l:\"(\\\\$|\\\\b)\"+e.IR+\"\\\\b\",k:\"AbelianGroup Abort AbortKernels AbortProtect Above Abs Absolute AbsoluteCorrelation AbsoluteCorrelationFunction AbsoluteCurrentValue AbsoluteDashing AbsoluteFileName AbsoluteOptions AbsolutePointSize AbsoluteThickness AbsoluteTime AbsoluteTiming AccountingForm Accumulate Accuracy AccuracyGoal ActionDelay ActionMenu ActionMenuBox ActionMenuBoxOptions Active ActiveItem ActiveStyle AcyclicGraphQ AddOnHelpPath AddTo AdjacencyGraph AdjacencyList AdjacencyMatrix AdjustmentBox AdjustmentBoxOptions AdjustTimeSeriesForecast AffineTransform After AiryAi AiryAiPrime AiryAiZero AiryBi AiryBiPrime AiryBiZero AlgebraicIntegerQ AlgebraicNumber AlgebraicNumberDenominator AlgebraicNumberNorm AlgebraicNumberPolynomial AlgebraicNumberTrace AlgebraicRules AlgebraicRulesData Algebraics AlgebraicUnitQ Alignment AlignmentMarker AlignmentPoint All AllowedDimensions AllowGroupClose AllowInlineCells AllowKernelInitialization AllowReverseGroupClose AllowScriptLevelChange AlphaChannel AlternatingGroup AlternativeHypothesis Alternatives AmbientLight Analytic AnchoredSearch And AndersonDarlingTest AngerJ AngleBracket AngularGauge Animate AnimationCycleOffset AnimationCycleRepetitions AnimationDirection AnimationDisplayTime AnimationRate AnimationRepetitions AnimationRunning Animator AnimatorBox AnimatorBoxOptions AnimatorElements Annotation Annuity AnnuityDue Antialiasing Antisymmetric Apart ApartSquareFree Appearance AppearanceElements AppellF1 Append AppendTo Apply ArcCos ArcCosh ArcCot ArcCoth ArcCsc ArcCsch ArcSec ArcSech ArcSin ArcSinDistribution ArcSinh ArcTan ArcTanh Arg ArgMax ArgMin ArgumentCountQ ARIMAProcess ArithmeticGeometricMean ARMAProcess ARProcess Array ArrayComponents ArrayDepth ArrayFlatten ArrayPad ArrayPlot ArrayQ ArrayReshape ArrayRules Arrays Arrow Arrow3DBox ArrowBox Arrowheads AspectRatio AspectRatioFixed Assert Assuming Assumptions AstronomicalData Asynchronous AsynchronousTaskObject AsynchronousTasks AtomQ Attributes AugmentedSymmetricPolynomial AutoAction AutoDelete AutoEvaluateEvents AutoGeneratedPackage AutoIndent AutoIndentSpacings AutoItalicWords AutoloadPath AutoMatch Automatic AutomaticImageSize AutoMultiplicationSymbol AutoNumberFormatting AutoOpenNotebooks AutoOpenPalettes AutorunSequencing AutoScaling AutoScroll AutoSpacing AutoStyleOptions AutoStyleWords Axes AxesEdge AxesLabel AxesOrigin AxesStyle Axis BabyMonsterGroupB Back Background BackgroundTasksSettings Backslash Backsubstitution Backward Band BandpassFilter BandstopFilter BarabasiAlbertGraphDistribution BarChart BarChart3D BarLegend BarlowProschanImportance BarnesG BarOrigin BarSpacing BartlettHannWindow BartlettWindow BaseForm Baseline BaselinePosition BaseStyle BatesDistribution BattleLemarieWavelet Because BeckmannDistribution Beep Before Begin BeginDialogPacket BeginFrontEndInteractionPacket BeginPackage BellB BellY Below BenfordDistribution BeniniDistribution BenktanderGibratDistribution BenktanderWeibullDistribution BernoulliB BernoulliDistribution BernoulliGraphDistribution BernoulliProcess BernsteinBasis BesselFilterModel BesselI BesselJ BesselJZero BesselK BesselY BesselYZero Beta BetaBinomialDistribution BetaDistribution BetaNegativeBinomialDistribution BetaPrimeDistribution BetaRegularized BetweennessCentrality BezierCurve BezierCurve3DBox BezierCurve3DBoxOptions BezierCurveBox BezierCurveBoxOptions BezierFunction BilateralFilter Binarize BinaryFormat BinaryImageQ BinaryRead BinaryReadList BinaryWrite BinCounts BinLists Binomial BinomialDistribution BinomialProcess BinormalDistribution BiorthogonalSplineWavelet BipartiteGraphQ BirnbaumImportance BirnbaumSaundersDistribution BitAnd BitClear BitGet BitLength BitNot BitOr BitSet BitShiftLeft BitShiftRight BitXor Black BlackmanHarrisWindow BlackmanNuttallWindow BlackmanWindow Blank BlankForm BlankNullSequence BlankSequence Blend Block BlockRandom BlomqvistBeta BlomqvistBetaTest Blue Blur BodePlot BohmanWindow Bold Bookmarks Boole BooleanConsecutiveFunction BooleanConvert BooleanCountingFunction BooleanFunction BooleanGraph BooleanMaxterms BooleanMinimize BooleanMinterms Booleans BooleanTable BooleanVariables BorderDimensions BorelTannerDistribution Bottom BottomHatTransform BoundaryStyle Bounds Box BoxBaselineShift BoxData BoxDimensions Boxed Boxes BoxForm BoxFormFormatTypes BoxFrame BoxID BoxMargins BoxMatrix BoxRatios BoxRotation BoxRotationPoint BoxStyle BoxWhiskerChart Bra BracketingBar BraKet BrayCurtisDistance BreadthFirstScan Break Brown BrownForsytheTest BrownianBridgeProcess BrowserCategory BSplineBasis BSplineCurve BSplineCurve3DBox BSplineCurveBox BSplineCurveBoxOptions BSplineFunction BSplineSurface BSplineSurface3DBox BubbleChart BubbleChart3D BubbleScale BubbleSizes BulletGauge BusinessDayQ ButterflyGraph ButterworthFilterModel Button ButtonBar ButtonBox ButtonBoxOptions ButtonCell ButtonContents ButtonData ButtonEvaluator ButtonExpandable ButtonFrame ButtonFunction ButtonMargins ButtonMinHeight ButtonNote ButtonNotebook ButtonSource ButtonStyle ButtonStyleMenuListing Byte ByteCount ByteOrdering C CachedValue CacheGraphics CalendarData CalendarType CallPacket CanberraDistance Cancel CancelButton CandlestickChart Cap CapForm CapitalDifferentialD CardinalBSplineBasis CarmichaelLambda Cases Cashflow Casoratian Catalan CatalanNumber Catch CauchyDistribution CauchyWindow CayleyGraph CDF CDFDeploy CDFInformation CDFWavelet Ceiling Cell CellAutoOverwrite CellBaseline CellBoundingBox CellBracketOptions CellChangeTimes CellContents CellContext CellDingbat CellDynamicExpression CellEditDuplicate CellElementsBoundingBox CellElementSpacings CellEpilog CellEvaluationDuplicate CellEvaluationFunction CellEventActions CellFrame CellFrameColor CellFrameLabelMargins CellFrameLabels CellFrameMargins CellGroup CellGroupData CellGrouping CellGroupingRules CellHorizontalScrolling CellID CellLabel CellLabelAutoDelete CellLabelMargins CellLabelPositioning CellMargins CellObject CellOpen CellPrint CellProlog Cells CellSize CellStyle CellTags CellularAutomaton CensoredDistribution Censoring Center CenterDot CentralMoment CentralMomentGeneratingFunction CForm ChampernowneNumber ChanVeseBinarize Character CharacterEncoding CharacterEncodingsPath CharacteristicFunction CharacteristicPolynomial CharacterRange Characters ChartBaseStyle ChartElementData ChartElementDataFunction ChartElementFunction ChartElements ChartLabels ChartLayout ChartLegends ChartStyle Chebyshev1FilterModel Chebyshev2FilterModel ChebyshevDistance ChebyshevT ChebyshevU Check CheckAbort CheckAll Checkbox CheckboxBar CheckboxBox CheckboxBoxOptions ChemicalData ChessboardDistance ChiDistribution ChineseRemainder ChiSquareDistribution ChoiceButtons ChoiceDialog CholeskyDecomposition Chop Circle CircleBox CircleDot CircleMinus CirclePlus CircleTimes CirculantGraph CityData Clear ClearAll ClearAttributes ClearSystemCache ClebschGordan ClickPane Clip ClipboardNotebook ClipFill ClippingStyle ClipPlanes ClipRange Clock ClockGauge ClockwiseContourIntegral Close Closed CloseKernels ClosenessCentrality Closing ClosingAutoSave ClosingEvent ClusteringComponents CMYKColor Coarse Coefficient CoefficientArrays CoefficientDomain CoefficientList CoefficientRules CoifletWavelet Collect Colon ColonForm ColorCombine ColorConvert ColorData ColorDataFunction ColorFunction ColorFunctionScaling Colorize ColorNegate ColorOutput ColorProfileData ColorQuantize ColorReplace ColorRules ColorSelectorSettings ColorSeparate ColorSetter ColorSetterBox ColorSetterBoxOptions ColorSlider ColorSpace Column ColumnAlignments ColumnBackgrounds ColumnForm ColumnLines ColumnsEqual ColumnSpacings ColumnWidths CommonDefaultFormatTypes Commonest CommonestFilter CommonUnits CommunityBoundaryStyle CommunityGraphPlot CommunityLabels CommunityRegionStyle CompatibleUnitQ CompilationOptions CompilationTarget Compile Compiled CompiledFunction Complement CompleteGraph CompleteGraphQ CompleteKaryTree CompletionsListPacket Complex Complexes ComplexExpand ComplexInfinity ComplexityFunction ComponentMeasurements ComponentwiseContextMenu Compose ComposeList ComposeSeries Composition CompoundExpression CompoundPoissonDistribution CompoundPoissonProcess CompoundRenewalProcess Compress CompressedData Condition ConditionalExpression Conditioned Cone ConeBox ConfidenceLevel ConfidenceRange ConfidenceTransform ConfigurationPath Congruent Conjugate ConjugateTranspose Conjunction Connect ConnectedComponents ConnectedGraphQ ConnesWindow ConoverTest ConsoleMessage ConsoleMessagePacket ConsolePrint Constant ConstantArray Constants ConstrainedMax ConstrainedMin ContentPadding ContentsBoundingBox ContentSelectable ContentSize Context ContextMenu Contexts ContextToFilename ContextToFileName Continuation Continue ContinuedFraction ContinuedFractionK ContinuousAction ContinuousMarkovProcess ContinuousTimeModelQ ContinuousWaveletData ContinuousWaveletTransform ContourDetect ContourGraphics ContourIntegral ContourLabels ContourLines ContourPlot ContourPlot3D Contours ContourShading ContourSmoothing ContourStyle ContraharmonicMean Control ControlActive ControlAlignment ControllabilityGramian ControllabilityMatrix ControllableDecomposition ControllableModelQ ControllerDuration ControllerInformation ControllerInformationData ControllerLinking ControllerManipulate ControllerMethod ControllerPath ControllerState ControlPlacement ControlsRendering ControlType Convergents ConversionOptions ConversionRules ConvertToBitmapPacket ConvertToPostScript ConvertToPostScriptPacket Convolve ConwayGroupCo1 ConwayGroupCo2 ConwayGroupCo3 CoordinateChartData CoordinatesToolOptions CoordinateTransform CoordinateTransformData CoprimeQ Coproduct CopulaDistribution Copyable CopyDirectory CopyFile CopyTag CopyToClipboard CornerFilter CornerNeighbors Correlation CorrelationDistance CorrelationFunction CorrelationTest Cos Cosh CoshIntegral CosineDistance CosineWindow CosIntegral Cot Coth Count CounterAssignments CounterBox CounterBoxOptions CounterClockwiseContourIntegral CounterEvaluator CounterFunction CounterIncrements CounterStyle CounterStyleMenuListing CountRoots CountryData Covariance CovarianceEstimatorFunction CovarianceFunction CoxianDistribution CoxIngersollRossProcess CoxModel CoxModelFit CramerVonMisesTest CreateArchive CreateDialog CreateDirectory CreateDocument CreateIntermediateDirectories CreatePalette CreatePalettePacket CreateScheduledTask CreateTemporary CreateWindow CriticalityFailureImportance CriticalitySuccessImportance CriticalSection Cross CrossingDetect CrossMatrix Csc Csch CubeRoot Cubics Cuboid CuboidBox Cumulant CumulantGeneratingFunction Cup CupCap Curl CurlyDoubleQuote CurlyQuote CurrentImage CurrentlySpeakingPacket CurrentValue CurvatureFlowFilter CurveClosed Cyan CycleGraph CycleIndexPolynomial Cycles CyclicGroup Cyclotomic Cylinder CylinderBox CylindricalDecomposition D DagumDistribution DamerauLevenshteinDistance DampingFactor Darker Dashed Dashing DataCompression DataDistribution DataRange DataReversed Date DateDelimiters DateDifference DateFunction DateList DateListLogPlot DateListPlot DatePattern DatePlus DateRange DateString DateTicksFormat DaubechiesWavelet DavisDistribution DawsonF DayCount DayCountConvention DayMatchQ DayName DayPlus DayRange DayRound DeBruijnGraph Debug DebugTag Decimal DeclareKnownSymbols DeclarePackage Decompose Decrement DedekindEta Default DefaultAxesStyle DefaultBaseStyle DefaultBoxStyle DefaultButton DefaultColor DefaultControlPlacement DefaultDuplicateCellStyle DefaultDuration DefaultElement DefaultFaceGridsStyle DefaultFieldHintStyle DefaultFont DefaultFontProperties DefaultFormatType DefaultFormatTypeForStyle DefaultFrameStyle DefaultFrameTicksStyle DefaultGridLinesStyle DefaultInlineFormatType DefaultInputFormatType DefaultLabelStyle DefaultMenuStyle DefaultNaturalLanguage DefaultNewCellStyle DefaultNewInlineCellStyle DefaultNotebook DefaultOptions DefaultOutputFormatType DefaultStyle DefaultStyleDefinitions DefaultTextFormatType DefaultTextInlineFormatType DefaultTicksStyle DefaultTooltipStyle DefaultValues Defer DefineExternal DefineInputStreamMethod DefineOutputStreamMethod Definition Degree DegreeCentrality DegreeGraphDistribution DegreeLexicographic DegreeReverseLexicographic Deinitialization Del Deletable Delete DeleteBorderComponents DeleteCases DeleteContents DeleteDirectory DeleteDuplicates DeleteFile DeleteSmallComponents DeleteWithContents DeletionWarning Delimiter DelimiterFlashTime DelimiterMatching Delimiters Denominator DensityGraphics DensityHistogram DensityPlot DependentVariables Deploy Deployed Depth DepthFirstScan Derivative DerivativeFilter DescriptorStateSpace DesignMatrix Det DGaussianWavelet DiacriticalPositioning Diagonal DiagonalMatrix Dialog DialogIndent DialogInput DialogLevel DialogNotebook DialogProlog DialogReturn DialogSymbols Diamond DiamondMatrix DiceDissimilarity DictionaryLookup DifferenceDelta DifferenceOrder DifferenceRoot DifferenceRootReduce Differences DifferentialD DifferentialRoot DifferentialRootReduce DifferentiatorFilter DigitBlock DigitBlockMinimum DigitCharacter DigitCount DigitQ DihedralGroup Dilation Dimensions DiracComb DiracDelta DirectedEdge DirectedEdges DirectedGraph DirectedGraphQ DirectedInfinity Direction Directive Directory DirectoryName DirectoryQ DirectoryStack DirichletCharacter DirichletConvolve DirichletDistribution DirichletL DirichletTransform DirichletWindow DisableConsolePrintPacket DiscreteChirpZTransform DiscreteConvolve DiscreteDelta DiscreteHadamardTransform DiscreteIndicator DiscreteLQEstimatorGains DiscreteLQRegulatorGains DiscreteLyapunovSolve DiscreteMarkovProcess DiscretePlot DiscretePlot3D DiscreteRatio DiscreteRiccatiSolve DiscreteShift DiscreteTimeModelQ DiscreteUniformDistribution DiscreteVariables DiscreteWaveletData DiscreteWaveletPacketTransform DiscreteWaveletTransform Discriminant Disjunction Disk DiskBox DiskMatrix Dispatch DispersionEstimatorFunction Display DisplayAllSteps DisplayEndPacket DisplayFlushImagePacket DisplayForm DisplayFunction DisplayPacket DisplayRules DisplaySetSizePacket DisplayString DisplayTemporary DisplayWith DisplayWithRef DisplayWithVariable DistanceFunction DistanceTransform Distribute Distributed DistributedContexts DistributeDefinitions DistributionChart DistributionDomain DistributionFitTest DistributionParameterAssumptions DistributionParameterQ Dithering Div Divergence Divide DivideBy Dividers Divisible Divisors DivisorSigma DivisorSum DMSList DMSString Do DockedCells DocumentNotebook DominantColors DOSTextFormat Dot DotDashed DotEqual Dotted DoubleBracketingBar DoubleContourIntegral DoubleDownArrow DoubleLeftArrow DoubleLeftRightArrow DoubleLeftTee DoubleLongLeftArrow DoubleLongLeftRightArrow DoubleLongRightArrow DoubleRightArrow DoubleRightTee DoubleUpArrow DoubleUpDownArrow DoubleVerticalBar DoublyInfinite Down DownArrow DownArrowBar DownArrowUpArrow DownLeftRightVector DownLeftTeeVector DownLeftVector DownLeftVectorBar DownRightTeeVector DownRightVector DownRightVectorBar Downsample DownTee DownTeeArrow DownValues DragAndDrop DrawEdges DrawFrontFaces DrawHighlighted Drop DSolve Dt DualLinearProgramming DualSystemsModel DumpGet DumpSave DuplicateFreeQ Dynamic DynamicBox DynamicBoxOptions DynamicEvaluationTimeout DynamicLocation DynamicModule DynamicModuleBox DynamicModuleBoxOptions DynamicModuleParent DynamicModuleValues DynamicName DynamicNamespace DynamicReference DynamicSetting DynamicUpdating DynamicWrapper DynamicWrapperBox DynamicWrapperBoxOptions E EccentricityCentrality EdgeAdd EdgeBetweennessCentrality EdgeCapacity EdgeCapForm EdgeColor EdgeConnectivity EdgeCost EdgeCount EdgeCoverQ EdgeDashing EdgeDelete EdgeDetect EdgeForm EdgeIndex EdgeJoinForm EdgeLabeling EdgeLabels EdgeLabelStyle EdgeList EdgeOpacity EdgeQ EdgeRenderingFunction EdgeRules EdgeShapeFunction EdgeStyle EdgeThickness EdgeWeight Editable EditButtonSettings EditCellTagsSettings EditDistance EffectiveInterest Eigensystem Eigenvalues EigenvectorCentrality Eigenvectors Element ElementData Eliminate EliminationOrder EllipticE EllipticExp EllipticExpPrime EllipticF EllipticFilterModel EllipticK EllipticLog EllipticNomeQ EllipticPi EllipticReducedHalfPeriods EllipticTheta EllipticThetaPrime EmitSound EmphasizeSyntaxErrors EmpiricalDistribution Empty EmptyGraphQ EnableConsolePrintPacket Enabled Encode End EndAdd EndDialogPacket EndFrontEndInteractionPacket EndOfFile EndOfLine EndOfString EndPackage EngineeringForm Enter EnterExpressionPacket EnterTextPacket Entropy EntropyFilter Environment Epilog Equal EqualColumns EqualRows EqualTilde EquatedTo Equilibrium EquirippleFilterKernel Equivalent Erf Erfc Erfi ErlangB ErlangC ErlangDistribution Erosion ErrorBox ErrorBoxOptions ErrorNorm ErrorPacket ErrorsDialogSettings EstimatedDistribution EstimatedProcess EstimatorGains EstimatorRegulator EuclideanDistance EulerE EulerGamma EulerianGraphQ EulerPhi Evaluatable Evaluate Evaluated EvaluatePacket EvaluationCell EvaluationCompletionAction EvaluationElements EvaluationMode EvaluationMonitor EvaluationNotebook EvaluationObject EvaluationOrder Evaluator EvaluatorNames EvenQ EventData EventEvaluator EventHandler EventHandlerTag EventLabels ExactBlackmanWindow ExactNumberQ ExactRootIsolation ExampleData Except ExcludedForms ExcludePods Exclusions ExclusionsStyle Exists Exit ExitDialog Exp Expand ExpandAll ExpandDenominator ExpandFileName ExpandNumerator Expectation ExpectationE ExpectedValue ExpGammaDistribution ExpIntegralE ExpIntegralEi Exponent ExponentFunction ExponentialDistribution ExponentialFamily ExponentialGeneratingFunction ExponentialMovingAverage ExponentialPowerDistribution ExponentPosition ExponentStep Export ExportAutoReplacements ExportPacket ExportString Expression ExpressionCell ExpressionPacket ExpToTrig ExtendedGCD Extension ExtentElementFunction ExtentMarkers ExtentSize ExternalCall ExternalDataCharacterEncoding Extract ExtractArchive ExtremeValueDistribution FaceForm FaceGrids FaceGridsStyle Factor FactorComplete Factorial Factorial2 FactorialMoment FactorialMomentGeneratingFunction FactorialPower FactorInteger FactorList FactorSquareFree FactorSquareFreeList FactorTerms FactorTermsList Fail FailureDistribution False FARIMAProcess FEDisableConsolePrintPacket FeedbackSector FeedbackSectorStyle FeedbackType FEEnableConsolePrintPacket Fibonacci FieldHint FieldHintStyle FieldMasked FieldSize File FileBaseName FileByteCount FileDate FileExistsQ FileExtension FileFormat FileHash FileInformation FileName FileNameDepth FileNameDialogSettings FileNameDrop FileNameJoin FileNames FileNameSetter FileNameSplit FileNameTake FilePrint FileType FilledCurve FilledCurveBox Filling FillingStyle FillingTransform FilterRules FinancialBond FinancialData FinancialDerivative FinancialIndicator Find FindArgMax FindArgMin FindClique FindClusters FindCurvePath FindDistributionParameters FindDivisions FindEdgeCover FindEdgeCut FindEulerianCycle FindFaces FindFile FindFit FindGeneratingFunction FindGeoLocation FindGeometricTransform FindGraphCommunities FindGraphIsomorphism FindGraphPartition FindHamiltonianCycle FindIndependentEdgeSet FindIndependentVertexSet FindInstance FindIntegerNullVector FindKClan FindKClique FindKClub FindKPlex FindLibrary FindLinearRecurrence FindList FindMaximum FindMaximumFlow FindMaxValue FindMinimum FindMinimumCostFlow FindMinimumCut FindMinValue FindPermutation FindPostmanTour FindProcessParameters FindRoot FindSequenceFunction FindSettings FindShortestPath FindShortestTour FindThreshold FindVertexCover FindVertexCut Fine FinishDynamic FiniteAbelianGroupCount FiniteGroupCount FiniteGroupData First FirstPassageTimeDistribution FischerGroupFi22 FischerGroupFi23 FischerGroupFi24Prime FisherHypergeometricDistribution FisherRatioTest FisherZDistribution Fit FitAll FittedModel FixedPoint FixedPointList FlashSelection Flat Flatten FlattenAt FlatTopWindow FlipView Floor FlushPrintOutputPacket Fold FoldList Font FontColor FontFamily FontForm FontName FontOpacity FontPostScriptName FontProperties FontReencoding FontSize FontSlant FontSubstitutions FontTracking FontVariations FontWeight For ForAll Format FormatRules FormatType FormatTypeAutoConvert FormatValues FormBox FormBoxOptions FortranForm Forward ForwardBackward Fourier FourierCoefficient FourierCosCoefficient FourierCosSeries FourierCosTransform FourierDCT FourierDCTFilter FourierDCTMatrix FourierDST FourierDSTMatrix FourierMatrix FourierParameters FourierSequenceTransform FourierSeries FourierSinCoefficient FourierSinSeries FourierSinTransform FourierTransform FourierTrigSeries FractionalBrownianMotionProcess FractionalPart FractionBox FractionBoxOptions FractionLine Frame FrameBox FrameBoxOptions Framed FrameInset FrameLabel Frameless FrameMargins FrameStyle FrameTicks FrameTicksStyle FRatioDistribution FrechetDistribution FreeQ FrequencySamplingFilterKernel FresnelC FresnelS Friday FrobeniusNumber FrobeniusSolve FromCharacterCode FromCoefficientRules FromContinuedFraction FromDate FromDigits FromDMS Front FrontEndDynamicExpression FrontEndEventActions FrontEndExecute FrontEndObject FrontEndResource FrontEndResourceString FrontEndStackSize FrontEndToken FrontEndTokenExecute FrontEndValueCache FrontEndVersion FrontFaceColor FrontFaceOpacity Full FullAxes FullDefinition FullForm FullGraphics FullOptions FullSimplify Function FunctionExpand FunctionInterpolation FunctionSpace FussellVeselyImportance GaborFilter GaborMatrix GaborWavelet GainMargins GainPhaseMargins Gamma GammaDistribution GammaRegularized GapPenalty Gather GatherBy GaugeFaceElementFunction GaugeFaceStyle GaugeFrameElementFunction GaugeFrameSize GaugeFrameStyle GaugeLabels GaugeMarkers GaugeStyle GaussianFilter GaussianIntegers GaussianMatrix GaussianWindow GCD GegenbauerC General GeneralizedLinearModelFit GenerateConditions GeneratedCell GeneratedParameters GeneratingFunction Generic GenericCylindricalDecomposition GenomeData GenomeLookup GeodesicClosing GeodesicDilation GeodesicErosion GeodesicOpening GeoDestination GeodesyData GeoDirection GeoDistance GeoGridPosition GeometricBrownianMotionProcess GeometricDistribution GeometricMean GeometricMeanFilter GeometricTransformation GeometricTransformation3DBox GeometricTransformation3DBoxOptions GeometricTransformationBox GeometricTransformationBoxOptions GeoPosition GeoPositionENU GeoPositionXYZ GeoProjectionData GestureHandler GestureHandlerTag Get GetBoundingBoxSizePacket GetContext GetEnvironment GetFileName GetFrontEndOptionsDataPacket GetLinebreakInformationPacket GetMenusPacket GetPageBreakInformationPacket Glaisher GlobalClusteringCoefficient GlobalPreferences GlobalSession Glow GoldenRatio GompertzMakehamDistribution GoodmanKruskalGamma GoodmanKruskalGammaTest Goto Grad Gradient GradientFilter GradientOrientationFilter Graph GraphAssortativity GraphCenter GraphComplement GraphData GraphDensity GraphDiameter GraphDifference GraphDisjointUnion GraphDistance GraphDistanceMatrix GraphElementData GraphEmbedding GraphHighlight GraphHighlightStyle GraphHub Graphics Graphics3D Graphics3DBox Graphics3DBoxOptions GraphicsArray GraphicsBaseline GraphicsBox GraphicsBoxOptions GraphicsColor GraphicsColumn GraphicsComplex GraphicsComplex3DBox GraphicsComplex3DBoxOptions GraphicsComplexBox GraphicsComplexBoxOptions GraphicsContents GraphicsData GraphicsGrid GraphicsGridBox GraphicsGroup GraphicsGroup3DBox GraphicsGroup3DBoxOptions GraphicsGroupBox GraphicsGroupBoxOptions GraphicsGrouping GraphicsHighlightColor GraphicsRow GraphicsSpacing GraphicsStyle GraphIntersection GraphLayout GraphLinkEfficiency GraphPeriphery GraphPlot GraphPlot3D GraphPower GraphPropertyDistribution GraphQ GraphRadius GraphReciprocity GraphRoot GraphStyle GraphUnion Gray GrayLevel GreatCircleDistance Greater GreaterEqual GreaterEqualLess GreaterFullEqual GreaterGreater GreaterLess GreaterSlantEqual GreaterTilde Green Grid GridBaseline GridBox GridBoxAlignment GridBoxBackground GridBoxDividers GridBoxFrame GridBoxItemSize GridBoxItemStyle GridBoxOptions GridBoxSpacings GridCreationSettings GridDefaultElement GridElementStyleOptions GridFrame GridFrameMargins GridGraph GridLines GridLinesStyle GroebnerBasis GroupActionBase GroupCentralizer GroupElementFromWord GroupElementPosition GroupElementQ GroupElements GroupElementToWord GroupGenerators GroupMultiplicationTable GroupOrbits GroupOrder GroupPageBreakWithin GroupSetwiseStabilizer GroupStabilizer GroupStabilizerChain Gudermannian GumbelDistribution HaarWavelet HadamardMatrix HalfNormalDistribution HamiltonianGraphQ HammingDistance HammingWindow HankelH1 HankelH2 HankelMatrix HannPoissonWindow HannWindow HaradaNortonGroupHN HararyGraph HarmonicMean HarmonicMeanFilter HarmonicNumber Hash HashTable Haversine HazardFunction Head HeadCompose Heads HeavisideLambda HeavisidePi HeavisideTheta HeldGroupHe HeldPart HelpBrowserLookup HelpBrowserNotebook HelpBrowserSettings HermiteDecomposition HermiteH HermitianMatrixQ HessenbergDecomposition Hessian HexadecimalCharacter Hexahedron HexahedronBox HexahedronBoxOptions HiddenSurface HighlightGraph HighlightImage HighpassFilter HigmanSimsGroupHS HilbertFilter HilbertMatrix Histogram Histogram3D HistogramDistribution HistogramList HistogramTransform HistogramTransformInterpolation HitMissTransform HITSCentrality HodgeDual HoeffdingD HoeffdingDTest Hold HoldAll HoldAllComplete HoldComplete HoldFirst HoldForm HoldPattern HoldRest HolidayCalendar HomeDirectory HomePage Horizontal HorizontalForm HorizontalGauge HorizontalScrollPosition HornerForm HotellingTSquareDistribution HoytDistribution HTMLSave Hue HumpDownHump HumpEqual HurwitzLerchPhi HurwitzZeta HyperbolicDistribution HypercubeGraph HyperexponentialDistribution Hyperfactorial Hypergeometric0F1 Hypergeometric0F1Regularized Hypergeometric1F1 Hypergeometric1F1Regularized Hypergeometric2F1 Hypergeometric2F1Regularized HypergeometricDistribution HypergeometricPFQ HypergeometricPFQRegularized HypergeometricU Hyperlink HyperlinkCreationSettings Hyphenation HyphenationOptions HypoexponentialDistribution HypothesisTestData I Identity IdentityMatrix If IgnoreCase Im Image Image3D Image3DSlices ImageAccumulate ImageAdd ImageAdjust ImageAlign ImageApply ImageAspectRatio ImageAssemble ImageCache ImageCacheValid ImageCapture ImageChannels ImageClip ImageColorSpace ImageCompose ImageConvolve ImageCooccurrence ImageCorners ImageCorrelate ImageCorrespondingPoints ImageCrop ImageData ImageDataPacket ImageDeconvolve ImageDemosaic ImageDifference ImageDimensions ImageDistance ImageEffect ImageFeatureTrack ImageFileApply ImageFileFilter ImageFileScan ImageFilter ImageForestingComponents ImageForwardTransformation ImageHistogram ImageKeypoints ImageLevels ImageLines ImageMargins ImageMarkers ImageMeasurements ImageMultiply ImageOffset ImagePad ImagePadding ImagePartition ImagePeriodogram ImagePerspectiveTransformation ImageQ ImageRangeCache ImageReflect ImageRegion ImageResize ImageResolution ImageRotate ImageRotated ImageScaled ImageScan ImageSize ImageSizeAction ImageSizeCache ImageSizeMultipliers ImageSizeRaw ImageSubtract ImageTake ImageTransformation ImageTrim ImageType ImageValue ImageValuePositions Implies Import ImportAutoReplacements ImportString ImprovementImportance In IncidenceGraph IncidenceList IncidenceMatrix IncludeConstantBasis IncludeFileExtension IncludePods IncludeSingularTerm Increment Indent IndentingNewlineSpacings IndentMaxFraction IndependenceTest IndependentEdgeSetQ IndependentUnit IndependentVertexSetQ Indeterminate IndexCreationOptions Indexed IndexGraph IndexTag Inequality InexactNumberQ InexactNumbers Infinity Infix Information Inherited InheritScope Initialization InitializationCell InitializationCellEvaluation InitializationCellWarning InlineCounterAssignments InlineCounterIncrements InlineRules Inner Inpaint Input InputAliases InputAssumptions InputAutoReplacements InputField InputFieldBox InputFieldBoxOptions InputForm InputGrouping InputNamePacket InputNotebook InputPacket InputSettings InputStream InputString InputStringPacket InputToBoxFormPacket Insert InsertionPointObject InsertResults Inset Inset3DBox Inset3DBoxOptions InsetBox InsetBoxOptions Install InstallService InString Integer IntegerDigits IntegerExponent IntegerLength IntegerPart IntegerPartitions IntegerQ Integers IntegerString Integral Integrate Interactive InteractiveTradingChart Interlaced Interleaving InternallyBalancedDecomposition InterpolatingFunction InterpolatingPolynomial Interpolation InterpolationOrder InterpolationPoints InterpolationPrecision Interpretation InterpretationBox InterpretationBoxOptions InterpretationFunction InterpretTemplate InterquartileRange Interrupt InterruptSettings Intersection Interval IntervalIntersection IntervalMemberQ IntervalUnion Inverse InverseBetaRegularized InverseCDF InverseChiSquareDistribution InverseContinuousWaveletTransform InverseDistanceTransform InverseEllipticNomeQ InverseErf InverseErfc InverseFourier InverseFourierCosTransform InverseFourierSequenceTransform InverseFourierSinTransform InverseFourierTransform InverseFunction InverseFunctions InverseGammaDistribution InverseGammaRegularized InverseGaussianDistribution InverseGudermannian InverseHaversine InverseJacobiCD InverseJacobiCN InverseJacobiCS InverseJacobiDC InverseJacobiDN InverseJacobiDS InverseJacobiNC InverseJacobiND InverseJacobiNS InverseJacobiSC InverseJacobiSD InverseJacobiSN InverseLaplaceTransform InversePermutation InverseRadon InverseSeries InverseSurvivalFunction InverseWaveletTransform InverseWeierstrassP InverseZTransform Invisible InvisibleApplication InvisibleTimes IrreduciblePolynomialQ IsolatingInterval IsomorphicGraphQ IsotopeData Italic Item ItemBox ItemBoxOptions ItemSize ItemStyle ItoProcess JaccardDissimilarity JacobiAmplitude Jacobian JacobiCD JacobiCN JacobiCS JacobiDC JacobiDN JacobiDS JacobiNC JacobiND JacobiNS JacobiP JacobiSC JacobiSD JacobiSN JacobiSymbol JacobiZeta JankoGroupJ1 JankoGroupJ2 JankoGroupJ3 JankoGroupJ4 JarqueBeraALMTest JohnsonDistribution Join Joined JoinedCurve JoinedCurveBox JoinForm JordanDecomposition JordanModelDecomposition K KagiChart KaiserBesselWindow KaiserWindow KalmanEstimator KalmanFilter KarhunenLoeveDecomposition KaryTree KatzCentrality KCoreComponents KDistribution KelvinBei KelvinBer KelvinKei KelvinKer KendallTau KendallTauTest KernelExecute KernelMixtureDistribution KernelObject Kernels Ket Khinchin KirchhoffGraph KirchhoffMatrix KleinInvariantJ KnightTourGraph KnotData KnownUnitQ KolmogorovSmirnovTest KroneckerDelta KroneckerModelDecomposition KroneckerProduct KroneckerSymbol KuiperTest KumaraswamyDistribution Kurtosis KuwaharaFilter Label Labeled LabeledSlider LabelingFunction LabelStyle LaguerreL LambdaComponents LambertW LanczosWindow LandauDistribution Language LanguageCategory LaplaceDistribution LaplaceTransform Laplacian LaplacianFilter LaplacianGaussianFilter Large Larger Last Latitude LatitudeLongitude LatticeData LatticeReduce Launch LaunchKernels LayeredGraphPlot LayerSizeFunction LayoutInformation LCM LeafCount LeapYearQ LeastSquares LeastSquaresFilterKernel Left LeftArrow LeftArrowBar LeftArrowRightArrow LeftDownTeeVector LeftDownVector LeftDownVectorBar LeftRightArrow LeftRightVector LeftTee LeftTeeArrow LeftTeeVector LeftTriangle LeftTriangleBar LeftTriangleEqual LeftUpDownVector LeftUpTeeVector LeftUpVector LeftUpVectorBar LeftVector LeftVectorBar LegendAppearance Legended LegendFunction LegendLabel LegendLayout LegendMargins LegendMarkers LegendMarkerSize LegendreP LegendreQ LegendreType Length LengthWhile LerchPhi Less LessEqual LessEqualGreater LessFullEqual LessGreater LessLess LessSlantEqual LessTilde LetterCharacter LetterQ Level LeveneTest LeviCivitaTensor LevyDistribution Lexicographic LibraryFunction LibraryFunctionError LibraryFunctionInformation LibraryFunctionLoad LibraryFunctionUnload LibraryLoad LibraryUnload LicenseID LiftingFilterData LiftingWaveletTransform LightBlue LightBrown LightCyan Lighter LightGray LightGreen Lighting LightingAngle LightMagenta LightOrange LightPink LightPurple LightRed LightSources LightYellow Likelihood Limit LimitsPositioning LimitsPositioningTokens LindleyDistribution Line Line3DBox LinearFilter LinearFractionalTransform LinearModelFit LinearOffsetFunction LinearProgramming LinearRecurrence LinearSolve LinearSolveFunction LineBox LineBreak LinebreakAdjustments LineBreakChart LineBreakWithin LineColor LineForm LineGraph LineIndent LineIndentMaxFraction LineIntegralConvolutionPlot LineIntegralConvolutionScale LineLegend LineOpacity LineSpacing LineWrapParts LinkActivate LinkClose LinkConnect LinkConnectedQ LinkCreate LinkError LinkFlush LinkFunction LinkHost LinkInterrupt LinkLaunch LinkMode LinkObject LinkOpen LinkOptions LinkPatterns LinkProtocol LinkRead LinkReadHeld LinkReadyQ Links LinkWrite LinkWriteHeld LiouvilleLambda List Listable ListAnimate ListContourPlot ListContourPlot3D ListConvolve ListCorrelate ListCurvePathPlot ListDeconvolve ListDensityPlot Listen ListFourierSequenceTransform ListInterpolation ListLineIntegralConvolutionPlot ListLinePlot ListLogLinearPlot ListLogLogPlot ListLogPlot ListPicker ListPickerBox ListPickerBoxBackground ListPickerBoxOptions ListPlay ListPlot ListPlot3D ListPointPlot3D ListPolarPlot ListQ ListStreamDensityPlot ListStreamPlot ListSurfacePlot3D ListVectorDensityPlot ListVectorPlot ListVectorPlot3D ListZTransform Literal LiteralSearch LocalClusteringCoefficient LocalizeVariables LocationEquivalenceTest LocationTest Locator LocatorAutoCreate LocatorBox LocatorBoxOptions LocatorCentering LocatorPane LocatorPaneBox LocatorPaneBoxOptions LocatorRegion Locked Log Log10 Log2 LogBarnesG LogGamma LogGammaDistribution LogicalExpand LogIntegral LogisticDistribution LogitModelFit LogLikelihood LogLinearPlot LogLogisticDistribution LogLogPlot LogMultinormalDistribution LogNormalDistribution LogPlot LogRankTest LogSeriesDistribution LongEqual Longest LongestAscendingSequence LongestCommonSequence LongestCommonSequencePositions LongestCommonSubsequence LongestCommonSubsequencePositions LongestMatch LongForm Longitude LongLeftArrow LongLeftRightArrow LongRightArrow Loopback LoopFreeGraphQ LowerCaseQ LowerLeftArrow LowerRightArrow LowerTriangularize LowpassFilter LQEstimatorGains LQGRegulator LQOutputRegulatorGains LQRegulatorGains LUBackSubstitution LucasL LuccioSamiComponents LUDecomposition LyapunovSolve LyonsGroupLy MachineID MachineName MachineNumberQ MachinePrecision MacintoshSystemPageSetup Magenta Magnification Magnify MainSolve MaintainDynamicCaches Majority MakeBoxes MakeExpression MakeRules MangoldtLambda ManhattanDistance Manipulate Manipulator MannWhitneyTest MantissaExponent Manual Map MapAll MapAt MapIndexed MAProcess MapThread MarcumQ MardiaCombinedTest MardiaKurtosisTest MardiaSkewnessTest MarginalDistribution MarkovProcessProperties Masking MatchingDissimilarity MatchLocalNameQ MatchLocalNames MatchQ Material MathematicaNotation MathieuC MathieuCharacteristicA MathieuCharacteristicB MathieuCharacteristicExponent MathieuCPrime MathieuGroupM11 MathieuGroupM12 MathieuGroupM22 MathieuGroupM23 MathieuGroupM24 MathieuS MathieuSPrime MathMLForm MathMLText Matrices MatrixExp MatrixForm MatrixFunction MatrixLog MatrixPlot MatrixPower MatrixQ MatrixRank Max MaxBend MaxDetect MaxExtraBandwidths MaxExtraConditions MaxFeatures MaxFilter Maximize MaxIterations MaxMemoryUsed MaxMixtureKernels MaxPlotPoints MaxPoints MaxRecursion MaxStableDistribution MaxStepFraction MaxSteps MaxStepSize MaxValue MaxwellDistribution McLaughlinGroupMcL Mean MeanClusteringCoefficient MeanDegreeConnectivity MeanDeviation MeanFilter MeanGraphDistance MeanNeighborDegree MeanShift MeanShiftFilter Median MedianDeviation MedianFilter Medium MeijerG MeixnerDistribution MemberQ MemoryConstrained MemoryInUse Menu MenuAppearance MenuCommandKey MenuEvaluator MenuItem MenuPacket MenuSortingValue MenuStyle MenuView MergeDifferences Mesh MeshFunctions MeshRange MeshShading MeshStyle Message MessageDialog MessageList MessageName MessageOptions MessagePacket Messages MessagesNotebook MetaCharacters MetaInformation Method MethodOptions MexicanHatWavelet MeyerWavelet Min MinDetect MinFilter MinimalPolynomial MinimalStateSpaceModel Minimize Minors MinRecursion MinSize MinStableDistribution Minus MinusPlus MinValue Missing MissingDataMethod MittagLefflerE MixedRadix MixedRadixQuantity MixtureDistribution Mod Modal Mode Modular ModularLambda Module Modulus MoebiusMu Moment Momentary MomentConvert MomentEvaluate MomentGeneratingFunction Monday Monitor MonomialList MonomialOrder MonsterGroupM MorletWavelet MorphologicalBinarize MorphologicalBranchPoints MorphologicalComponents MorphologicalEulerNumber MorphologicalGraph MorphologicalPerimeter MorphologicalTransform Most MouseAnnotation MouseAppearance MouseAppearanceTag MouseButtons Mouseover MousePointerNote MousePosition MovingAverage MovingMedian MoyalDistribution MultiedgeStyle MultilaunchWarning MultiLetterItalics MultiLetterStyle MultilineFunction Multinomial MultinomialDistribution MultinormalDistribution MultiplicativeOrder Multiplicity Multiselection MultivariateHypergeometricDistribution MultivariatePoissonDistribution MultivariateTDistribution N NakagamiDistribution NameQ Names NamespaceBox Nand NArgMax NArgMin NBernoulliB NCache NDSolve NDSolveValue Nearest NearestFunction NeedCurrentFrontEndPackagePacket NeedCurrentFrontEndSymbolsPacket NeedlemanWunschSimilarity Needs Negative NegativeBinomialDistribution NegativeMultinomialDistribution NeighborhoodGraph Nest NestedGreaterGreater NestedLessLess NestedScriptRules NestList NestWhile NestWhileList NevilleThetaC NevilleThetaD NevilleThetaN NevilleThetaS NewPrimitiveStyle NExpectation Next NextPrime NHoldAll NHoldFirst NHoldRest NicholsGridLines NicholsPlot NIntegrate NMaximize NMaxValue NMinimize NMinValue NominalVariables NonAssociative NoncentralBetaDistribution NoncentralChiSquareDistribution NoncentralFRatioDistribution NoncentralStudentTDistribution NonCommutativeMultiply NonConstants None NonlinearModelFit NonlocalMeansFilter NonNegative NonPositive Nor NorlundB Norm Normal NormalDistribution NormalGrouping Normalize NormalizedSquaredEuclideanDistance NormalsFunction NormFunction Not NotCongruent NotCupCap NotDoubleVerticalBar Notebook NotebookApply NotebookAutoSave NotebookClose NotebookConvertSettings NotebookCreate NotebookCreateReturnObject NotebookDefault NotebookDelete NotebookDirectory NotebookDynamicExpression NotebookEvaluate NotebookEventActions NotebookFileName NotebookFind NotebookFindReturnObject NotebookGet NotebookGetLayoutInformationPacket NotebookGetMisspellingsPacket NotebookInformation NotebookInterfaceObject NotebookLocate NotebookObject NotebookOpen NotebookOpenReturnObject NotebookPath NotebookPrint NotebookPut NotebookPutReturnObject NotebookRead NotebookResetGeneratedCells Notebooks NotebookSave NotebookSaveAs NotebookSelection NotebookSetupLayoutInformationPacket NotebooksMenu NotebookWrite NotElement NotEqualTilde NotExists NotGreater NotGreaterEqual NotGreaterFullEqual NotGreaterGreater NotGreaterLess NotGreaterSlantEqual NotGreaterTilde NotHumpDownHump NotHumpEqual NotLeftTriangle NotLeftTriangleBar NotLeftTriangleEqual NotLess NotLessEqual NotLessFullEqual NotLessGreater NotLessLess NotLessSlantEqual NotLessTilde NotNestedGreaterGreater NotNestedLessLess NotPrecedes NotPrecedesEqual NotPrecedesSlantEqual NotPrecedesTilde NotReverseElement NotRightTriangle NotRightTriangleBar NotRightTriangleEqual NotSquareSubset NotSquareSubsetEqual NotSquareSuperset NotSquareSupersetEqual NotSubset NotSubsetEqual NotSucceeds NotSucceedsEqual NotSucceedsSlantEqual NotSucceedsTilde NotSuperset NotSupersetEqual NotTilde NotTildeEqual NotTildeFullEqual NotTildeTilde NotVerticalBar NProbability NProduct NProductFactors NRoots NSolve NSum NSumTerms Null NullRecords NullSpace NullWords Number NumberFieldClassNumber NumberFieldDiscriminant NumberFieldFundamentalUnits NumberFieldIntegralBasis NumberFieldNormRepresentatives NumberFieldRegulator NumberFieldRootsOfUnity NumberFieldSignature NumberForm NumberFormat NumberMarks NumberMultiplier NumberPadding NumberPoint NumberQ NumberSeparator NumberSigns NumberString Numerator NumericFunction NumericQ NuttallWindow NValues NyquistGridLines NyquistPlot O ObservabilityGramian ObservabilityMatrix ObservableDecomposition ObservableModelQ OddQ Off Offset OLEData On ONanGroupON OneIdentity Opacity Open OpenAppend Opener OpenerBox OpenerBoxOptions OpenerView OpenFunctionInspectorPacket Opening OpenRead OpenSpecialOptions OpenTemporary OpenWrite Operate OperatingSystem OptimumFlowData Optional OptionInspectorSettings OptionQ Options OptionsPacket OptionsPattern OptionValue OptionValueBox OptionValueBoxOptions Or Orange Order OrderDistribution OrderedQ Ordering Orderless OrnsteinUhlenbeckProcess Orthogonalize Out Outer OutputAutoOverwrite OutputControllabilityMatrix OutputControllableModelQ OutputForm OutputFormData OutputGrouping OutputMathEditExpression OutputNamePacket OutputResponse OutputSizeLimit OutputStream Over OverBar OverDot Overflow OverHat Overlaps Overlay OverlayBox OverlayBoxOptions Overscript OverscriptBox OverscriptBoxOptions OverTilde OverVector OwenT OwnValues PackingMethod PaddedForm Padding PadeApproximant PadLeft PadRight PageBreakAbove PageBreakBelow PageBreakWithin PageFooterLines PageFooters PageHeaderLines PageHeaders PageHeight PageRankCentrality PageWidth PairedBarChart PairedHistogram PairedSmoothHistogram PairedTTest PairedZTest PaletteNotebook PalettePath Pane PaneBox PaneBoxOptions Panel PanelBox PanelBoxOptions Paneled PaneSelector PaneSelectorBox PaneSelectorBoxOptions PaperWidth ParabolicCylinderD ParagraphIndent ParagraphSpacing ParallelArray ParallelCombine ParallelDo ParallelEvaluate Parallelization Parallelize ParallelMap ParallelNeeds ParallelProduct ParallelSubmit ParallelSum ParallelTable ParallelTry Parameter ParameterEstimator ParameterMixtureDistribution ParameterVariables ParametricFunction ParametricNDSolve ParametricNDSolveValue ParametricPlot ParametricPlot3D ParentConnect ParentDirectory ParentForm Parenthesize ParentList ParetoDistribution Part PartialCorrelationFunction PartialD ParticleData Partition PartitionsP PartitionsQ ParzenWindow PascalDistribution PassEventsDown PassEventsUp Paste PasteBoxFormInlineCells PasteButton Path PathGraph PathGraphQ Pattern PatternSequence PatternTest PauliMatrix PaulWavelet Pause PausedTime PDF PearsonChiSquareTest PearsonCorrelationTest PearsonDistribution PerformanceGoal PeriodicInterpolation Periodogram PeriodogramArray PermutationCycles PermutationCyclesQ PermutationGroup PermutationLength PermutationList PermutationListQ PermutationMax PermutationMin PermutationOrder PermutationPower PermutationProduct PermutationReplace Permutations PermutationSupport Permute PeronaMalikFilter Perpendicular PERTDistribution PetersenGraph PhaseMargins Pi Pick PIDData PIDDerivativeFilter PIDFeedforward PIDTune Piecewise PiecewiseExpand PieChart PieChart3D PillaiTrace PillaiTraceTest Pink Pivoting PixelConstrained PixelValue PixelValuePositions Placed Placeholder PlaceholderReplace Plain PlanarGraphQ Play PlayRange Plot Plot3D Plot3Matrix PlotDivision PlotJoined PlotLabel PlotLayout PlotLegends PlotMarkers PlotPoints PlotRange PlotRangeClipping PlotRangePadding PlotRegion PlotStyle Plus PlusMinus Pochhammer PodStates PodWidth Point Point3DBox PointBox PointFigureChart PointForm PointLegend PointSize PoissonConsulDistribution PoissonDistribution PoissonProcess PoissonWindow PolarAxes PolarAxesOrigin PolarGridLines PolarPlot PolarTicks PoleZeroMarkers PolyaAeppliDistribution PolyGamma Polygon Polygon3DBox Polygon3DBoxOptions PolygonBox PolygonBoxOptions PolygonHoleScale PolygonIntersections PolygonScale PolyhedronData PolyLog PolynomialExtendedGCD PolynomialForm PolynomialGCD PolynomialLCM PolynomialMod PolynomialQ PolynomialQuotient PolynomialQuotientRemainder PolynomialReduce PolynomialRemainder Polynomials PopupMenu PopupMenuBox PopupMenuBoxOptions PopupView PopupWindow Position Positive PositiveDefiniteMatrixQ PossibleZeroQ Postfix PostScript Power PowerDistribution PowerExpand PowerMod PowerModList PowerSpectralDensity PowersRepresentations PowerSymmetricPolynomial Precedence PrecedenceForm Precedes PrecedesEqual PrecedesSlantEqual PrecedesTilde Precision PrecisionGoal PreDecrement PredictionRoot PreemptProtect PreferencesPath Prefix PreIncrement Prepend PrependTo PreserveImageOptions Previous PriceGraphDistribution PrimaryPlaceholder Prime PrimeNu PrimeOmega PrimePi PrimePowerQ PrimeQ Primes PrimeZetaP PrimitiveRoot PrincipalComponents PrincipalValue Print PrintAction PrintForm PrintingCopies PrintingOptions PrintingPageRange PrintingStartingPageNumber PrintingStyleEnvironment PrintPrecision PrintTemporary Prism PrismBox PrismBoxOptions PrivateCellOptions PrivateEvaluationOptions PrivateFontOptions PrivateFrontEndOptions PrivateNotebookOptions PrivatePaths Probability ProbabilityDistribution ProbabilityPlot ProbabilityPr ProbabilityScalePlot ProbitModelFit ProcessEstimator ProcessParameterAssumptions ProcessParameterQ ProcessStateDomain ProcessTimeDomain Product ProductDistribution ProductLog ProgressIndicator ProgressIndicatorBox ProgressIndicatorBoxOptions Projection Prolog PromptForm Properties Property PropertyList PropertyValue Proportion Proportional Protect Protected ProteinData Pruning PseudoInverse Purple Put PutAppend Pyramid PyramidBox PyramidBoxOptions QBinomial QFactorial QGamma QHypergeometricPFQ QPochhammer QPolyGamma QRDecomposition QuadraticIrrationalQ Quantile QuantilePlot Quantity QuantityForm QuantityMagnitude QuantityQ QuantityUnit Quartics QuartileDeviation Quartiles QuartileSkewness QueueingNetworkProcess QueueingProcess QueueProperties Quiet Quit Quotient QuotientRemainder RadialityCentrality RadicalBox RadicalBoxOptions RadioButton RadioButtonBar RadioButtonBox RadioButtonBoxOptions Radon RamanujanTau RamanujanTauL RamanujanTauTheta RamanujanTauZ Random RandomChoice RandomComplex RandomFunction RandomGraph RandomImage RandomInteger RandomPermutation RandomPrime RandomReal RandomSample RandomSeed RandomVariate RandomWalkProcess Range RangeFilter RangeSpecification RankedMax RankedMin Raster Raster3D Raster3DBox Raster3DBoxOptions RasterArray RasterBox RasterBoxOptions Rasterize RasterSize Rational RationalFunctions Rationalize Rationals Ratios Raw RawArray RawBoxes RawData RawMedium RayleighDistribution Re Read ReadList ReadProtected Real RealBlockDiagonalForm RealDigits RealExponent Reals Reap Record RecordLists RecordSeparators Rectangle RectangleBox RectangleBoxOptions RectangleChart RectangleChart3D RecurrenceFilter RecurrenceTable RecurringDigitsForm Red Reduce RefBox ReferenceLineStyle ReferenceMarkers ReferenceMarkerStyle Refine ReflectionMatrix ReflectionTransform Refresh RefreshRate RegionBinarize RegionFunction RegionPlot RegionPlot3D RegularExpression Regularization Reinstall Release ReleaseHold ReliabilityDistribution ReliefImage ReliefPlot Remove RemoveAlphaChannel RemoveAsynchronousTask Removed RemoveInputStreamMethod RemoveOutputStreamMethod RemoveProperty RemoveScheduledTask RenameDirectory RenameFile RenderAll RenderingOptions RenewalProcess RenkoChart Repeated RepeatedNull RepeatedString Replace ReplaceAll ReplaceHeldPart ReplaceImageValue ReplaceList ReplacePart ReplacePixelValue ReplaceRepeated Resampling Rescale RescalingTransform ResetDirectory ResetMenusPacket ResetScheduledTask Residue Resolve Rest Resultant ResumePacket Return ReturnExpressionPacket ReturnInputFormPacket ReturnPacket ReturnTextPacket Reverse ReverseBiorthogonalSplineWavelet ReverseElement ReverseEquilibrium ReverseGraph ReverseUpEquilibrium RevolutionAxis RevolutionPlot3D RGBColor RiccatiSolve RiceDistribution RidgeFilter RiemannR RiemannSiegelTheta RiemannSiegelZ Riffle Right RightArrow RightArrowBar RightArrowLeftArrow RightCosetRepresentative RightDownTeeVector RightDownVector RightDownVectorBar RightTee RightTeeArrow RightTeeVector RightTriangle RightTriangleBar RightTriangleEqual RightUpDownVector RightUpTeeVector RightUpVector RightUpVectorBar RightVector RightVectorBar RiskAchievementImportance RiskReductionImportance RogersTanimotoDissimilarity Root RootApproximant RootIntervals RootLocusPlot RootMeanSquare RootOfUnityQ RootReduce Roots RootSum Rotate RotateLabel RotateLeft RotateRight RotationAction RotationBox RotationBoxOptions RotationMatrix RotationTransform Round RoundImplies RoundingRadius Row RowAlignments RowBackgrounds RowBox RowHeights RowLines RowMinHeight RowReduce RowsEqual RowSpacings RSolve RudvalisGroupRu Rule RuleCondition RuleDelayed RuleForm RulerUnits Run RunScheduledTask RunThrough RuntimeAttributes RuntimeOptions RussellRaoDissimilarity SameQ SameTest SampleDepth SampledSoundFunction SampledSoundList SampleRate SamplingPeriod SARIMAProcess SARMAProcess SatisfiabilityCount SatisfiabilityInstances SatisfiableQ Saturday Save Saveable SaveAutoDelete SaveDefinitions SawtoothWave Scale Scaled ScaleDivisions ScaledMousePosition ScaleOrigin ScalePadding ScaleRanges ScaleRangeStyle ScalingFunctions ScalingMatrix ScalingTransform Scan ScheduledTaskActiveQ ScheduledTaskData ScheduledTaskObject ScheduledTasks SchurDecomposition ScientificForm ScreenRectangle ScreenStyleEnvironment ScriptBaselineShifts ScriptLevel ScriptMinSize ScriptRules ScriptSizeMultipliers Scrollbars ScrollingOptions ScrollPosition Sec Sech SechDistribution SectionGrouping SectorChart SectorChart3D SectorOrigin SectorSpacing SeedRandom Select Selectable SelectComponents SelectedCells SelectedNotebook Selection SelectionAnimate SelectionCell SelectionCellCreateCell SelectionCellDefaultStyle SelectionCellParentStyle SelectionCreateCell SelectionDebuggerTag SelectionDuplicateCell SelectionEvaluate SelectionEvaluateCreateCell SelectionMove SelectionPlaceholder SelectionSetStyle SelectWithContents SelfLoops SelfLoopStyle SemialgebraicComponentInstances SendMail Sequence SequenceAlignment SequenceForm SequenceHold SequenceLimit Series SeriesCoefficient SeriesData SessionTime Set SetAccuracy SetAlphaChannel SetAttributes Setbacks SetBoxFormNamesPacket SetDelayed SetDirectory SetEnvironment SetEvaluationNotebook SetFileDate SetFileLoadingContext SetNotebookStatusLine SetOptions SetOptionsPacket SetPrecision SetProperty SetSelectedNotebook SetSharedFunction SetSharedVariable SetSpeechParametersPacket SetStreamPosition SetSystemOptions Setter SetterBar SetterBox SetterBoxOptions Setting SetValue Shading Shallow ShannonWavelet ShapiroWilkTest Share Sharpen ShearingMatrix ShearingTransform ShenCastanMatrix Short ShortDownArrow Shortest ShortestMatch ShortestPathFunction ShortLeftArrow ShortRightArrow ShortUpArrow Show ShowAutoStyles ShowCellBracket ShowCellLabel ShowCellTags ShowClosedCellArea ShowContents ShowControls ShowCursorTracker ShowGroupOpenCloseIcon ShowGroupOpener ShowInvisibleCharacters ShowPageBreaks ShowPredictiveInterface ShowSelection ShowShortBoxForm ShowSpecialCharacters ShowStringCharacters ShowSyntaxStyles ShrinkingDelay ShrinkWrapBoundingBox SiegelTheta SiegelTukeyTest Sign Signature SignedRankTest SignificanceLevel SignPadding SignTest SimilarityRules SimpleGraph SimpleGraphQ Simplify Sin Sinc SinghMaddalaDistribution SingleEvaluation SingleLetterItalics SingleLetterStyle SingularValueDecomposition SingularValueList SingularValuePlot SingularValues Sinh SinhIntegral SinIntegral SixJSymbol Skeleton SkeletonTransform SkellamDistribution Skewness SkewNormalDistribution Skip SliceDistribution Slider Slider2D Slider2DBox Slider2DBoxOptions SliderBox SliderBoxOptions SlideView Slot SlotSequence Small SmallCircle Smaller SmithDelayCompensator SmithWatermanSimilarity SmoothDensityHistogram SmoothHistogram SmoothHistogram3D SmoothKernelDistribution SocialMediaData Socket SokalSneathDissimilarity Solve SolveAlways SolveDelayed Sort SortBy Sound SoundAndGraphics SoundNote SoundVolume Sow Space SpaceForm Spacer Spacings Span SpanAdjustments SpanCharacterRounding SpanFromAbove SpanFromBoth SpanFromLeft SpanLineThickness SpanMaxSize SpanMinSize SpanningCharacters SpanSymmetric SparseArray SpatialGraphDistribution Speak SpeakTextPacket SpearmanRankTest SpearmanRho Spectrogram SpectrogramArray Specularity SpellingCorrection SpellingDictionaries SpellingDictionariesPath SpellingOptions SpellingSuggestionsPacket Sphere SphereBox SphericalBesselJ SphericalBesselY SphericalHankelH1 SphericalHankelH2 SphericalHarmonicY SphericalPlot3D SphericalRegion SpheroidalEigenvalue SpheroidalJoiningFactor SpheroidalPS SpheroidalPSPrime SpheroidalQS SpheroidalQSPrime SpheroidalRadialFactor SpheroidalS1 SpheroidalS1Prime SpheroidalS2 SpheroidalS2Prime Splice SplicedDistribution SplineClosed SplineDegree SplineKnots SplineWeights Split SplitBy SpokenString Sqrt SqrtBox SqrtBoxOptions Square SquaredEuclideanDistance SquareFreeQ SquareIntersection SquaresR SquareSubset SquareSubsetEqual SquareSuperset SquareSupersetEqual SquareUnion SquareWave StabilityMargins StabilityMarginsStyle StableDistribution Stack StackBegin StackComplete StackInhibit StandardDeviation StandardDeviationFilter StandardForm Standardize StandbyDistribution Star StarGraph StartAsynchronousTask StartingStepSize StartOfLine StartOfString StartScheduledTask StartupSound StateDimensions StateFeedbackGains StateOutputEstimator StateResponse StateSpaceModel StateSpaceRealization StateSpaceTransform StationaryDistribution StationaryWaveletPacketTransform StationaryWaveletTransform StatusArea StatusCentrality StepMonitor StieltjesGamma StirlingS1 StirlingS2 StopAsynchronousTask StopScheduledTask StrataVariables StratonovichProcess StreamColorFunction StreamColorFunctionScaling StreamDensityPlot StreamPlot StreamPoints StreamPosition Streams StreamScale StreamStyle String StringBreak StringByteCount StringCases StringCount StringDrop StringExpression StringForm StringFormat StringFreeQ StringInsert StringJoin StringLength StringMatchQ StringPosition StringQ StringReplace StringReplaceList StringReplacePart StringReverse StringRotateLeft StringRotateRight StringSkeleton StringSplit StringTake StringToStream StringTrim StripBoxes StripOnInput StripWrapperBoxes StrokeForm StructuralImportance StructuredArray StructuredSelection StruveH StruveL Stub StudentTDistribution Style StyleBox StyleBoxAutoDelete StyleBoxOptions StyleData StyleDefinitions StyleForm StyleKeyMapping StyleMenuListing StyleNameDialogSettings StyleNames StylePrint StyleSheetPath Subfactorial Subgraph SubMinus SubPlus SubresultantPolynomialRemainders SubresultantPolynomials Subresultants Subscript SubscriptBox SubscriptBoxOptions Subscripted Subset SubsetEqual Subsets SubStar Subsuperscript SubsuperscriptBox SubsuperscriptBoxOptions Subtract SubtractFrom SubValues Succeeds SucceedsEqual SucceedsSlantEqual SucceedsTilde SuchThat Sum SumConvergence Sunday SuperDagger SuperMinus SuperPlus Superscript SuperscriptBox SuperscriptBoxOptions Superset SupersetEqual SuperStar Surd SurdForm SurfaceColor SurfaceGraphics SurvivalDistribution SurvivalFunction SurvivalModel SurvivalModelFit SuspendPacket SuzukiDistribution SuzukiGroupSuz SwatchLegend Switch Symbol SymbolName SymletWavelet Symmetric SymmetricGroup SymmetricMatrixQ SymmetricPolynomial SymmetricReduction Symmetrize SymmetrizedArray SymmetrizedArrayRules SymmetrizedDependentComponents SymmetrizedIndependentComponents SymmetrizedReplacePart SynchronousInitialization SynchronousUpdating Syntax SyntaxForm SyntaxInformation SyntaxLength SyntaxPacket SyntaxQ SystemDialogInput SystemException SystemHelpPath SystemInformation SystemInformationData SystemOpen SystemOptions SystemsModelDelay SystemsModelDelayApproximate SystemsModelDelete SystemsModelDimensions SystemsModelExtract SystemsModelFeedbackConnect SystemsModelLabels SystemsModelOrder SystemsModelParallelConnect SystemsModelSeriesConnect SystemsModelStateFeedbackConnect SystemStub Tab TabFilling Table TableAlignments TableDepth TableDirections TableForm TableHeadings TableSpacing TableView TableViewBox TabSpacings TabView TabViewBox TabViewBoxOptions TagBox TagBoxNote TagBoxOptions TaggingRules TagSet TagSetDelayed TagStyle TagUnset Take TakeWhile Tally Tan Tanh TargetFunctions TargetUnits TautologyQ TelegraphProcess TemplateBox TemplateBoxOptions TemplateSlotSequence TemporalData Temporary TemporaryVariable TensorContract TensorDimensions TensorExpand TensorProduct TensorQ TensorRank TensorReduce TensorSymmetry TensorTranspose TensorWedge Tetrahedron TetrahedronBox TetrahedronBoxOptions TeXForm TeXSave Text Text3DBox Text3DBoxOptions TextAlignment TextBand TextBoundingBox TextBox TextCell TextClipboardType TextData TextForm TextJustification TextLine TextPacket TextParagraph TextRecognize TextRendering TextStyle Texture TextureCoordinateFunction TextureCoordinateScaling Therefore ThermometerGauge Thick Thickness Thin Thinning ThisLink ThompsonGroupTh Thread ThreeJSymbol Threshold Through Throw Thumbnail Thursday Ticks TicksStyle Tilde TildeEqual TildeFullEqual TildeTilde TimeConstrained TimeConstraint Times TimesBy TimeSeriesForecast TimeSeriesInvertibility TimeUsed TimeValue TimeZone Timing Tiny TitleGrouping TitsGroupT ToBoxes ToCharacterCode ToColor ToContinuousTimeModel ToDate ToDiscreteTimeModel ToeplitzMatrix ToExpression ToFileName Together Toggle ToggleFalse Toggler TogglerBar TogglerBox TogglerBoxOptions ToHeldExpression ToInvertibleTimeSeries TokenWords Tolerance ToLowerCase ToNumberField TooBig Tooltip TooltipBox TooltipBoxOptions TooltipDelay TooltipStyle Top TopHatTransform TopologicalSort ToRadicals ToRules ToString Total TotalHeight TotalVariationFilter TotalWidth TouchscreenAutoZoom TouchscreenControlPlacement ToUpperCase Tr Trace TraceAbove TraceAction TraceBackward TraceDepth TraceDialog TraceForward TraceInternal TraceLevel TraceOff TraceOn TraceOriginal TracePrint TraceScan TrackedSymbols TradingChart TraditionalForm TraditionalFunctionNotation TraditionalNotation TraditionalOrder TransferFunctionCancel TransferFunctionExpand TransferFunctionFactor TransferFunctionModel TransferFunctionPoles TransferFunctionTransform TransferFunctionZeros TransformationFunction TransformationFunctions TransformationMatrix TransformedDistribution TransformedField Translate TranslationTransform TransparentColor Transpose TreeForm TreeGraph TreeGraphQ TreePlot TrendStyle TriangleWave TriangularDistribution Trig TrigExpand TrigFactor TrigFactorList Trigger TrigReduce TrigToExp TrimmedMean True TrueQ TruncatedDistribution TsallisQExponentialDistribution TsallisQGaussianDistribution TTest Tube TubeBezierCurveBox TubeBezierCurveBoxOptions TubeBox TubeBSplineCurveBox TubeBSplineCurveBoxOptions Tuesday TukeyLambdaDistribution TukeyWindow Tuples TuranGraph TuringMachine Transparent UnateQ Uncompress Undefined UnderBar Underflow Underlined Underoverscript UnderoverscriptBox UnderoverscriptBoxOptions Underscript UnderscriptBox UnderscriptBoxOptions UndirectedEdge UndirectedGraph UndirectedGraphQ UndocumentedTestFEParserPacket UndocumentedTestGetSelectionPacket Unequal Unevaluated UniformDistribution UniformGraphDistribution UniformSumDistribution Uninstall Union UnionPlus Unique UnitBox UnitConvert UnitDimensions Unitize UnitRootTest UnitSimplify UnitStep UnitTriangle UnitVector Unprotect UnsameQ UnsavedVariables Unset UnsetShared UntrackedVariables Up UpArrow UpArrowBar UpArrowDownArrow Update UpdateDynamicObjects UpdateDynamicObjectsSynchronous UpdateInterval UpDownArrow UpEquilibrium UpperCaseQ UpperLeftArrow UpperRightArrow UpperTriangularize Upsample UpSet UpSetDelayed UpTee UpTeeArrow UpValues URL URLFetch URLFetchAsynchronous URLSave URLSaveAsynchronous UseGraphicsRange Using UsingFrontEnd V2Get ValidationLength Value ValueBox ValueBoxOptions ValueForm ValueQ ValuesData Variables Variance VarianceEquivalenceTest VarianceEstimatorFunction VarianceGammaDistribution VarianceTest VectorAngle VectorColorFunction VectorColorFunctionScaling VectorDensityPlot VectorGlyphData VectorPlot VectorPlot3D VectorPoints VectorQ Vectors VectorScale VectorStyle Vee Verbatim Verbose VerboseConvertToPostScriptPacket VerifyConvergence VerifySolutions VerifyTestAssumptions Version VersionNumber VertexAdd VertexCapacity VertexColors VertexComponent VertexConnectivity VertexCoordinateRules VertexCoordinates VertexCorrelationSimilarity VertexCosineSimilarity VertexCount VertexCoverQ VertexDataCoordinates VertexDegree VertexDelete VertexDiceSimilarity VertexEccentricity VertexInComponent VertexInDegree VertexIndex VertexJaccardSimilarity VertexLabeling VertexLabels VertexLabelStyle VertexList VertexNormals VertexOutComponent VertexOutDegree VertexQ VertexRenderingFunction VertexReplace VertexShape VertexShapeFunction VertexSize VertexStyle VertexTextureCoordinates VertexWeight Vertical VerticalBar VerticalForm VerticalGauge VerticalSeparator VerticalSlider VerticalTilde ViewAngle ViewCenter ViewMatrix ViewPoint ViewPointSelectorSettings ViewPort ViewRange ViewVector ViewVertical VirtualGroupData Visible VisibleCell VoigtDistribution VonMisesDistribution WaitAll WaitAsynchronousTask WaitNext WaitUntil WakebyDistribution WalleniusHypergeometricDistribution WaringYuleDistribution WatershedComponents WatsonUSquareTest WattsStrogatzGraphDistribution WaveletBestBasis WaveletFilterCoefficients WaveletImagePlot WaveletListPlot WaveletMapIndexed WaveletMatrixPlot WaveletPhi WaveletPsi WaveletScale WaveletScalogram WaveletThreshold WeaklyConnectedComponents WeaklyConnectedGraphQ WeakStationarity WeatherData WeberE Wedge Wednesday WeibullDistribution WeierstrassHalfPeriods WeierstrassInvariants WeierstrassP WeierstrassPPrime WeierstrassSigma WeierstrassZeta WeightedAdjacencyGraph WeightedAdjacencyMatrix WeightedData WeightedGraphQ Weights WelchWindow WheelGraph WhenEvent Which While White Whitespace WhitespaceCharacter WhittakerM WhittakerW WienerFilter WienerProcess WignerD WignerSemicircleDistribution WilksW WilksWTest WindowClickSelect WindowElements WindowFloating WindowFrame WindowFrameElements WindowMargins WindowMovable WindowOpacity WindowSelected WindowSize WindowStatusArea WindowTitle WindowToolbars WindowWidth With WolframAlpha WolframAlphaDate WolframAlphaQuantity WolframAlphaResult Word WordBoundary WordCharacter WordData WordSearch WordSeparators WorkingPrecision Write WriteString Wronskian XMLElement XMLObject Xnor Xor Yellow YuleDissimilarity ZernikeR ZeroSymmetric ZeroTest ZeroWidthTimes Zeta ZetaZero ZipfDistribution ZTest ZTransform $Aborted $ActivationGroupID $ActivationKey $ActivationUserRegistered $AddOnsDirectory $AssertFunction $Assumptions $AsynchronousTask $BaseDirectory $BatchInput $BatchOutput $BoxForms $ByteOrdering $Canceled $CharacterEncoding $CharacterEncodings $CommandLine $CompilationTarget $ConditionHold $ConfiguredKernels $Context $ContextPath $ControlActiveSetting $CreationDate $CurrentLink $DateStringFormat $DefaultFont $DefaultFrontEnd $DefaultImagingDevice $DefaultPath $Display $DisplayFunction $DistributedContexts $DynamicEvaluation $Echo $Epilog $ExportFormats $Failed $FinancialDataSource $FormatType $FrontEnd $FrontEndSession $GeoLocation $HistoryLength $HomeDirectory $HTTPCookies $IgnoreEOF $ImagingDevices $ImportFormats $InitialDirectory $Input $InputFileName $InputStreamMethods $Inspector $InstallationDate $InstallationDirectory $InterfaceEnvironment $IterationLimit $KernelCount $KernelID $Language $LaunchDirectory $LibraryPath $LicenseExpirationDate $LicenseID $LicenseProcesses $LicenseServer $LicenseSubprocesses $LicenseType $Line $Linked $LinkSupported $LoadedFiles $MachineAddresses $MachineDomain $MachineDomains $MachineEpsilon $MachineID $MachineName $MachinePrecision $MachineType $MaxExtraPrecision $MaxLicenseProcesses $MaxLicenseSubprocesses $MaxMachineNumber $MaxNumber $MaxPiecewiseCases $MaxPrecision $MaxRootDegree $MessageGroups $MessageList $MessagePrePrint $Messages $MinMachineNumber $MinNumber $MinorReleaseNumber $MinPrecision $ModuleNumber $NetworkLicense $NewMessage $NewSymbol $Notebooks $NumberMarks $Off $OperatingSystem $Output $OutputForms $OutputSizeLimit $OutputStreamMethods $Packages $ParentLink $ParentProcessID $PasswordFile $PatchLevelID $Path $PathnameSeparator $PerformanceGoal $PipeSupported $Post $Pre $PreferencesDirectory $PrePrint $PreRead $PrintForms $PrintLiteral $ProcessID $ProcessorCount $ProcessorType $ProductInformation $ProgramName $RandomState $RecursionLimit $ReleaseNumber $RootDirectory $ScheduledTask $ScriptCommandLine $SessionID $SetParentLink $SharedFunctions $SharedVariables $SoundDisplay $SoundDisplayFunction $SuppressInputFormHeads $SynchronousEvaluation $SyntaxHandler $System $SystemCharacterEncoding $SystemID $SystemWordLength $TemporaryDirectory $TemporaryPrefix $TextStyle $TimedOut $TimeUnit $TimeZone $TopDirectory $TraceOff $TraceOn $TracePattern $TracePostAction $TracePreAction $Urgent $UserAddOnsDirectory $UserBaseDirectory $UserDocumentsDirectory $UserName $Version $VersionNumber\",\nc:[{cN:\"comment\",b:/\\(\\*/,e:/\\*\\)/},e.ASM,e.QSM,e.CNM,{b:/\\{/,e:/\\}/,i:/:/}]}}),e.registerLanguage(\"matlab\",function(e){var t=[e.CNM,{cN:\"string\",b:\"'\",e:\"'\",c:[e.BE,{b:\"''\"}]}],r={r:0,c:[{b:/'['\\.]*/}]};return{k:{keyword:\"break case catch classdef continue else elseif end enumerated events for function global if methods otherwise parfor persistent properties return spmd switch try while\",built_in:\"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson\"},i:'(//|\"|#|/\\\\*|\\\\s+/\\\\w+)',c:[{cN:\"function\",bK:\"function\",e:\"$\",c:[e.UTM,{cN:\"params\",v:[{b:\"\\\\(\",e:\"\\\\)\"},{b:\"\\\\[\",e:\"\\\\]\"}]}]},{b:/[a-zA-Z_][a-zA-Z_0-9]*'['\\.]*/,rB:!0,r:0,c:[{b:/[a-zA-Z_][a-zA-Z_0-9]*/,r:0},r.c[0]]},{b:\"\\\\[\",e:\"\\\\]\",c:t,r:0,starts:r},{b:\"\\\\{\",e:/}/,c:t,r:0,starts:r},{b:/\\)/,r:0,starts:r},e.C(\"^\\\\s*\\\\%\\\\{\\\\s*$\",\"^\\\\s*\\\\%\\\\}\\\\s*$\"),e.C(\"\\\\%\",\"$\")].concat(t)}}),e.registerLanguage(\"maxima\",function(e){var t=\"if then else elseif for thru do while unless step in and or not\",r=\"true false unknown inf minf ind und %e %i %pi %phi %gamma\",a=\" abasep abs absint absolute_real_time acos acosh acot acoth acsc acsch activate addcol add_edge add_edges addmatrices addrow add_vertex add_vertices adjacency_matrix adjoin adjoint af agd airy airy_ai airy_bi airy_dai airy_dbi algsys alg_type alias allroots alphacharp alphanumericp amortization %and annuity_fv annuity_pv antid antidiff AntiDifference append appendfile apply apply1 apply2 applyb1 apropos args arit_amortization arithmetic arithsum array arrayapply arrayinfo arraymake arraysetapply ascii asec asech asin asinh askinteger asksign assoc assoc_legendre_p assoc_legendre_q assume assume_external_byte_order asympa at atan atan2 atanh atensimp atom atvalue augcoefmatrix augmented_lagrangian_method av average_degree backtrace bars barsplot barsplot_description base64 base64_decode bashindices batch batchload bc2 bdvac belln benefit_cost bern bernpoly bernstein_approx bernstein_expand bernstein_poly bessel bessel_i bessel_j bessel_k bessel_simplify bessel_y beta beta_incomplete beta_incomplete_generalized beta_incomplete_regularized bezout bfallroots bffac bf_find_root bf_fmin_cobyla bfhzeta bfloat bfloatp bfpsi bfpsi0 bfzeta biconnected_components bimetric binomial bipartition block blockmatrixp bode_gain bode_phase bothcoef box boxplot boxplot_description break bug_report build_info|10 buildq build_sample burn cabs canform canten cardinality carg cartan cartesian_product catch cauchy_matrix cbffac cdf_bernoulli cdf_beta cdf_binomial cdf_cauchy cdf_chi2 cdf_continuous_uniform cdf_discrete_uniform cdf_exp cdf_f cdf_gamma cdf_general_finite_discrete cdf_geometric cdf_gumbel cdf_hypergeometric cdf_laplace cdf_logistic cdf_lognormal cdf_negative_binomial cdf_noncentral_chi2 cdf_noncentral_student_t cdf_normal cdf_pareto cdf_poisson cdf_rank_sum cdf_rayleigh cdf_signed_rank cdf_student_t cdf_weibull cdisplay ceiling central_moment cequal cequalignore cf cfdisrep cfexpand cgeodesic cgreaterp cgreaterpignore changename changevar chaosgame charat charfun charfun2 charlist charp charpoly chdir chebyshev_t chebyshev_u checkdiv check_overlaps chinese cholesky christof chromatic_index chromatic_number cint circulant_graph clear_edge_weight clear_rules clear_vertex_label clebsch_gordan clebsch_graph clessp clesspignore close closefile cmetric coeff coefmatrix cograd col collapse collectterms columnop columnspace columnswap columnvector combination combine comp2pui compare compfile compile compile_file complement_graph complete_bipartite_graph complete_graph complex_number_p components compose_functions concan concat conjugate conmetderiv connected_components connect_vertices cons constant constantp constituent constvalue cont2part content continuous_freq contortion contour_plot contract contract_edge contragrad contrib_ode convert coord copy copy_file copy_graph copylist copymatrix cor cos cosh cot coth cov cov1 covdiff covect covers crc24sum create_graph create_list csc csch csetup cspline ctaylor ct_coordsys ctransform ctranspose cube_graph cuboctahedron_graph cunlisp cv cycle_digraph cycle_graph cylindrical days360 dblint deactivate declare declare_constvalue declare_dimensions declare_fundamental_dimensions declare_fundamental_units declare_qty declare_translated declare_unit_conversion declare_units declare_weights decsym defcon define define_alt_display define_variable defint defmatch defrule defstruct deftaylor degree_sequence del delete deleten delta demo demoivre denom depends derivdegree derivlist describe desolve determinant dfloat dgauss_a dgauss_b dgeev dgemm dgeqrf dgesv dgesvd diag diagmatrix diag_matrix diagmatrixp diameter diff digitcharp dimacs_export dimacs_import dimension dimensionless dimensions dimensions_as_list direct directory discrete_freq disjoin disjointp disolate disp dispcon dispform dispfun dispJordan display disprule dispterms distrib divide divisors divsum dkummer_m dkummer_u dlange dodecahedron_graph dotproduct dotsimp dpart draw draw2d draw3d drawdf draw_file draw_graph dscalar echelon edge_coloring edge_connectivity edges eigens_by_jacobi eigenvalues eigenvectors eighth einstein eivals eivects elapsed_real_time elapsed_run_time ele2comp ele2polynome ele2pui elem elementp elevation_grid elim elim_allbut eliminate eliminate_using ellipse elliptic_e elliptic_ec elliptic_eu elliptic_f elliptic_kc elliptic_pi ematrix empty_graph emptyp endcons entermatrix entertensor entier equal equalp equiv_classes erf erfc erf_generalized erfi errcatch error errormsg errors euler ev eval_string evenp every evolution evolution2d evundiff example exp expand expandwrt expandwrt_factored expint expintegral_chi expintegral_ci expintegral_e expintegral_e1 expintegral_ei expintegral_e_simplify expintegral_li expintegral_shi expintegral_si explicit explose exponentialize express expt exsec extdiff extract_linear_equations extremal_subset ezgcd %f f90 facsum factcomb factor factorfacsum factorial factorout factorsum facts fast_central_elements fast_linsolve fasttimes featurep fernfale fft fib fibtophi fifth filename_merge file_search file_type fillarray findde find_root find_root_abs find_root_error find_root_rel first fix flatten flength float floatnump floor flower_snark flush flush1deriv flushd flushnd flush_output fmin_cobyla forget fortran fourcos fourexpand fourier fourier_elim fourint fourintcos fourintsin foursimp foursin fourth fposition frame_bracket freeof freshline fresnel_c fresnel_s from_adjacency_matrix frucht_graph full_listify fullmap fullmapl fullratsimp fullratsubst fullsetify funcsolve fundamental_dimensions fundamental_units fundef funmake funp fv g0 g1 gamma gamma_greek gamma_incomplete gamma_incomplete_generalized gamma_incomplete_regularized gauss gauss_a gauss_b gaussprob gcd gcdex gcdivide gcfac gcfactor gd generalized_lambert_w genfact gen_laguerre genmatrix gensym geo_amortization geo_annuity_fv geo_annuity_pv geomap geometric geometric_mean geosum get getcurrentdirectory get_edge_weight getenv get_lu_factors get_output_stream_string get_pixel get_plot_option get_tex_environment get_tex_environment_default get_vertex_label gfactor gfactorsum ggf girth global_variances gn gnuplot_close gnuplot_replot gnuplot_reset gnuplot_restart gnuplot_start go Gosper GosperSum gr2d gr3d gradef gramschmidt graph6_decode graph6_encode graph6_export graph6_import graph_center graph_charpoly graph_eigenvalues graph_flow graph_order graph_periphery graph_product graph_size graph_union great_rhombicosidodecahedron_graph great_rhombicuboctahedron_graph grid_graph grind grobner_basis grotzch_graph hamilton_cycle hamilton_path hankel hankel_1 hankel_2 harmonic harmonic_mean hav heawood_graph hermite hessian hgfred hilbertmap hilbert_matrix hipow histogram histogram_description hodge horner hypergeometric i0 i1 %ibes ic1 ic2 ic_convert ichr1 ichr2 icosahedron_graph icosidodecahedron_graph icurvature ident identfor identity idiff idim idummy ieqn %if ifactors iframes ifs igcdex igeodesic_coords ilt image imagpart imetric implicit implicit_derivative implicit_plot indexed_tensor indices induced_subgraph inferencep inference_result infix info_display init_atensor init_ctensor in_neighbors innerproduct inpart inprod inrt integerp integer_partitions integrate intersect intersection intervalp intopois intosum invariant1 invariant2 inverse_fft inverse_jacobi_cd inverse_jacobi_cn inverse_jacobi_cs inverse_jacobi_dc inverse_jacobi_dn inverse_jacobi_ds inverse_jacobi_nc inverse_jacobi_nd inverse_jacobi_ns inverse_jacobi_sc inverse_jacobi_sd inverse_jacobi_sn invert invert_by_adjoint invert_by_lu inv_mod irr is is_biconnected is_bipartite is_connected is_digraph is_edge_in_graph is_graph is_graph_or_digraph ishow is_isomorphic isolate isomorphism is_planar isqrt isreal_p is_sconnected is_tree is_vertex_in_graph items_inference %j j0 j1 jacobi jacobian jacobi_cd jacobi_cn jacobi_cs jacobi_dc jacobi_dn jacobi_ds jacobi_nc jacobi_nd jacobi_ns jacobi_p jacobi_sc jacobi_sd jacobi_sn JF jn join jordan julia julia_set julia_sin %k kdels kdelta kill killcontext kostka kron_delta kronecker_product kummer_m kummer_u kurtosis kurtosis_bernoulli kurtosis_beta kurtosis_binomial kurtosis_chi2 kurtosis_continuous_uniform kurtosis_discrete_uniform kurtosis_exp kurtosis_f kurtosis_gamma kurtosis_general_finite_discrete kurtosis_geometric kurtosis_gumbel kurtosis_hypergeometric kurtosis_laplace kurtosis_logistic kurtosis_lognormal kurtosis_negative_binomial kurtosis_noncentral_chi2 kurtosis_noncentral_student_t kurtosis_normal kurtosis_pareto kurtosis_poisson kurtosis_rayleigh kurtosis_student_t kurtosis_weibull label labels lagrange laguerre lambda lambert_w laplace laplacian_matrix last lbfgs lc2kdt lcharp lc_l lcm lc_u ldefint ldisp ldisplay legendre_p legendre_q leinstein length let letrules letsimp levi_civita lfreeof lgtreillis lhs li liediff limit Lindstedt linear linearinterpol linear_program linear_regression line_graph linsolve listarray list_correlations listify list_matrix_entries list_nc_monomials listoftens listofvars listp lmax lmin load loadfile local locate_matrix_entry log logcontract log_gamma lopow lorentz_gauge lowercasep lpart lratsubst lreduce lriemann lsquares_estimates lsquares_estimates_approximate lsquares_estimates_exact lsquares_mse lsquares_residual_mse lsquares_residuals lsum ltreillis lu_backsub lucas lu_factor %m macroexpand macroexpand1 make_array makebox makefact makegamma make_graph make_level_picture makelist makeOrders make_poly_continent make_poly_country make_polygon make_random_state make_rgb_picture makeset make_string_input_stream make_string_output_stream make_transform mandelbrot mandelbrot_set map mapatom maplist matchdeclare matchfix mat_cond mat_fullunblocker mat_function mathml_display mat_norm matrix matrixmap matrixp matrix_size mattrace mat_trace mat_unblocker max max_clique max_degree max_flow maximize_lp max_independent_set max_matching maybe md5sum mean mean_bernoulli mean_beta mean_binomial mean_chi2 mean_continuous_uniform mean_deviation mean_discrete_uniform mean_exp mean_f mean_gamma mean_general_finite_discrete mean_geometric mean_gumbel mean_hypergeometric mean_laplace mean_logistic mean_lognormal mean_negative_binomial mean_noncentral_chi2 mean_noncentral_student_t mean_normal mean_pareto mean_poisson mean_rayleigh mean_student_t mean_weibull median median_deviation member mesh metricexpandall mgf1_sha1 min min_degree min_edge_cut minfactorial minimalPoly minimize_lp minimum_spanning_tree minor minpack_lsquares minpack_solve min_vertex_cover min_vertex_cut mkdir mnewton mod mode_declare mode_identity ModeMatrix moebius mon2schur mono monomial_dimensions multibernstein_poly multi_display_for_texinfo multi_elem multinomial multinomial_coeff multi_orbit multiplot_mode multi_pui multsym multthru mycielski_graph nary natural_unit nc_degree ncexpt ncharpoly negative_picture neighbors new newcontext newdet new_graph newline newton new_variable next_prime nicedummies niceindices ninth nofix nonarray noncentral_moment nonmetricity nonnegintegerp nonscalarp nonzeroandfreeof notequal nounify nptetrad npv nroots nterms ntermst nthroot nullity nullspace num numbered_boundaries numberp number_to_octets num_distinct_partitions numerval numfactor num_partitions nusum nzeta nzetai nzetar octets_to_number octets_to_oid odd_girth oddp ode2 ode_check odelin oid_to_octets op opena opena_binary openr openr_binary openw openw_binary operatorp opsubst optimize %or orbit orbits ordergreat ordergreatp orderless orderlessp orthogonal_complement orthopoly_recur orthopoly_weight outermap out_neighbors outofpois pade parabolic_cylinder_d parametric parametric_surface parg parGosper parse_string parse_timedate part part2cont partfrac partition partition_set partpol path_digraph path_graph pathname_directory pathname_name pathname_type pdf_bernoulli pdf_beta pdf_binomial pdf_cauchy pdf_chi2 pdf_continuous_uniform pdf_discrete_uniform pdf_exp pdf_f pdf_gamma pdf_general_finite_discrete pdf_geometric pdf_gumbel pdf_hypergeometric pdf_laplace pdf_logistic pdf_lognormal pdf_negative_binomial pdf_noncentral_chi2 pdf_noncentral_student_t pdf_normal pdf_pareto pdf_poisson pdf_rank_sum pdf_rayleigh pdf_signed_rank pdf_student_t pdf_weibull pearson_skewness permanent permut permutation permutations petersen_graph petrov pickapart picture_equalp picturep piechart piechart_description planar_embedding playback plog plot2d plot3d plotdf ploteq plsquares pochhammer points poisdiff poisexpt poisint poismap poisplus poissimp poissubst poistimes poistrim polar polarform polartorect polar_to_xy poly_add poly_buchberger poly_buchberger_criterion poly_colon_ideal poly_content polydecomp poly_depends_p poly_elimination_ideal poly_exact_divide poly_expand poly_expt poly_gcd polygon poly_grobner poly_grobner_equal poly_grobner_member poly_grobner_subsetp poly_ideal_intersection poly_ideal_polysaturation poly_ideal_polysaturation1 poly_ideal_saturation poly_ideal_saturation1 poly_lcm poly_minimization polymod poly_multiply polynome2ele polynomialp poly_normal_form poly_normalize poly_normalize_list poly_polysaturation_extension poly_primitive_part poly_pseudo_divide poly_reduced_grobner poly_reduction poly_saturation_extension poly_s_polynomial poly_subtract polytocompanion pop postfix potential power_mod powerseries powerset prefix prev_prime primep primes principal_components print printf printfile print_graph printpois printprops prodrac product properties propvars psi psubst ptriangularize pui pui2comp pui2ele pui2polynome pui_direct puireduc push put pv qput qrange qty quad_control quad_qag quad_qagi quad_qagp quad_qags quad_qawc quad_qawf quad_qawo quad_qaws quadrilateral quantile quantile_bernoulli quantile_beta quantile_binomial quantile_cauchy quantile_chi2 quantile_continuous_uniform quantile_discrete_uniform quantile_exp quantile_f quantile_gamma quantile_general_finite_discrete quantile_geometric quantile_gumbel quantile_hypergeometric quantile_laplace quantile_logistic quantile_lognormal quantile_negative_binomial quantile_noncentral_chi2 quantile_noncentral_student_t quantile_normal quantile_pareto quantile_poisson quantile_rayleigh quantile_student_t quantile_weibull quartile_skewness quit qunit quotient racah_v racah_w radcan radius random random_bernoulli random_beta random_binomial random_bipartite_graph random_cauchy random_chi2 random_continuous_uniform random_digraph random_discrete_uniform random_exp random_f random_gamma random_general_finite_discrete random_geometric random_graph random_graph1 random_gumbel random_hypergeometric random_laplace random_logistic random_lognormal random_negative_binomial random_network random_noncentral_chi2 random_noncentral_student_t random_normal random_pareto random_permutation random_poisson random_rayleigh random_regular_graph random_student_t random_tournament random_tree random_weibull range rank rat ratcoef ratdenom ratdiff ratdisrep ratexpand ratinterpol rational rationalize ratnumer ratnump ratp ratsimp ratsubst ratvars ratweight read read_array read_binary_array read_binary_list read_binary_matrix readbyte readchar read_hashed_array readline read_list read_matrix read_nested_list readonly read_xpm real_imagpart_to_conjugate realpart realroots rearray rectangle rectform rectform_log_if_constant recttopolar rediff reduce_consts reduce_order region region_boundaries region_boundaries_plus rem remainder remarray rembox remcomps remcon remcoord remfun remfunction remlet remove remove_constvalue remove_dimensions remove_edge remove_fundamental_dimensions remove_fundamental_units remove_plot_option remove_vertex rempart remrule remsym remvalue rename rename_file reset reset_displays residue resolvante resolvante_alternee1 resolvante_bipartite resolvante_diedrale resolvante_klein resolvante_klein3 resolvante_produit_sym resolvante_unitaire resolvante_vierer rest resultant return reveal reverse revert revert2 rgb2level rhs ricci riemann rinvariant risch rk rmdir rncombine romberg room rootscontract round row rowop rowswap rreduce run_testsuite %s save saving scalarp scaled_bessel_i scaled_bessel_i0 scaled_bessel_i1 scalefactors scanmap scatterplot scatterplot_description scene schur2comp sconcat scopy scsimp scurvature sdowncase sec sech second sequal sequalignore set_alt_display setdifference set_draw_defaults set_edge_weight setelmx setequalp setify setp set_partitions set_plot_option set_prompt set_random_state set_tex_environment set_tex_environment_default setunits setup_autoload set_up_dot_simplifications set_vertex_label seventh sexplode sf sha1sum sha256sum shortest_path shortest_weighted_path show showcomps showratvars sierpinskiale sierpinskimap sign signum similaritytransform simp_inequality simplify_sum simplode simpmetderiv simtran sin sinh sinsert sinvertcase sixth skewness skewness_bernoulli skewness_beta skewness_binomial skewness_chi2 skewness_continuous_uniform skewness_discrete_uniform skewness_exp skewness_f skewness_gamma skewness_general_finite_discrete skewness_geometric skewness_gumbel skewness_hypergeometric skewness_laplace skewness_logistic skewness_lognormal skewness_negative_binomial skewness_noncentral_chi2 skewness_noncentral_student_t skewness_normal skewness_pareto skewness_poisson skewness_rayleigh skewness_student_t skewness_weibull slength smake small_rhombicosidodecahedron_graph small_rhombicuboctahedron_graph smax smin smismatch snowmap snub_cube_graph snub_dodecahedron_graph solve solve_rec solve_rec_rat some somrac sort sparse6_decode sparse6_encode sparse6_export sparse6_import specint spherical spherical_bessel_j spherical_bessel_y spherical_hankel1 spherical_hankel2 spherical_harmonic spherical_to_xyz splice split sposition sprint sqfr sqrt sqrtdenest sremove sremovefirst sreverse ssearch ssort sstatus ssubst ssubstfirst staircase standardize standardize_inverse_trig starplot starplot_description status std std1 std_bernoulli std_beta std_binomial std_chi2 std_continuous_uniform std_discrete_uniform std_exp std_f std_gamma std_general_finite_discrete std_geometric std_gumbel std_hypergeometric std_laplace std_logistic std_lognormal std_negative_binomial std_noncentral_chi2 std_noncentral_student_t std_normal std_pareto std_poisson std_rayleigh std_student_t std_weibull stemplot stirling stirling1 stirling2 strim striml strimr string stringout stringp strong_components struve_h struve_l sublis sublist sublist_indices submatrix subsample subset subsetp subst substinpart subst_parallel substpart substring subvar subvarp sum sumcontract summand_to_rec supcase supcontext symbolp symmdifference symmetricp system take_channel take_inference tan tanh taylor taylorinfo taylorp taylor_simplifier taytorat tcl_output tcontract tellrat tellsimp tellsimpafter tentex tenth test_mean test_means_difference test_normality test_proportion test_proportions_difference test_rank_sum test_sign test_signed_rank test_variance test_variance_ratio tex tex1 tex_display texput %th third throw time timedate timer timer_info tldefint tlimit todd_coxeter toeplitz tokens to_lisp topological_sort to_poly to_poly_solve totaldisrep totalfourier totient tpartpol trace tracematrix trace_options transform_sample translate translate_file transpose treefale tree_reduce treillis treinat triangle triangularize trigexpand trigrat trigreduce trigsimp trunc truncate truncated_cube_graph truncated_dodecahedron_graph truncated_icosahedron_graph truncated_tetrahedron_graph tr_warnings_get tube tutte_graph ueivects uforget ultraspherical underlying_graph undiff union unique uniteigenvectors unitp units unit_step unitvector unorder unsum untellrat untimer untrace uppercasep uricci uriemann uvect vandermonde_matrix var var1 var_bernoulli var_beta var_binomial var_chi2 var_continuous_uniform var_discrete_uniform var_exp var_f var_gamma var_general_finite_discrete var_geometric var_gumbel var_hypergeometric var_laplace var_logistic var_lognormal var_negative_binomial var_noncentral_chi2 var_noncentral_student_t var_normal var_pareto var_poisson var_rayleigh var_student_t var_weibull vector vectorpotential vectorsimp verbify vers vertex_coloring vertex_connectivity vertex_degree vertex_distance vertex_eccentricity vertex_in_degree vertex_out_degree vertices vertices_to_cycle vertices_to_path %w weyl wheel_graph wiener_index wigner_3j wigner_6j wigner_9j with_stdout write_binary_data writebyte write_data writefile wronskian xreduce xthru %y Zeilberger zeroequiv zerofor zeromatrix zeromatrixp zeta zgeev zheev zlange zn_add_table zn_carmichael_lambda zn_characteristic_factors zn_determinant zn_factor_generators zn_invert_by_lu zn_log zn_mult_table absboxchar activecontexts adapt_depth additive adim aform algebraic algepsilon algexact aliases allbut all_dotsimp_denoms allocation allsym alphabetic animation antisymmetric arrays askexp assume_pos assume_pos_pred assumescalar asymbol atomgrad atrig1 axes axis_3d axis_bottom axis_left axis_right axis_top azimuth background background_color backsubst berlefact bernstein_explicit besselexpand beta_args_sum_to_integer beta_expand bftorat bftrunc bindtest border boundaries_array box boxchar breakup %c capping cauchysum cbrange cbtics center cflength cframe_flag cnonmet_flag color color_bar color_bar_tics colorbox columns commutative complex cone context contexts contour contour_levels cosnpiflag ctaypov ctaypt ctayswitch ctayvar ct_coords ctorsion_flag ctrgsimp cube current_let_rule_package cylinder data_file_name debugmode decreasing default_let_rule_package delay dependencies derivabbrev derivsubst detout diagmetric diff dim dimensions dispflag display2d|10 display_format_internal distribute_over doallmxops domain domxexpt domxmxops domxnctimes dontfactor doscmxops doscmxplus dot0nscsimp dot0simp dot1simp dotassoc dotconstrules dotdistrib dotexptsimp dotident dotscrules draw_graph_program draw_realpart edge_color edge_coloring edge_partition edge_type edge_width %edispflag elevation %emode endphi endtheta engineering_format_floats enhanced3d %enumer epsilon_lp erfflag erf_representation errormsg error_size error_syms error_type %e_to_numlog eval even evenfun evflag evfun ev_point expandwrt_denom expintexpand expintrep expon expop exptdispflag exptisolate exptsubst facexpand facsum_combine factlim factorflag factorial_expand factors_only fb feature features file_name file_output_append file_search_demo file_search_lisp file_search_maxima|10 file_search_tests file_search_usage file_type_lisp file_type_maxima|10 fill_color fill_density filled_func fixed_vertices flipflag float2bf font font_size fortindent fortspaces fpprec fpprintprec functions gamma_expand gammalim gdet genindex gensumnum GGFCFMAX GGFINFINITY globalsolve gnuplot_command gnuplot_curve_styles gnuplot_curve_titles gnuplot_default_term_command gnuplot_dumb_term_command gnuplot_file_args gnuplot_file_name gnuplot_out_file gnuplot_pdf_term_command gnuplot_pm3d gnuplot_png_term_command gnuplot_postamble gnuplot_preamble gnuplot_ps_term_command gnuplot_svg_term_command gnuplot_term gnuplot_view_args Gosper_in_Zeilberger gradefs grid grid2d grind halfangles head_angle head_both head_length head_type height hypergeometric_representation %iargs ibase icc1 icc2 icounter idummyx ieqnprint ifb ifc1 ifc2 ifg ifgi ifr iframe_bracket_form ifri igeowedge_flag ikt1 ikt2 imaginary inchar increasing infeval infinity inflag infolists inm inmc1 inmc2 intanalysis integer integervalued integrate_use_rootsof integration_constant integration_constant_counter interpolate_color intfaclim ip_grid ip_grid_in irrational isolate_wrt_times iterations itr julia_parameter %k1 %k2 keepfloat key key_pos kinvariant kt label label_alignment label_orientation labels lassociative lbfgs_ncorrections lbfgs_nfeval_max leftjust legend letrat let_rule_packages lfg lg lhospitallim limsubst linear linear_solver linechar linel|10 linenum line_type linewidth line_width linsolve_params linsolvewarn lispdisp listarith listconstvars listdummyvars lmxchar load_pathname loadprint logabs logarc logcb logconcoeffp logexpand lognegint logsimp logx logx_secondary logy logy_secondary logz lriem m1pbranch macroexpansion macros mainvar manual_demo maperror mapprint matrix_element_add matrix_element_mult matrix_element_transpose maxapplydepth maxapplyheight maxima_tempdir|10 maxima_userdir|10 maxnegex MAX_ORD maxposex maxpsifracdenom maxpsifracnum maxpsinegint maxpsiposint maxtayorder mesh_lines_color method mod_big_prime mode_check_errorp mode_checkp mode_check_warnp mod_test mod_threshold modular_linear_solver modulus multiplicative multiplicities myoptions nary negdistrib negsumdispflag newline newtonepsilon newtonmaxiter nextlayerfactor niceindicespref nm nmc noeval nolabels nonegative_lp noninteger nonscalar noun noundisp nouns np npi nticks ntrig numer numer_pbranch obase odd oddfun opacity opproperties opsubst optimprefix optionset orientation origin orthopoly_returns_intervals outative outchar packagefile palette partswitch pdf_file pfeformat phiresolution %piargs piece pivot_count_sx pivot_max_sx plot_format plot_options plot_realpart png_file pochhammer_max_index points pointsize point_size points_joined point_type poislim poisson poly_coefficient_ring poly_elimination_order polyfactor poly_grobner_algorithm poly_grobner_debug poly_monomial_order poly_primary_elimination_order poly_return_term_list poly_secondary_elimination_order poly_top_reduction_only posfun position powerdisp pred prederror primep_number_of_tests product_use_gamma program programmode promote_float_to_bigfloat prompt proportional_axes props psexpand ps_file radexpand radius radsubstflag rassociative ratalgdenom ratchristof ratdenomdivide rateinstein ratepsilon ratfac rational ratmx ratprint ratriemann ratsimpexpons ratvarswitch ratweights ratweyl ratwtlvl real realonly redraw refcheck resolution restart resultant ric riem rmxchar %rnum_list rombergabs rombergit rombergmin rombergtol rootsconmode rootsepsilon run_viewer same_xy same_xyz savedef savefactors scalar scalarmatrixp scale scale_lp setcheck setcheckbreak setval show_edge_color show_edges show_edge_type show_edge_width show_id show_label showtime show_vertex_color show_vertex_size show_vertex_type show_vertices show_weight simp simplified_output simplify_products simpproduct simpsum sinnpiflag solvedecomposes solveexplicit solvefactors solvenullwarn solveradcan solvetrigwarn space sparse sphere spring_embedding_depth sqrtdispflag stardisp startphi starttheta stats_numer stringdisp structures style sublis_apply_lambda subnumsimp sumexpand sumsplitfact surface surface_hide svg_file symmetric tab taylordepth taylor_logexpand taylor_order_coefficients taylor_truncate_polynomials tensorkill terminal testsuite_files thetaresolution timer_devalue title tlimswitch tr track transcompile transform transform_xy translate_fast_arrays transparent transrun tr_array_as_ref tr_bound_function_applyp tr_file_tty_messagesp tr_float_can_branch_complex tr_function_call_default trigexpandplus trigexpandtimes triginverses trigsign trivial_solutions tr_numer tr_optimize_max_loop tr_semicompile tr_state_vars tr_warn_bad_function_calls tr_warn_fexpr tr_warn_meval tr_warn_mode tr_warn_undeclared tr_warn_undefined_variable tstep ttyoff tube_extremes ufg ug %unitexpand unit_vectors uric uriem use_fast_arrays user_preamble usersetunits values vect_cross verbose vertex_color vertex_coloring vertex_partition vertex_size vertex_type view warnings weyl width windowname windowtitle wired_surface wireframe xaxis xaxis_color xaxis_secondary xaxis_type xaxis_width xlabel xlabel_secondary xlength xrange xrange_secondary xtics xtics_axis xtics_rotate xtics_rotate_secondary xtics_secondary xtics_secondary_axis xu_grid x_voxel xy_file xyplane xy_scale yaxis yaxis_color yaxis_secondary yaxis_type yaxis_width ylabel ylabel_secondary ylength yrange yrange_secondary ytics ytics_axis ytics_rotate ytics_rotate_secondary ytics_secondary ytics_secondary_axis yv_grid y_voxel yx_ratio zaxis zaxis_color zaxis_type zaxis_width zeroa zerob zerobern zeta%pi zlabel zlabel_rotate zlength zmin zn_primroot_limit zn_primroot_pretest\",i=\"_ __ %|0 %%|0\";return{l:\"[A-Za-z_%][0-9A-Za-z_%]*\",k:{keyword:t,literal:r,built_in:a,symbol:i},c:[{cN:\"comment\",b:\"/\\\\*\",e:\"\\\\*/\",c:[\"self\"]},e.QSM,{cN:\"number\",r:0,v:[{b:\"\\\\b(\\\\d+|\\\\d+\\\\.|\\\\.\\\\d+|\\\\d+\\\\.\\\\d+)[Ee][-+]?\\\\d+\\\\b\"},{b:\"\\\\b(\\\\d+|\\\\d+\\\\.|\\\\.\\\\d+|\\\\d+\\\\.\\\\d+)[Bb][-+]?\\\\d+\\\\b\",r:10},{b:\"\\\\b(\\\\.\\\\d+|\\\\d+\\\\.\\\\d+)\\\\b\"},{b:\"\\\\b(\\\\d+|0[0-9A-Za-z]+)\\\\.?\\\\b\"}]}],i:/@/}}),e.registerLanguage(\"mel\",function(e){return{k:\"int float string vector matrix if else switch case default while do for in break continue global proc return about abs addAttr addAttributeEditorNodeHelp addDynamic addNewShelfTab addPP addPanelCategory addPrefixToName advanceToNextDrivenKey affectedNet affects aimConstraint air alias aliasAttr align alignCtx alignCurve alignSurface allViewFit ambientLight angle angleBetween animCone animCurveEditor animDisplay animView annotate appendStringArray applicationName applyAttrPreset applyTake arcLenDimContext arcLengthDimension arclen arrayMapper art3dPaintCtx artAttrCtx artAttrPaintVertexCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu artFluidAttrCtx artPuttyCtx artSelectCtx artSetPaintCtx artUserPaintCtx assignCommand assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface attrColorSliderGrp attrCompatibility attrControlGrp attrEnumOptionMenu attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attrNavigationControlGrp attrPresetEditWin attributeExists attributeInfo attributeMenu attributeQuery autoKeyframe autoPlace bakeClip bakeFluidShading bakePartialHistory bakeResults bakeSimulation basename basenameEx batchRender bessel bevel bevelPlus binMembership bindSkin blend2 blendShape blendShapeEditor blendShapePanel blendTwoAttr blindDataType boneLattice boundary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu buildKeyframeMenu button buttonManip CBG cacheFile cacheFileCombine cacheFileMerge cacheFileTrack camera cameraView canCreateManip canvas capitalizeString catch catchQuiet ceil changeSubdivComponentDisplayLevel changeSubdivRegion channelBox character characterMap characterOutlineEditor characterize chdir checkBox checkBoxGrp checkDefaultRenderGlobals choice circle circularFillet clamp clear clearCache clip clipEditor clipEditorCurrentTimeCtx clipSchedule clipSchedulerOutliner clipTrimBefore closeCurve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter cmdScrollFieldReporter cmdShell coarsenSubdivSelectionList collision color colorAtPoint colorEditor colorIndex colorIndexSliderGrp colorSliderButtonGrp colorSliderGrp columnLayout commandEcho commandLine commandPort compactHairSystem componentEditor compositingInterop computePolysetVolume condition cone confirmDialog connectAttr connectControl connectDynamic connectJoint connectionInfo constrain constrainValue constructionHistory container containsMultibyte contextInfo control convertFromOldLayers convertIffToPsd convertLightmap convertSolidTx convertTessellation convertUnit copyArray copyFlexor copyKey copySkinWeights cos cpButton cpCache cpClothSet cpCollision cpConstraint cpConvClothToMesh cpForces cpGetSolverAttr cpPanel cpProperty cpRigidCollisionFilter cpSeam cpSetEdit cpSetSolverAttr cpSolver cpSolverTypes cpTool cpUpdateClothUVs createDisplayLayer createDrawCtx createEditor createLayeredPsdFile createMotionField createNewShelf createNode createRenderLayer createSubdivRegion cross crossProduct ctxAbort ctxCompletion ctxEditMode ctxTraverse currentCtx currentTime currentTimeCtx currentUnit curve curveAddPtCtx curveCVCtx curveEPCtx curveEditorCtx curveIntersect curveMoveEPCtx curveOnSurface curveSketchCtx cutKey cycleCheck cylinder dagPose date defaultLightListCheckBox defaultNavigation defineDataServer defineVirtualDevice deformer deg_to_rad delete deleteAttr deleteShadingGroupsAndMaterials deleteShelfTab deleteUI deleteUnusedBrushes delrandstr detachCurve detachDeviceAttr detachSurface deviceEditor devicePanel dgInfo dgdirty dgeval dgtimer dimWhen directKeyCtx directionalLight dirmap dirname disable disconnectAttr disconnectJoint diskCache displacementToPoly displayAffected displayColor displayCull displayLevelOfDetail displayPref displayRGBColor displaySmoothness displayStats displayString displaySurface distanceDimContext distanceDimension doBlur dolly dollyCtx dopeSheetEditor dot dotProduct doubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator duplicate duplicateCurve duplicateSurface dynCache dynControl dynExport dynExpression dynGlobals dynPaintEditor dynParticleCtx dynPref dynRelEdPanel dynRelEditor dynamicLoad editAttrLimits editDisplayLayerGlobals editDisplayLayerMembers editRenderLayerAdjustment editRenderLayerGlobals editRenderLayerMembers editor editorTemplate effector emit emitter enableDevice encodeString endString endsWith env equivalent equivalentTol erf error eval evalDeferred evalEcho event exactWorldBoundingBox exclusiveLightCheckBox exec executeForEachObject exists exp expression expressionEditorListen extendCurve extendSurface extrude fcheck fclose feof fflush fgetline fgetword file fileBrowserDialog fileDialog fileExtension fileInfo filetest filletCurve filter filterCurve filterExpand filterStudioImport findAllIntersections findAnimCurves findKeyframe findMenuItem findRelatedSkinCluster finder firstParentOf fitBspline flexor floatEq floatField floatFieldGrp floatScrollBar floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow fluidCacheInfo fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen formLayout format fprint frameLayout fread freeFormFillet frewind fromNativePath fwrite gamma gauss geometryConstraint getApplicationVersionAsFloat getAttr getClassification getDefaultBrush getFileList getFluidAttr getInputDeviceRange getMayaPanelTypes getModifiers getPanel getParticleAttr getPluginResource getenv getpid glRender glRenderEditor globalStitch gmatch goal gotoBindPose grabColor gradientControl gradientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity grid gridLayout group groupObjectsByName HfAddAttractorToAS HfAssignAS HfBuildEqualMap HfBuildFurFiles HfBuildFurImages HfCancelAFR HfConnectASToHF HfCreateAttractor HfDeleteAS HfEditAS HfPerformCreateAS HfRemoveAttractorFromAS HfSelectAttached HfSelectAttractors HfUnAssignAS hardenPointCurve hardware hardwareRenderPanel headsUpDisplay headsUpMessage help helpLine hermite hide hilite hitTest hotBox hotkey hotkeyCheck hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton iconTextCheckBox iconTextRadioButton iconTextRadioCollection iconTextScrollList iconTextStaticLabel ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandleCtx ikSystem ikSystemInfo ikfkDisplayMethod illustratorCurves image imfPlugins inheritTransform insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertKnotSurface instance instanceable instancer intField intFieldGrp intScrollBar intSlider intSliderGrp interToUI internalVar intersect iprEngine isAnimCurve isConnected isDirty isParentOf isSameObject isTrue isValidObjectName isValidString isValidUiName isolateSelect itemFilter itemFilterAttr itemFilterRender itemFilterType joint jointCluster jointCtx jointDisplayScale jointLattice keyTangent keyframe keyframeOutliner keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyframeRegionDollyCtx keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRegionScaleKeyCtx keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegionTrackCtx keyframeStats lassoContext lattice latticeDeformKeyCtx launch launchImageEditor layerButton layeredShaderPort layeredTexturePort layout layoutDialog lightList lightListEditor lightListPanel lightlink lineIntersection linearPrecision linstep listAnimatable listAttr listCameras listConnections listDeviceAttachments listHistory listInputDeviceAxes listInputDeviceButtons listInputDevices listMenuAnnotation listNodeTypes listPanelCategories listRelatives listSets listTransforms listUnselected listerEditor loadFluid loadNewShelf loadPlugin loadPluginLanguageResources loadPrefObjects localizedPanelLabel lockNode loft log longNameOf lookThru ls lsThroughFilter lsType lsUI Mayatomr mag makeIdentity makeLive makePaintable makeRoll makeSingleSurface makeTubeOn makebot manipMoveContext manipMoveLimitsCtx manipOptions manipRotateContext manipRotateLimitsCtx manipScaleContext manipScaleLimitsCtx marker match max memory menu menuBarLayout menuEditor menuItem menuItemToShelf menuSet menuSetPref messageLine min minimizeApp mirrorJoint modelCurrentTimeCtx modelEditor modelPanel mouse movIn movOut move moveIKtoFK moveKeyCtx moveVertexAlongDirection multiProfileBirailSurface mute nParticle nameCommand nameField namespace namespaceInfo newPanelItems newton nodeCast nodeIconButton nodeOutliner nodePreset nodeType noise nonLinear normalConstraint normalize nurbsBoolean nurbsCopyUVSet nurbsCube nurbsEditUV nurbsPlane nurbsSelect nurbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref nurbsUVSet nurbsViewDirectionVector objExists objectCenter objectLayer objectType objectTypeUI obsoleteProc oceanNurbsPreviewPlane offsetCurve offsetCurveOnSurface offsetSurface openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orbit orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier paintEffectsDisplay pairBlend palettePort paneLayout panel panelConfiguration panelHistory paramDimContext paramDimension paramLocator parent parentConstraint particle particleExists particleInstancer particleRenderInfo partition pasteKey pathAnimation pause pclose percent performanceOptions pfxstrokes pickWalk picture pixelMove planarSrf plane play playbackOptions playblast plugAttr plugNode pluginInfo pluginResourceUtil pointConstraint pointCurveConstraint pointLight pointMatrixMult pointOnCurve pointOnSurface pointPosition poleVectorConstraint polyAppend polyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal polyAverageVertex polyBevel polyBlendColor polyBlindData polyBoolOp polyBridgeEdge polyCacheMonitor polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge polyCollapseFacet polyColorBlindData polyColorDel polyColorPerVertex polyColorSet polyCompare polyCone polyCopyUV polyCrease polyCreaseCtx polyCreateFacet polyCreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjection polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEdge polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet polyExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix polyInfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut polyMapDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet polyMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge polyMoveFacet polyMoveFacetUV polyMoveUV polyMoveVertex polyNormal polyNormalPerVertex polyNormalizeUV polyOptUvs polyOptions polyOutput polyPipe polyPlanarProjection polyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjection polyPyramid polyQuad polyQueryBlindData polyReduce polySelect polySelectConstraint polySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate polySetToFaceNormal polySewEdge polyShortestPathCtx polySmooth polySoftEdge polySphere polySphericalProjection polySplit polySplitCtx polySplitEdge polySplitRing polySplitVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet polyToSubdiv polyTorus polyTransfer polyTriangulate polyUVSet polyUnite polyWedgeFace popen popupMenu pose pow preloadRefEd print progressBar progressWindow projFileViewer projectCurve projectTangent projectionContext projectionManip promptDialog propModCtx propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile putenv pwd python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp radioCollection radioMenuItemCollection rampColorPort rand randomizeFollicles randstate rangeControl readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference referenceEdit referenceQuery refineSubdivSelectionList refresh refreshAE registerPluginResource rehash reloadImage removeJoint removeMultiInstance removePanelCategory rename renameAttr renameSelectionList renameUI render renderGlobalsNode renderInfo renderLayerButton renderLayerParent renderLayerPostProcess renderLayerUnparent renderManip renderPartition renderQualityNode renderSettings renderThumbnailUpdate renderWindowEditor renderWindowSelectContext renderer reorder reorderDeformers requires reroot resampleFluid resetAE resetPfxToPolyCamera resetTool resolutionNode retarget reverseCurve reverseSurface revolve rgb_to_hsv rigidBody rigidSolver roll rollCtx rootOf rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout runTimeCommand runup sampleImage saveAllShelves saveAttrPreset saveFluid saveImage saveInitialState saveMenu savePrefObjects savePrefs saveShelf saveToolSettings scale scaleBrushBrightness scaleComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptJob scriptNode scriptTable scriptToShelf scriptedPanel scriptedPanelType scrollField scrollLayout sculpt searchPathArray seed selLoadSettings select selectContext selectCurveCV selectKey selectKeyCtx selectKeyframeRegionCtx selectMode selectPref selectPriority selectType selectedNodes selectionConnection separator setAttr setAttrEnumResource setAttrMapping setAttrNiceNameResource setConstraintRestPosition setDefaultShadingGroup setDrivenKeyframe setDynamic setEditCtx setEditor setFluidAttr setFocus setInfinity setInputDeviceMapping setKeyCtx setKeyPath setKeyframe setKeyframeBlendshapeTargetWts setMenuMode setNodeNiceNameResource setNodeTypeFlag setParent setParticleAttr setPfxToPolyCamera setPluginResource setProject setStampDensity setStartupMessage setState setToolTo setUITemplate setXformManip sets shadingConnection shadingGeometryRelCtx shadingLightRelCtx shadingNetworkCompare shadingNode shapeCompare shelfButton shelfLayout shelfTabLayout shellField shortNameOf showHelp showHidden showManipCtx showSelectionInTitle showShadingGroupAttrEditor showWindow sign simplify sin singleProfileBirailSurface size sizeBytes skinCluster skinPercent smoothCurve smoothTangentSurface smoothstep snap2to2 snapKey snapMode snapTogetherCtx snapshot soft softMod softModCtx sort sound soundControl source spaceLocator sphere sphrand spotLight spotLightPreviewPort spreadSheetEditor spring sqrt squareSurface srtContext stackTrace startString startsWith stitchAndExplodeShell stitchSurface stitchSurfacePoints strcmp stringArrayCatenate stringArrayContains stringArrayCount stringArrayInsertAtIndex stringArrayIntersector stringArrayRemove stringArrayRemoveAtIndex stringArrayRemoveDuplicates stringArrayRemoveExact stringArrayToString stringToStringArray strip stripPrefixFromName stroke subdAutoProjection subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV subdListComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror subdToBlind subdToPoly subdTransferUVsToCache subdiv subdivCrease subdivDisplaySmoothness substitute substituteAllString substituteGeometry substring surface surfaceSampler surfaceShaderList swatchDisplayPort switchTable symbolButton symbolCheckBox sysFile system tabLayout tan tangentConstraint texLatticeDeformContext texManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleContext texSelectContext texSelectShortestPathCtx texSmudgeUVContext texWinToolCtx text textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList textToShelf textureDisplacePlane textureHairColor texturePlacementContext textureWindow threadCount threePointArcCtx timeControl timePort timerX toNativePath toggle toggleAxis toggleWindowVisibility tokenize tokenizeList tolerance tolower toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus toupper trace track trackCtx transferAttributes transformCompare transformLimits translator trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbulence twoPointArcCtx uiRes uiTemplate unassignInputDevice undo undoInfo ungroup uniform unit unloadPlugin untangleUV untitledFileName untrim upAxis updateAE userCtx uvLink uvSnapshot validateShelfName vectorize view2dToolCtx viewCamera viewClipPlane viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor volumeAxis vortex waitCursor warning webBrowser webBrowserPrefs whatIs window windowPref wire wireContext workspace wrinkle wrinkleContext writeTake xbmLangPathList xform\",\ni:\"</\",c:[e.CNM,e.ASM,e.QSM,{cN:\"string\",b:\"`\",e:\"`\",c:[e.BE]},{b:\"[\\\\$\\\\%\\\\@](\\\\^\\\\w\\\\b|#\\\\w+|[^\\\\s\\\\w{]|{\\\\w+}|\\\\w+)\"},e.CLCM,e.CBCM]}}),e.registerLanguage(\"mercury\",function(e){var t={keyword:\"module use_module import_module include_module end_module initialise mutable initialize finalize finalise interface implementation pred mode func type inst solver any_pred any_func is semidet det nondet multi erroneous failure cc_nondet cc_multi typeclass instance where pragma promise external trace atomic or_else require_complete_switch require_det require_semidet require_multi require_nondet require_cc_multi require_cc_nondet require_erroneous require_failure\",meta:\"inline no_inline type_spec source_file fact_table obsolete memo loop_check minimal_model terminates does_not_terminate check_termination promise_equivalent_clauses foreign_proc foreign_decl foreign_code foreign_type foreign_import_module foreign_export_enum foreign_export foreign_enum may_call_mercury will_not_call_mercury thread_safe not_thread_safe maybe_thread_safe promise_pure promise_semipure tabled_for_io local untrailed trailed attach_to_io_state can_pass_as_mercury_type stable will_not_throw_exception may_modify_trail will_not_modify_trail may_duplicate may_not_duplicate affects_liveness does_not_affect_liveness doesnt_affect_liveness no_sharing unknown_sharing sharing\",built_in:\"some all not if then else true fail false try catch catch_any semidet_true semidet_false semidet_fail impure_true impure semipure\"},r=e.C(\"%\",\"$\"),a={cN:\"number\",b:\"0'.\\\\|0[box][0-9a-fA-F]*\"},i=e.inherit(e.ASM,{r:0}),n=e.inherit(e.QSM,{r:0}),o={cN:\"subst\",b:\"\\\\\\\\[abfnrtv]\\\\|\\\\\\\\x[0-9a-fA-F]*\\\\\\\\\\\\|%[-+# *.0-9]*[dioxXucsfeEgGp]\",r:0};n.c.push(o);var s={cN:\"built_in\",v:[{b:\"<=>\"},{b:\"<=\",r:0},{b:\"=>\",r:0},{b:\"/\\\\\\\\\"},{b:\"\\\\\\\\/\"}]},l={cN:\"built_in\",v:[{b:\":-\\\\|-->\"},{b:\"=\",r:0}]};return{aliases:[\"m\",\"moo\"],k:t,c:[s,l,r,e.CBCM,a,e.NM,i,n,{b:/:-/}]}}),e.registerLanguage(\"mipsasm\",function(e){return{cI:!0,aliases:[\"mips\"],l:\"\\\\.?\"+e.IR,k:{meta:\".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .ltorg \",built_in:\"$0 $1 $2 $3 $4 $5 $6 $7 $8 $9 $10 $11 $12 $13 $14 $15 $16 $17 $18 $19 $20 $21 $22 $23 $24 $25 $26 $27 $28 $29 $30 $31 zero at v0 v1 a0 a1 a2 a3 a4 a5 a6 a7 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 s0 s1 s2 s3 s4 s5 s6 s7 s8 k0 k1 gp sp fp ra $f0 $f1 $f2 $f2 $f4 $f5 $f6 $f7 $f8 $f9 $f10 $f11 $f12 $f13 $f14 $f15 $f16 $f17 $f18 $f19 $f20 $f21 $f22 $f23 $f24 $f25 $f26 $f27 $f28 $f29 $f30 $f31 Context Random EntryLo0 EntryLo1 Context PageMask Wired EntryHi HWREna BadVAddr Count Compare SR IntCtl SRSCtl SRSMap Cause EPC PRId EBase Config Config1 Config2 Config3 LLAddr Debug DEPC DESAVE CacheErr ECC ErrorEPC TagLo DataLo TagHi DataHi WatchLo WatchHi PerfCtl PerfCnt \"},c:[{cN:\"keyword\",b:\"\\\\b(addi?u?|andi?|b(al)?|beql?|bgez(al)?l?|bgtzl?|blezl?|bltz(al)?l?|bnel?|cl[oz]|divu?|ext|ins|j(al)?|jalr(.hb)?|jr(.hb)?|lbu?|lhu?|ll|lui|lw[lr]?|maddu?|mfhi|mflo|movn|movz|move|msubu?|mthi|mtlo|mul|multu?|nop|nor|ori?|rotrv?|sb|sc|se[bh]|sh|sllv?|slti?u?|srav?|srlv?|subu?|sw[lr]?|xori?|wsbh|abs.[sd]|add.[sd]|alnv.ps|bc1[ft]l?|c.(s?f|un|u?eq|[ou]lt|[ou]le|ngle?|seq|l[et]|ng[et]).[sd]|(ceil|floor|round|trunc).[lw].[sd]|cfc1|cvt.d.[lsw]|cvt.l.[dsw]|cvt.ps.s|cvt.s.[dlw]|cvt.s.p[lu]|cvt.w.[dls]|div.[ds]|ldx?c1|luxc1|lwx?c1|madd.[sd]|mfc1|mov[fntz]?.[ds]|msub.[sd]|mth?c1|mul.[ds]|neg.[ds]|nmadd.[ds]|nmsub.[ds]|p[lu][lu].ps|recip.fmt|r?sqrt.[ds]|sdx?c1|sub.[ds]|suxc1|swx?c1|break|cache|d?eret|[de]i|ehb|mfc0|mtc0|pause|prefx?|rdhwr|rdpgpr|sdbbp|ssnop|synci?|syscall|teqi?|tgei?u?|tlb(p|r|w[ir])|tlti?u?|tnei?|wait|wrpgpr)\",e:\"\\\\s\"},e.C(\"[;#]\",\"$\"),e.CBCM,e.QSM,{cN:\"string\",b:\"'\",e:\"[^\\\\\\\\]'\",r:0},{cN:\"title\",b:\"\\\\|\",e:\"\\\\|\",i:\"\\\\n\",r:0},{cN:\"number\",v:[{b:\"0x[0-9a-f]+\"},{b:\"\\\\b-?\\\\d+\"}],r:0},{cN:\"symbol\",v:[{b:\"^\\\\s*[a-z_\\\\.\\\\$][a-z0-9_\\\\.\\\\$]+:\"},{b:\"^\\\\s*[0-9]+:\"},{b:\"[0-9]+[bf]\"}],r:0}],i:\"/\"}}),e.registerLanguage(\"mizar\",function(e){return{k:\"environ vocabularies notations constructors definitions registrations theorems schemes requirements begin end definition registration cluster existence pred func defpred deffunc theorem proof let take assume then thus hence ex for st holds consider reconsider such that and in provided of as from be being by means equals implies iff redefine define now not or attr is mode suppose per cases set thesis contradiction scheme reserve struct correctness compatibility coherence symmetry assymetry reflexivity irreflexivity connectedness uniqueness commutativity idempotence involutiveness projectivity\",c:[e.C(\"::\",\"$\")]}}),e.registerLanguage(\"perl\",function(e){var t=\"getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when\",r={cN:\"subst\",b:\"[$@]\\\\{\",e:\"\\\\}\",k:t},a={b:\"->{\",e:\"}\"},i={v:[{b:/\\$\\d/},{b:/[\\$%@](\\^\\w\\b|#\\w+(::\\w+)*|{\\w+}|\\w+(::\\w*)*)/},{b:/[\\$%@][^\\s\\w{]/,r:0}]},n=[e.BE,r,i],o=[i,e.HCM,e.C(\"^\\\\=\\\\w\",\"\\\\=cut\",{eW:!0}),a,{cN:\"string\",c:n,v:[{b:\"q[qwxr]?\\\\s*\\\\(\",e:\"\\\\)\",r:5},{b:\"q[qwxr]?\\\\s*\\\\[\",e:\"\\\\]\",r:5},{b:\"q[qwxr]?\\\\s*\\\\{\",e:\"\\\\}\",r:5},{b:\"q[qwxr]?\\\\s*\\\\|\",e:\"\\\\|\",r:5},{b:\"q[qwxr]?\\\\s*\\\\<\",e:\"\\\\>\",r:5},{b:\"qw\\\\s+q\",e:\"q\",r:5},{b:\"'\",e:\"'\",c:[e.BE]},{b:'\"',e:'\"'},{b:\"`\",e:\"`\",c:[e.BE]},{b:\"{\\\\w+}\",c:[],r:0},{b:\"-?\\\\w+\\\\s*\\\\=\\\\>\",c:[],r:0}]},{cN:\"number\",b:\"(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b\",r:0},{b:\"(\\\\/\\\\/|\"+e.RSR+\"|\\\\b(split|return|print|reverse|grep)\\\\b)\\\\s*\",k:\"split return print reverse grep\",r:0,c:[e.HCM,{cN:\"regexp\",b:\"(s|tr|y)/(\\\\\\\\.|[^/])*/(\\\\\\\\.|[^/])*/[a-z]*\",r:10},{cN:\"regexp\",b:\"(m|qr)?/\",e:\"/[a-z]*\",c:[e.BE],r:0}]},{cN:\"function\",bK:\"sub\",e:\"(\\\\s*\\\\(.*?\\\\))?[;{]\",eE:!0,r:5,c:[e.TM]},{b:\"-\\\\w\\\\b\",r:0},{b:\"^__DATA__$\",e:\"^__END__$\",sL:\"mojolicious\",c:[{b:\"^@@.*\",e:\"$\",cN:\"comment\"}]}];return r.c=o,a.c=o,{aliases:[\"pl\",\"pm\"],l:/[\\w\\.]+/,k:t,c:o}}),e.registerLanguage(\"mojolicious\",function(e){return{sL:\"xml\",c:[{cN:\"meta\",b:\"^__(END|DATA)__$\"},{b:\"^\\\\s*%{1,2}={0,2}\",e:\"$\",sL:\"perl\"},{b:\"<%{1,2}={0,2}\",e:\"={0,1}%>\",sL:\"perl\",eB:!0,eE:!0}]}}),e.registerLanguage(\"monkey\",function(e){var t={cN:\"number\",r:0,v:[{b:\"[$][a-fA-F0-9]+\"},e.NM]};return{cI:!0,k:{keyword:\"public private property continue exit extern new try catch eachin not abstract final select case default const local global field end if then else elseif endif while wend repeat until forever for to step next return module inline throw import\",built_in:\"DebugLog DebugStop Error Print ACos ACosr ASin ASinr ATan ATan2 ATan2r ATanr Abs Abs Ceil Clamp Clamp Cos Cosr Exp Floor Log Max Max Min Min Pow Sgn Sgn Sin Sinr Sqrt Tan Tanr Seed PI HALFPI TWOPI\",literal:\"true false null and or shl shr mod\"},i:/\\/\\*/,c:[e.C(\"#rem\",\"#end\"),e.C(\"'\",\"$\",{r:0}),{cN:\"function\",bK:\"function method\",e:\"[(=:]|$\",i:/\\n/,c:[e.UTM]},{cN:\"class\",bK:\"class interface\",e:\"$\",c:[{bK:\"extends implements\"},e.UTM]},{cN:\"built_in\",b:\"\\\\b(self|super)\\\\b\"},{cN:\"meta\",b:\"\\\\s*#\",e:\"$\",k:{\"meta-keyword\":\"if else elseif endif end then\"}},{cN:\"meta\",b:\"^\\\\s*strict\\\\b\"},{bK:\"alias\",e:\"=\",c:[e.UTM]},e.QSM,t]}}),e.registerLanguage(\"moonscript\",function(e){var t={keyword:\"if then not for in while do return else elseif break continue switch and or unless when class extends super local import export from using\",literal:\"true false nil\",built_in:\"_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug io math os package string table\"},r=\"[A-Za-z$_][0-9A-Za-z$_]*\",a={cN:\"subst\",b:/#\\{/,e:/}/,k:t},i=[e.inherit(e.CNM,{starts:{e:\"(\\\\s*/)?\",r:0}}),{cN:\"string\",v:[{b:/'/,e:/'/,c:[e.BE]},{b:/\"/,e:/\"/,c:[e.BE,a]}]},{cN:\"built_in\",b:\"@__\"+e.IR},{b:\"@\"+e.IR},{b:e.IR+\"\\\\\\\\\"+e.IR}];a.c=i;var n=e.inherit(e.TM,{b:r}),o=\"(\\\\(.*\\\\))?\\\\s*\\\\B[-=]>\",s={cN:\"params\",b:\"\\\\([^\\\\(]\",rB:!0,c:[{b:/\\(/,e:/\\)/,k:t,c:[\"self\"].concat(i)}]};return{aliases:[\"moon\"],k:t,i:/\\/\\*/,c:i.concat([e.C(\"--\",\"$\"),{cN:\"function\",b:\"^\\\\s*\"+r+\"\\\\s*=\\\\s*\"+o,e:\"[-=]>\",rB:!0,c:[n,s]},{b:/[\\(,:=]\\s*/,r:0,c:[{cN:\"function\",b:o,e:\"[-=]>\",rB:!0,c:[s]}]},{cN:\"class\",bK:\"class\",e:\"$\",i:/[:=\"\\[\\]]/,c:[{bK:\"extends\",eW:!0,i:/[:=\"\\[\\]]/,c:[n]},n]},{cN:\"name\",b:r+\":\",e:\":\",rB:!0,rE:!0,r:0}])}}),e.registerLanguage(\"n1ql\",function(e){return{cI:!0,c:[{bK:\"build create index delete drop explain infer|10 insert merge prepare select update upsert|10\",e:/;/,eW:!0,k:{keyword:\"all alter analyze and any array as asc begin between binary boolean break bucket build by call case cast cluster collate collection commit connect continue correlate cover create database dataset datastore declare decrement delete derived desc describe distinct do drop each element else end every except exclude execute exists explain fetch first flatten for force from function grant group gsi having if ignore ilike in include increment index infer inline inner insert intersect into is join key keys keyspace known last left let letting like limit lsm map mapping matched materialized merge minus namespace nest not number object offset on option or order outer over parse partition password path pool prepare primary private privilege procedure public raw realm reduce rename return returning revoke right role rollback satisfies schema select self semi set show some start statistics string system then to transaction trigger truncate under union unique unknown unnest unset update upsert use user using validate value valued values via view when where while with within work xor\",literal:\"true false null missing|5\",built_in:\"array_agg array_append array_concat array_contains array_count array_distinct array_ifnull array_length array_max array_min array_position array_prepend array_put array_range array_remove array_repeat array_replace array_reverse array_sort array_sum avg count max min sum greatest least ifmissing ifmissingornull ifnull missingif nullif ifinf ifnan ifnanorinf naninf neginfif posinfif clock_millis clock_str date_add_millis date_add_str date_diff_millis date_diff_str date_part_millis date_part_str date_trunc_millis date_trunc_str duration_to_str millis str_to_millis millis_to_str millis_to_utc millis_to_zone_name now_millis now_str str_to_duration str_to_utc str_to_zone_name decode_json encode_json encoded_size poly_length base64 base64_encode base64_decode meta uuid abs acos asin atan atan2 ceil cos degrees e exp ln log floor pi power radians random round sign sin sqrt tan trunc object_length object_names object_pairs object_inner_pairs object_values object_inner_values object_add object_put object_remove object_unwrap regexp_contains regexp_like regexp_position regexp_replace contains initcap length lower ltrim position repeat replace rtrim split substr title trim upper isarray isatom isboolean isnumber isobject isstring type toarray toatom toboolean tonumber toobject tostring\"},c:[{cN:\"string\",b:\"'\",e:\"'\",c:[e.BE],r:0},{cN:\"string\",b:'\"',e:'\"',c:[e.BE],r:0},{cN:\"symbol\",b:\"`\",e:\"`\",c:[e.BE],r:2},e.CNM,e.CBCM]},e.CBCM]}}),e.registerLanguage(\"nginx\",function(e){var t={cN:\"variable\",v:[{b:/\\$\\d+/},{b:/\\$\\{/,e:/}/},{b:\"[\\\\$\\\\@]\"+e.UIR}]},r={eW:!0,l:\"[a-z/_]+\",k:{literal:\"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll\"},r:0,i:\"=>\",c:[e.HCM,{cN:\"string\",c:[e.BE,t],v:[{b:/\"/,e:/\"/},{b:/'/,e:/'/}]},{b:\"([a-z]+):/\",e:\"\\\\s\",eW:!0,eE:!0,c:[t]},{cN:\"regexp\",c:[e.BE,t],v:[{b:\"\\\\s\\\\^\",e:\"\\\\s|{|;\",rE:!0},{b:\"~\\\\*?\\\\s+\",e:\"\\\\s|{|;\",rE:!0},{b:\"\\\\*(\\\\.[a-z\\\\-]+)+\"},{b:\"([a-z\\\\-]+\\\\.)+\\\\*\"}]},{cN:\"number\",b:\"\\\\b\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}\\\\.\\\\d{1,3}(:\\\\d{1,5})?\\\\b\"},{cN:\"number\",b:\"\\\\b\\\\d+[kKmMgGdshdwy]*\\\\b\",r:0},t]};return{aliases:[\"nginxconf\"],c:[e.HCM,{b:e.UIR+\"\\\\s+{\",rB:!0,e:\"{\",c:[{cN:\"section\",b:e.UIR}],r:0},{b:e.UIR+\"\\\\s\",e:\";|{\",rB:!0,c:[{cN:\"attribute\",b:e.UIR,starts:r}],r:0}],i:\"[^\\\\s\\\\}]\"}}),e.registerLanguage(\"nimrod\",function(e){return{aliases:[\"nim\"],k:{keyword:\"addr and as asm bind block break case cast const continue converter discard distinct div do elif else end enum except export finally for from generic if import in include interface is isnot iterator let macro method mixin mod nil not notin object of or out proc ptr raise ref return shl shr static template try tuple type using var when while with without xor yield\",literal:\"shared guarded stdin stdout stderr result true false\",built_in:\"int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float float32 float64 bool char string cstring pointer expr stmt void auto any range array openarray varargs seq set clong culong cchar cschar cshort cint csize clonglong cfloat cdouble clongdouble cuchar cushort cuint culonglong cstringarray semistatic\"},c:[{cN:\"meta\",b:/{\\./,e:/\\.}/,r:10},{cN:\"string\",b:/[a-zA-Z]\\w*\"/,e:/\"/,c:[{b:/\"\"/}]},{cN:\"string\",b:/([a-zA-Z]\\w*)?\"\"\"/,e:/\"\"\"/},e.QSM,{cN:\"type\",b:/\\b[A-Z]\\w+\\b/,r:0},{cN:\"number\",r:0,v:[{b:/\\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/},{b:/\\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/},{b:/\\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/},{b:/\\b(\\d[_\\d]*)('?[iIuUfF](8|16|32|64))?/}]},e.HCM]}}),e.registerLanguage(\"nix\",function(e){var t={keyword:\"rec with let in inherit assert if else then\",literal:\"true false or and null\",built_in:\"import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation\"},r={cN:\"subst\",b:/\\$\\{/,e:/}/,k:t},a={b:/[a-zA-Z0-9-_]+(\\s*=)/,rB:!0,r:0,c:[{cN:\"attr\",b:/\\S+/}]},i={cN:\"string\",c:[r],v:[{b:\"''\",e:\"''\"},{b:'\"',e:'\"'}]},n=[e.NM,e.HCM,e.CBCM,i,a];return r.c=n,{aliases:[\"nixos\"],k:t,c:n}}),e.registerLanguage(\"nsis\",function(e){var t={cN:\"variable\",b:/\\$(ADMINTOOLS|APPDATA|CDBURN_AREA|CMDLINE|COMMONFILES32|COMMONFILES64|COMMONFILES|COOKIES|DESKTOP|DOCUMENTS|EXEDIR|EXEFILE|EXEPATH|FAVORITES|FONTS|HISTORY|HWNDPARENT|INSTDIR|INTERNET_CACHE|LANGUAGE|LOCALAPPDATA|MUSIC|NETHOOD|OUTDIR|PICTURES|PLUGINSDIR|PRINTHOOD|PROFILE|PROGRAMFILES32|PROGRAMFILES64|PROGRAMFILES|QUICKLAUNCH|RECENT|RESOURCES_LOCALIZED|RESOURCES|SENDTO|SMPROGRAMS|SMSTARTUP|STARTMENU|SYSDIR|TEMP|TEMPLATES|VIDEOS|WINDIR)/},r={cN:\"variable\",b:/\\$+{[\\w\\.:-]+}/},a={cN:\"variable\",b:/\\$+\\w+/,i:/\\(\\){}/},i={cN:\"variable\",b:/\\$+\\([\\w\\^\\.:-]+\\)/},n={cN:\"params\",b:\"(ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HKCR|HKCU|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM|HKPD|HKU|IDABORT|IDCANCEL|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)\"},o={cN:\"keyword\",b:/\\!(addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversionsystem|ifdef|ifmacrodef|ifmacrondef|ifndef|if|include|insertmacro|macroend|macro|makensis|packhdr|searchparse|searchreplace|tempfile|undef|verbose|warning)/},s={cN:\"subst\",b:/\\$(\\\\[nrt]|\\$)/},l={cN:\"class\",b:/\\w+\\:\\:\\w+/},c={cN:\"string\",v:[{b:'\"',e:'\"'},{b:\"'\",e:\"'\"},{b:\"`\",e:\"`\"}],i:/\\n/,c:[s,t,r,a,i]};return{cI:!1,k:{keyword:\"Abort AddBrandingImage AddSize AllowRootDirInstall AllowSkipFiles AutoCloseWindow BGFont BGGradient BrandingText BringToFront Call CallInstDLL Caption ChangeUI CheckBitmap ClearErrors CompletedText ComponentText CopyFiles CRCCheck CreateDirectory CreateFont CreateShortCut Delete DeleteINISec DeleteINIStr DeleteRegKey DeleteRegValue DetailPrint DetailsButtonText DirText DirVar DirVerify EnableWindow EnumRegKey EnumRegValue Exch Exec ExecShell ExecWait ExpandEnvStrings File FileBufSize FileClose FileErrorText FileOpen FileRead FileReadByte FileReadUTF16LE FileReadWord FileSeek FileWrite FileWriteByte FileWriteUTF16LE FileWriteWord FindClose FindFirst FindNext FindWindow FlushINI FunctionEnd GetCurInstType GetCurrentAddress GetDlgItem GetDLLVersion GetDLLVersionLocal GetErrorLevel GetFileTime GetFileTimeLocal GetFullPathName GetFunctionAddress GetInstDirError GetLabelAddress GetTempFileName Goto HideWindow Icon IfAbort IfErrors IfFileExists IfRebootFlag IfSilent InitPluginsDir InstallButtonText InstallColors InstallDir InstallDirRegKey InstProgressFlags InstType InstTypeGetText InstTypeSetText IntCmp IntCmpU IntFmt IntOp IsWindow LangString LicenseBkColor LicenseData LicenseForceSelection LicenseLangString LicenseText LoadLanguageFile LockWindow LogSet LogText ManifestDPIAware ManifestSupportedOS MessageBox MiscButtonText Name Nop OutFile Page PageCallbacks PageExEnd Pop Push Quit ReadEnvStr ReadINIStr ReadRegDWORD ReadRegStr Reboot RegDLL Rename RequestExecutionLevel ReserveFile Return RMDir SearchPath SectionEnd SectionGetFlags SectionGetInstTypes SectionGetSize SectionGetText SectionGroupEnd SectionIn SectionSetFlags SectionSetInstTypes SectionSetSize SectionSetText SendMessage SetAutoClose SetBrandingImage SetCompress SetCompressor SetCompressorDictSize SetCtlColors SetCurInstType SetDatablockOptimize SetDateSave SetDetailsPrint SetDetailsView SetErrorLevel SetErrors SetFileAttributes SetFont SetOutPath SetOverwrite SetRebootFlag SetRegView SetShellVarContext SetSilent ShowInstDetails ShowUninstDetails ShowWindow SilentInstall SilentUnInstall Sleep SpaceTexts StrCmp StrCmpS StrCpy StrLen SubCaption Unicode UninstallButtonText UninstallCaption UninstallIcon UninstallSubCaption UninstallText UninstPage UnRegDLL Var VIAddVersionKey VIFileVersion VIProductVersion WindowIcon WriteINIStr WriteRegBin WriteRegDWORD WriteRegExpandStr WriteRegStr WriteUninstaller XPStyle\",literal:\"admin all auto both bottom bzip2 colored components current custom directory false force hide highest ifdiff ifnewer instfiles lastused leave left license listonly lzma nevershow none normal notset off on open print right show silent silentlog smooth textonly top true try un.components un.custom un.directory un.instfiles un.license uninstConfirm user Win10 Win7 Win8 WinVista zlib\"},c:[e.HCM,e.CBCM,e.C(\";\",\"$\",{r:0}),{cN:\"function\",bK:\"Function PageEx Section SectionGroup\",e:\"$\"},c,o,r,a,i,n,l,e.NM]}}),e.registerLanguage(\"objectivec\",function(e){var t={cN:\"built_in\",b:\"\\\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\\\w+\"},r={keyword:\"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN\",literal:\"false true FALSE TRUE nil YES NO NULL\",built_in:\"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once\"},a=/[a-zA-Z@][a-zA-Z0-9_]*/,i=\"@interface @class @protocol @implementation\";return{aliases:[\"mm\",\"objc\",\"obj-c\"],k:r,l:a,i:\"</\",c:[t,e.CLCM,e.CBCM,e.CNM,e.QSM,{cN:\"string\",v:[{b:'@\"',e:'\"',i:\"\\\\n\",c:[e.BE]},{b:\"'\",e:\"[^\\\\\\\\]'\",i:\"[^\\\\\\\\][^']\"}]},{cN:\"meta\",b:\"#\",e:\"$\",c:[{cN:\"meta-string\",v:[{b:'\"',e:'\"'},{b:\"<\",e:\">\"}]}]},{cN:\"class\",b:\"(\"+i.split(\" \").join(\"|\")+\")\\\\b\",e:\"({|$)\",eE:!0,k:i,l:a,c:[e.UTM]},{b:\"\\\\.\"+e.UIR,r:0}]}}),e.registerLanguage(\"ocaml\",function(e){return{aliases:[\"ml\"],k:{keyword:\"and as assert asr begin class constraint do done downto else end exception external for fun function functor if in include inherit! inherit initializer land lazy let lor lsl lsr lxor match method!|10 method mod module mutable new object of open! open or private rec sig struct then to try type val! val virtual when while with parser value\",built_in:\"array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 string unit in_channel out_channel ref\",literal:\"true false\"},i:/\\/\\/|>>/,l:\"[a-z_]\\\\w*!?\",c:[{cN:\"literal\",b:\"\\\\[(\\\\|\\\\|)?\\\\]|\\\\(\\\\)\",r:0},e.C(\"\\\\(\\\\*\",\"\\\\*\\\\)\",{c:[\"self\"]}),{cN:\"symbol\",b:\"'[A-Za-z_](?!')[\\\\w']*\"},{cN:\"type\",b:\"`[A-Z][\\\\w']*\"},{cN:\"type\",b:\"\\\\b[A-Z][\\\\w']*\",r:0},{b:\"[a-z_]\\\\w*'[\\\\w']*\",r:0},e.inherit(e.ASM,{cN:\"string\",r:0}),e.inherit(e.QSM,{i:null}),{cN:\"number\",b:\"\\\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)\",r:0},{b:/[-=]>/}]}}),e.registerLanguage(\"openscad\",function(e){var t={cN:\"keyword\",b:\"\\\\$(f[asn]|t|vp[rtd]|children)\"},r={cN:\"literal\",b:\"false|true|PI|undef\"},a={cN:\"number\",b:\"\\\\b\\\\d+(\\\\.\\\\d+)?(e-?\\\\d+)?\",r:0},i=e.inherit(e.QSM,{i:null}),n={cN:\"meta\",k:{\"meta-keyword\":\"include use\"},b:\"include|use <\",e:\">\"},o={cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",c:[\"self\",a,i,t,r]},s={b:\"[*!#%]\",r:0},l={cN:\"function\",bK:\"module function\",e:\"\\\\=|\\\\{\",c:[o,e.UTM]};return{aliases:[\"scad\"],k:{keyword:\"function module include use for intersection_for if else \\\\%\",literal:\"false true PI undef\",built_in:\"circle square polygon text sphere cube cylinder polyhedron translate rotate scale resize mirror multmatrix color offset hull minkowski union difference intersection abs sign sin cos tan acos asin atan atan2 floor round ceil ln log pow sqrt exp rands min max concat lookup str chr search version version_num norm cross parent_module echo import import_dxf dxf_linear_extrude linear_extrude rotate_extrude surface projection render children dxf_cross dxf_dim let assign\"},c:[e.CLCM,e.CBCM,a,n,i,t,s,l]}}),e.registerLanguage(\"oxygene\",function(e){var t=\"abstract add and array as asc aspect assembly async begin break block by case class concat const copy constructor continue create default delegate desc distinct div do downto dynamic each else empty end ensure enum equals event except exit extension external false final finalize finalizer finally flags for forward from function future global group has if implementation implements implies in index inherited inline interface into invariants is iterator join locked locking loop matching method mod module namespace nested new nil not notify nullable of old on operator or order out override parallel params partial pinned private procedure property protected public queryable raise read readonly record reintroduce remove repeat require result reverse sealed select self sequence set shl shr skip static step soft take then to true try tuple type union unit unsafe until uses using var virtual raises volatile where while with write xor yield await mapped deprecated stdcall cdecl pascal register safecall overload library platform reference packed strict published autoreleasepool selector strong weak unretained\",r=e.C(\"{\",\"}\",{r:0}),a=e.C(\"\\\\(\\\\*\",\"\\\\*\\\\)\",{r:10}),i={cN:\"string\",b:\"'\",e:\"'\",c:[{b:\"''\"}]},n={cN:\"string\",b:\"(#\\\\d+)+\"},o={cN:\"function\",bK:\"function constructor destructor procedure method\",e:\"[:;]\",k:\"function constructor|10 destructor|10 procedure|10 method|10\",c:[e.TM,{cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",k:t,c:[i,n]},r,a]};return{cI:!0,l:/\\.?\\w+/,k:t,i:'(\"|\\\\$[G-Zg-z]|\\\\/\\\\*|</|=>|->)',c:[r,a,e.CLCM,i,n,e.NM,o,{cN:\"class\",b:\"=\\\\bclass\\\\b\",e:\"end;\",k:t,c:[i,n,r,a,e.CLCM,o]}]}}),e.registerLanguage(\"parser3\",function(e){var t=e.C(\"{\",\"}\",{c:[\"self\"]});return{sL:\"xml\",r:0,c:[e.C(\"^#\",\"$\"),e.C(\"\\\\^rem{\",\"}\",{r:10,c:[t]}),{cN:\"meta\",b:\"^@(?:BASE|USE|CLASS|OPTIONS)$\",r:10},{cN:\"title\",b:\"@[\\\\w\\\\-]+\\\\[[\\\\w^;\\\\-]*\\\\](?:\\\\[[\\\\w^;\\\\-]*\\\\])?(?:.*)$\"},{cN:\"variable\",b:\"\\\\$\\\\{?[\\\\w\\\\-\\\\.\\\\:]+\\\\}?\"},{cN:\"keyword\",b:\"\\\\^[\\\\w\\\\-\\\\.\\\\:]+\"},{cN:\"number\",b:\"\\\\^#[0-9a-fA-F]+\"},e.CNM]}}),e.registerLanguage(\"pf\",function(e){var t={cN:\"variable\",b:/\\$[\\w\\d#@][\\w\\d_]*/},r={cN:\"variable\",b:/<(?!\\/)/,e:/>/};return{aliases:[\"pf.conf\"],l:/[a-z0-9_<>-]+/,k:{built_in:\"block match pass load anchor|5 antispoof|10 set table\",keyword:\"in out log quick on rdomain inet inet6 proto from port os to routeallow-opts divert-packet divert-reply divert-to flags group icmp-typeicmp6-type label once probability recieved-on rtable prio queuetos tag tagged user keep fragment for os dropaf-to|10 binat-to|10 nat-to|10 rdr-to|10 bitmask least-stats random round-robinsource-hash static-portdup-to reply-to route-toparent bandwidth default min max qlimitblock-policy debug fingerprints hostid limit loginterface optimizationreassemble ruleset-optimization basic none profile skip state-defaultsstate-policy timeoutconst counters persistno modulate synproxy state|5 floating if-bound no-sync pflow|10 sloppysource-track global rule max-src-nodes max-src-states max-src-connmax-src-conn-rate overload flushscrub|5 max-mss min-ttl no-df|10 random-id\",literal:\"all any no-route self urpf-failed egress|5 unknown\"},c:[e.HCM,e.NM,e.QSM,t,r]}}),e.registerLanguage(\"php\",function(e){var t={b:\"\\\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*\"},r={cN:\"meta\",b:/<\\?(php)?|\\?>/},a={cN:\"string\",c:[e.BE,r],v:[{b:'b\"',e:'\"'},{b:\"b'\",e:\"'\"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},i={v:[e.BNM,e.CNM]};return{aliases:[\"php3\",\"php4\",\"php5\",\"php6\"],cI:!0,k:\"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally\",c:[e.HCM,e.C(\"//\",\"$\",{c:[r]}),e.C(\"/\\\\*\",\"\\\\*/\",{c:[{cN:\"doctag\",b:\"@[A-Za-z]+\"}]}),e.C(\"__halt_compiler.+?;\",!1,{eW:!0,k:\"__halt_compiler\",l:e.UIR}),{cN:\"string\",b:/<<<['\"]?\\w+['\"]?$/,e:/^\\w+;?$/,c:[e.BE,{cN:\"subst\",v:[{b:/\\$\\w+/},{b:/\\{\\$/,e:/\\}/}]}]},r,{cN:\"keyword\",b:/\\$this\\b/},t,{b:/(::|->)+[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/},{cN:\"function\",bK:\"function\",e:/[;{]/,eE:!0,i:\"\\\\$|\\\\[|%\",c:[e.UTM,{cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",c:[\"self\",t,e.CBCM,a,i]}]},{cN:\"class\",bK:\"class interface\",e:\"{\",eE:!0,i:/[:\\(\\$\"]/,c:[{bK:\"extends implements\"},e.UTM]},{bK:\"namespace\",e:\";\",i:/[\\.']/,c:[e.UTM]},{bK:\"use\",e:\";\",c:[e.UTM]},{b:\"=>\"},a,i]}}),e.registerLanguage(\"pony\",function(e){var t={keyword:\"actor addressof and as be break class compile_error compile_intrinsicconsume continue delegate digestof do else elseif embed end errorfor fun if ifdef in interface is isnt lambda let match new not objector primitive recover repeat return struct then trait try type until use var where while with xor\",meta:\"iso val tag trn box ref\",literal:\"this false true\"},r={cN:\"string\",b:'\"\"\"',e:'\"\"\"',r:10},a={cN:\"string\",b:'\"',e:'\"',c:[e.BE]},i={cN:\"string\",b:\"'\",e:\"'\",c:[e.BE],r:0},n={cN:\"type\",b:\"\\\\b_?[A-Z][\\\\w]*\",r:0},o={b:e.IR+\"'\",r:0},s={cN:\"class\",bK:\"class actor\",e:\"$\",c:[e.TM,e.CLCM]},l={cN:\"function\",bK:\"new fun\",e:\"=>\",c:[e.TM,{b:/\\(/,e:/\\)/,c:[n,o,e.CNM,e.CBCM]},{b:/:/,eW:!0,c:[n]},e.CLCM]};return{k:t,c:[s,l,n,r,a,i,o,e.CNM,e.CLCM,e.CBCM]}}),e.registerLanguage(\"powershell\",function(e){var t={b:\"`[\\\\s\\\\S]\",r:0},r={cN:\"variable\",v:[{b:/\\$[\\w\\d][\\w\\d_:]*/}]},a={cN:\"literal\",b:/\\$(null|true|false)\\b/},i={cN:\"string\",v:[{b:/\"/,e:/\"/},{b:/@\"/,e:/^\"@/}],c:[t,r,{cN:\"variable\",b:/\\$[A-z]/,e:/[^A-z]/}]},n={cN:\"string\",v:[{b:/'/,e:/'/},{b:/@'/,e:/^'@/}]},o={cN:\"doctag\",v:[{b:/\\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/},{b:/\\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\\s+\\S+/}]},s=e.inherit(e.C(null,null),{v:[{b:/#/,e:/$/},{b:/<#/,e:/#>/}],c:[o]});return{aliases:[\"ps\"],l:/-?[A-z\\.\\-]+/,cI:!0,k:{keyword:\"if else foreach return function do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch\",built_in:\"Add-Computer Add-Content Add-History Add-JobTrigger Add-Member Add-PSSnapin Add-Type Checkpoint-Computer Clear-Content Clear-EventLog Clear-History Clear-Host Clear-Item Clear-ItemProperty Clear-Variable Compare-Object Complete-Transaction Connect-PSSession Connect-WSMan Convert-Path ConvertFrom-Csv ConvertFrom-Json ConvertFrom-SecureString ConvertFrom-StringData ConvertTo-Csv ConvertTo-Html ConvertTo-Json ConvertTo-SecureString ConvertTo-Xml Copy-Item Copy-ItemProperty Debug-Process Disable-ComputerRestore Disable-JobTrigger Disable-PSBreakpoint Disable-PSRemoting Disable-PSSessionConfiguration Disable-WSManCredSSP Disconnect-PSSession Disconnect-WSMan Disable-ScheduledJob Enable-ComputerRestore Enable-JobTrigger Enable-PSBreakpoint Enable-PSRemoting Enable-PSSessionConfiguration Enable-ScheduledJob Enable-WSManCredSSP Enter-PSSession Exit-PSSession Export-Alias Export-Clixml Export-Console Export-Counter Export-Csv Export-FormatData Export-ModuleMember Export-PSSession ForEach-Object Format-Custom Format-List Format-Table Format-Wide Get-Acl Get-Alias Get-AuthenticodeSignature Get-ChildItem Get-Command Get-ComputerRestorePoint Get-Content Get-ControlPanelItem Get-Counter Get-Credential Get-Culture Get-Date Get-Event Get-EventLog Get-EventSubscriber Get-ExecutionPolicy Get-FormatData Get-Host Get-HotFix Get-Help Get-History Get-IseSnippet Get-Item Get-ItemProperty Get-Job Get-JobTrigger Get-Location Get-Member Get-Module Get-PfxCertificate Get-Process Get-PSBreakpoint Get-PSCallStack Get-PSDrive Get-PSProvider Get-PSSession Get-PSSessionConfiguration Get-PSSnapin Get-Random Get-ScheduledJob Get-ScheduledJobOption Get-Service Get-TraceSource Get-Transaction Get-TypeData Get-UICulture Get-Unique Get-Variable Get-Verb Get-WinEvent Get-WmiObject Get-WSManCredSSP Get-WSManInstance Group-Object Import-Alias Import-Clixml Import-Counter Import-Csv Import-IseSnippet Import-LocalizedData Import-PSSession Import-Module Invoke-AsWorkflow Invoke-Command Invoke-Expression Invoke-History Invoke-Item Invoke-RestMethod Invoke-WebRequest Invoke-WmiMethod Invoke-WSManAction Join-Path Limit-EventLog Measure-Command Measure-Object Move-Item Move-ItemProperty New-Alias New-Event New-EventLog New-IseSnippet New-Item New-ItemProperty New-JobTrigger New-Object New-Module New-ModuleManifest New-PSDrive New-PSSession New-PSSessionConfigurationFile New-PSSessionOption New-PSTransportOption New-PSWorkflowExecutionOption New-PSWorkflowSession New-ScheduledJobOption New-Service New-TimeSpan New-Variable New-WebServiceProxy New-WinEvent New-WSManInstance New-WSManSessionOption Out-Default Out-File Out-GridView Out-Host Out-Null Out-Printer Out-String Pop-Location Push-Location Read-Host Receive-Job Register-EngineEvent Register-ObjectEvent Register-PSSessionConfiguration Register-ScheduledJob Register-WmiEvent Remove-Computer Remove-Event Remove-EventLog Remove-Item Remove-ItemProperty Remove-Job Remove-JobTrigger Remove-Module Remove-PSBreakpoint Remove-PSDrive Remove-PSSession Remove-PSSnapin Remove-TypeData Remove-Variable Remove-WmiObject Remove-WSManInstance Rename-Computer Rename-Item Rename-ItemProperty Reset-ComputerMachinePassword Resolve-Path Restart-Computer Restart-Service Restore-Computer Resume-Job Resume-Service Save-Help Select-Object Select-String Select-Xml Send-MailMessage Set-Acl Set-Alias Set-AuthenticodeSignature Set-Content Set-Date Set-ExecutionPolicy Set-Item Set-ItemProperty Set-JobTrigger Set-Location Set-PSBreakpoint Set-PSDebug Set-PSSessionConfiguration Set-ScheduledJob Set-ScheduledJobOption Set-Service Set-StrictMode Set-TraceSource Set-Variable Set-WmiInstance Set-WSManInstance Set-WSManQuickConfig Show-Command Show-ControlPanelItem Show-EventLog Sort-Object Split-Path Start-Job Start-Process Start-Service Start-Sleep Start-Transaction Start-Transcript Stop-Computer Stop-Job Stop-Process Stop-Service Stop-Transcript Suspend-Job Suspend-Service Tee-Object Test-ComputerSecureChannel Test-Connection Test-ModuleManifest Test-Path Test-PSSessionConfigurationFile Trace-Command Unblock-File Undo-Transaction Unregister-Event Unregister-PSSessionConfiguration Unregister-ScheduledJob Update-FormatData Update-Help Update-List Update-TypeData Use-Transaction Wait-Event Wait-Job Wait-Process Where-Object Write-Debug Write-Error Write-EventLog Write-Host Write-Output Write-Progress Write-Verbose Write-Warning Add-MDTPersistentDrive Disable-MDTMonitorService Enable-MDTMonitorService Get-MDTDeploymentShareStatistics Get-MDTMonitorData Get-MDTOperatingSystemCatalog Get-MDTPersistentDrive Import-MDTApplication Import-MDTDriver Import-MDTOperatingSystem Import-MDTPackage Import-MDTTaskSequence New-MDTDatabase Remove-MDTMonitorData Remove-MDTPersistentDrive Restore-MDTPersistentDrive Set-MDTMonitorData Test-MDTDeploymentShare Test-MDTMonitorData Update-MDTDatabaseSchema Update-MDTDeploymentShare Update-MDTLinkedDS Update-MDTMedia Update-MDTMedia Add-VamtProductKey Export-VamtData Find-VamtManagedMachine Get-VamtConfirmationId Get-VamtProduct Get-VamtProductKey Import-VamtData Initialize-VamtData Install-VamtConfirmationId Install-VamtProductActivation Install-VamtProductKey Update-VamtProduct\",\nnomarkup:\"-ne -eq -lt -gt -ge -le -not -like -notlike -match -notmatch -contains -notcontains -in -notin -replace\"},c:[t,e.NM,i,n,a,r,s]}}),e.registerLanguage(\"processing\",function(e){return{k:{keyword:\"BufferedReader PVector PFont PImage PGraphics HashMap boolean byte char color double float int long String Array FloatDict FloatList IntDict IntList JSONArray JSONObject Object StringDict StringList Table TableRow XML false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private\",literal:\"P2D P3D HALF_PI PI QUARTER_PI TAU TWO_PI\",title:\"setup draw\",built_in:\"displayHeight displayWidth mouseY mouseX mousePressed pmouseX pmouseY key keyCode pixels focused frameCount frameRate height width size createGraphics beginDraw createShape loadShape PShape arc ellipse line point quad rect triangle bezier bezierDetail bezierPoint bezierTangent curve curveDetail curvePoint curveTangent curveTightness shape shapeMode beginContour beginShape bezierVertex curveVertex endContour endShape quadraticVertex vertex ellipseMode noSmooth rectMode smooth strokeCap strokeJoin strokeWeight mouseClicked mouseDragged mouseMoved mousePressed mouseReleased mouseWheel keyPressed keyPressedkeyReleased keyTyped print println save saveFrame day hour millis minute month second year background clear colorMode fill noFill noStroke stroke alpha blue brightness color green hue lerpColor red saturation modelX modelY modelZ screenX screenY screenZ ambient emissive shininess specular add createImage beginCamera camera endCamera frustum ortho perspective printCamera printProjection cursor frameRate noCursor exit loop noLoop popStyle pushStyle redraw binary boolean byte char float hex int str unbinary unhex join match matchAll nf nfc nfp nfs split splitTokens trim append arrayCopy concat expand reverse shorten sort splice subset box sphere sphereDetail createInput createReader loadBytes loadJSONArray loadJSONObject loadStrings loadTable loadXML open parseXML saveTable selectFolder selectInput beginRaw beginRecord createOutput createWriter endRaw endRecord PrintWritersaveBytes saveJSONArray saveJSONObject saveStream saveStrings saveXML selectOutput popMatrix printMatrix pushMatrix resetMatrix rotate rotateX rotateY rotateZ scale shearX shearY translate ambientLight directionalLight lightFalloff lights lightSpecular noLights normal pointLight spotLight image imageMode loadImage noTint requestImage tint texture textureMode textureWrap blend copy filter get loadPixels set updatePixels blendMode loadShader PShaderresetShader shader createFont loadFont text textFont textAlign textLeading textMode textSize textWidth textAscent textDescent abs ceil constrain dist exp floor lerp log mag map max min norm pow round sq sqrt acos asin atan atan2 cos degrees radians sin tan noise noiseDetail noiseSeed random randomGaussian randomSeed\"},c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.CNM]}}),e.registerLanguage(\"profile\",function(e){return{c:[e.CNM,{b:\"[a-zA-Z_][\\\\da-zA-Z_]+\\\\.[\\\\da-zA-Z_]{1,3}\",e:\":\",eE:!0},{b:\"(ncalls|tottime|cumtime)\",e:\"$\",k:\"ncalls tottime|10 cumtime|10 filename\",r:10},{b:\"function calls\",e:\"$\",c:[e.CNM],r:10},e.ASM,e.QSM,{cN:\"string\",b:\"\\\\(\",e:\"\\\\)$\",eB:!0,eE:!0,r:0}]}}),e.registerLanguage(\"prolog\",function(e){var t={b:/[a-z][A-Za-z0-9_]*/,r:0},r={cN:\"symbol\",v:[{b:/[A-Z][a-zA-Z0-9_]*/},{b:/_[A-Za-z0-9_]*/}],r:0},a={b:/\\(/,e:/\\)/,r:0},i={b:/\\[/,e:/\\]/},n={cN:\"comment\",b:/%/,e:/$/,c:[e.PWM]},o={cN:\"string\",b:/`/,e:/`/,c:[e.BE]},s={cN:\"string\",b:/0\\'(\\\\\\'|.)/},l={cN:\"string\",b:/0\\'\\\\s/},c={b:/:-/},d=[t,r,a,c,i,n,e.CBCM,e.QSM,e.ASM,o,s,l,e.CNM];return a.c=d,i.c=d,{c:d.concat([{b:/\\.$/}])}}),e.registerLanguage(\"protobuf\",function(e){return{k:{keyword:\"package import option optional required repeated group\",built_in:\"double float int32 int64 uint32 uint64 sint32 sint64 fixed32 fixed64 sfixed32 sfixed64 bool string bytes\",literal:\"true false\"},c:[e.QSM,e.NM,e.CLCM,{cN:\"class\",bK:\"message enum service\",e:/\\{/,i:/\\n/,c:[e.inherit(e.TM,{starts:{eW:!0,eE:!0}})]},{cN:\"function\",bK:\"rpc\",e:/;/,eE:!0,k:\"rpc returns\"},{b:/^\\s*[A-Z_]+/,e:/\\s*=/,eE:!0}]}}),e.registerLanguage(\"puppet\",function(e){var t={keyword:\"and case default else elsif false if in import enherits node or true undef unless main settings $string \",literal:\"alias audit before loglevel noop require subscribe tag owner ensure group mode name|0 changes context force incl lens load_path onlyif provider returns root show_diff type_check en_address ip_address realname command environment hour monute month monthday special target weekday creates cwd ogoutput refresh refreshonly tries try_sleep umask backup checksum content ctime force ignore links mtime purge recurse recurselimit replace selinux_ignore_defaults selrange selrole seltype seluser source souirce_permissions sourceselect validate_cmd validate_replacement allowdupe attribute_membership auth_membership forcelocal gid ia_load_module members system host_aliases ip allowed_trunk_vlans description device_url duplex encapsulation etherchannel native_vlan speed principals allow_root auth_class auth_type authenticate_user k_of_n mechanisms rule session_owner shared options device fstype enable hasrestart directory present absent link atboot blockdevice device dump pass remounts poller_tag use message withpath adminfile allow_virtual allowcdrom category configfiles flavor install_options instance package_settings platform responsefile status uninstall_options vendor unless_system_user unless_uid binary control flags hasstatus manifest pattern restart running start stop allowdupe auths expiry gid groups home iterations key_membership keys managehome membership password password_max_age password_min_age profile_membership profiles project purge_ssh_keys role_membership roles salt shell uid baseurl cost descr enabled enablegroups exclude failovermethod gpgcheck gpgkey http_caching include includepkgs keepalive metadata_expire metalink mirrorlist priority protect proxy proxy_password proxy_username repo_gpgcheck s3_enabled skip_if_unavailable sslcacert sslclientcert sslclientkey sslverify mounted\",built_in:\"architecture augeasversion blockdevices boardmanufacturer boardproductname boardserialnumber cfkey dhcp_servers domain ec2_ ec2_userdata facterversion filesystems ldom fqdn gid hardwareisa hardwaremodel hostname id|0 interfaces ipaddress ipaddress_ ipaddress6 ipaddress6_ iphostnumber is_virtual kernel kernelmajversion kernelrelease kernelversion kernelrelease kernelversion lsbdistcodename lsbdistdescription lsbdistid lsbdistrelease lsbmajdistrelease lsbminordistrelease lsbrelease macaddress macaddress_ macosx_buildversion macosx_productname macosx_productversion macosx_productverson_major macosx_productversion_minor manufacturer memoryfree memorysize netmask metmask_ network_ operatingsystem operatingsystemmajrelease operatingsystemrelease osfamily partitions path physicalprocessorcount processor processorcount productname ps puppetversion rubysitedir rubyversion selinux selinux_config_mode selinux_config_policy selinux_current_mode selinux_current_mode selinux_enforced selinux_policyversion serialnumber sp_ sshdsakey sshecdsakey sshrsakey swapencrypted swapfree swapsize timezone type uniqueid uptime uptime_days uptime_hours uptime_seconds uuid virtual vlans xendomains zfs_version zonenae zones zpool_version\"},r=e.C(\"#\",\"$\"),a=\"([A-Za-z_]|::)(\\\\w|::)*\",i=e.inherit(e.TM,{b:a}),n={cN:\"variable\",b:\"\\\\$\"+a},o={cN:\"string\",c:[e.BE,n],v:[{b:/'/,e:/'/},{b:/\"/,e:/\"/}]};return{aliases:[\"pp\"],c:[r,n,o,{bK:\"class\",e:\"\\\\{|;\",i:/=/,c:[i,r]},{bK:\"define\",e:/\\{/,c:[{cN:\"section\",b:e.IR,endsParent:!0}]},{b:e.IR+\"\\\\s+\\\\{\",rB:!0,e:/\\S/,c:[{cN:\"keyword\",b:e.IR},{b:/\\{/,e:/\\}/,k:t,r:0,c:[o,r,{b:\"[a-zA-Z_]+\\\\s*=>\",rB:!0,e:\"=>\",c:[{cN:\"attr\",b:e.IR}]},{cN:\"number\",b:\"(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b\",r:0},n]}],r:0}]}}),e.registerLanguage(\"purebasic\",function(e){var t={cN:\"string\",b:'(~)?\"',e:'\"',i:\"\\\\n\"},r={cN:\"symbol\",b:\"#[a-zA-Z_]\\\\w*\\\\$?\"};return{aliases:[\"pb\",\"pbi\"],k:\"And As Break CallDebugger Case CompilerCase CompilerDefault CompilerElse CompilerEndIf CompilerEndSelect CompilerError CompilerIf CompilerSelect Continue Data DataSection EndDataSection Debug DebugLevel Default Define Dim DisableASM DisableDebugger DisableExplicit Else ElseIf EnableASM EnableDebugger EnableExplicit End EndEnumeration EndIf EndImport EndInterface EndMacro EndProcedure EndSelect EndStructure EndStructureUnion EndWith Enumeration Extends FakeReturn For Next ForEach ForEver Global Gosub Goto If Import ImportC IncludeBinary IncludeFile IncludePath Interface Macro NewList Not Or ProcedureReturn Protected Prototype PrototypeC Read ReDim Repeat Until Restore Return Select Shared Static Step Structure StructureUnion Swap To Wend While With XIncludeFile XOr Procedure ProcedureC ProcedureCDLL ProcedureDLL Declare DeclareC DeclareCDLL DeclareDLL\",c:[e.C(\";\",\"$\",{r:0}),{cN:\"function\",b:\"\\\\b(Procedure|Declare)(C|CDLL|DLL)?\\\\b\",e:\"\\\\(\",eE:!0,rB:!0,c:[{cN:\"keyword\",b:\"(Procedure|Declare)(C|CDLL|DLL)?\",eE:!0},{cN:\"type\",b:\"\\\\.\\\\w*\"},e.UTM]},t,r]}}),e.registerLanguage(\"python\",function(e){var t={keyword:\"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10 None True False\",built_in:\"Ellipsis NotImplemented\"},r={cN:\"meta\",b:/^(>>>|\\.\\.\\.) /},a={cN:\"subst\",b:/\\{/,e:/\\}/,k:t,i:/#/},i={cN:\"string\",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[r],r:10},{b:/(u|b)?r?\"\"\"/,e:/\"\"\"/,c:[r],r:10},{b:/(fr|rf|f)'''/,e:/'''/,c:[r,a]},{b:/(fr|rf|f)\"\"\"/,e:/\"\"\"/,c:[r,a]},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)\"/,e:/\"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)\"/,e:/\"/},{b:/(fr|rf|f)'/,e:/'/,c:[a]},{b:/(fr|rf|f)\"/,e:/\"/,c:[a]},e.ASM,e.QSM]},n={cN:\"number\",r:0,v:[{b:e.BNR+\"[lLjJ]?\"},{b:\"\\\\b(0o[0-7]+)[lLjJ]?\"},{b:e.CNR+\"[lLjJ]?\"}]},o={cN:\"params\",b:/\\(/,e:/\\)/,c:[\"self\",r,n,i]};return a.c=[i,n,r],{aliases:[\"py\",\"gyp\"],k:t,i:/(<\\/|->|\\?)|=>/,c:[r,n,i,e.HCM,{v:[{cN:\"function\",bK:\"def\"},{cN:\"class\",bK:\"class\"}],e:/:/,i:/[${=;\\n,]/,c:[e.UTM,o,{b:/->/,eW:!0,k:\"None\"}]},{cN:\"meta\",b:/^[\\t ]*@/,e:/$/},{b:/\\b(print|exec)\\(/}]}}),e.registerLanguage(\"q\",function(e){var t={keyword:\"do while select delete by update from\",literal:\"0b 1b\",built_in:\"neg not null string reciprocal floor ceiling signum mod xbar xlog and or each scan over prior mmu lsq inv md5 ltime gtime count first var dev med cov cor all any rand sums prds mins maxs fills deltas ratios avgs differ prev next rank reverse iasc idesc asc desc msum mcount mavg mdev xrank mmin mmax xprev rotate distinct group where flip type key til get value attr cut set upsert raze union inter except cross sv vs sublist enlist read0 read1 hopen hclose hdel hsym hcount peach system ltrim rtrim trim lower upper ssr view tables views cols xcols keys xkey xcol xasc xdesc fkeys meta lj aj aj0 ij pj asof uj ww wj wj1 fby xgroup ungroup ej save load rsave rload show csv parse eval min max avg wavg wsum sin cos tan sum\",type:\"`float `double int `timestamp `timespan `datetime `time `boolean `symbol `char `byte `short `long `real `month `date `minute `second `guid\"};return{aliases:[\"k\",\"kdb\"],k:t,l:/(`?)[A-Za-z0-9_]+\\b/,c:[e.CLCM,e.QSM,e.CNM]}}),e.registerLanguage(\"qml\",function(e){var t={keyword:\"in of on if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await import\",literal:\"true false null undefined NaN Infinity\",built_in:\"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Behavior bool color coordinate date double enumeration font geocircle georectangle geoshape int list matrix4x4 parent point quaternion real rect size string url variant vector2d vector3d vector4dPromise\"},r=\"[a-zA-Z_][a-zA-Z0-9\\\\._]*\",a={cN:\"keyword\",b:\"\\\\bproperty\\\\b\",starts:{cN:\"string\",e:\"(:|=|;|,|//|/\\\\*|$)\",rE:!0}},i={cN:\"keyword\",b:\"\\\\bsignal\\\\b\",starts:{cN:\"string\",e:\"(\\\\(|:|=|;|,|//|/\\\\*|$)\",rE:!0}},n={cN:\"attribute\",b:\"\\\\bid\\\\s*:\",starts:{cN:\"string\",e:r,rE:!1}},o={b:r+\"\\\\s*:\",rB:!0,c:[{cN:\"attribute\",b:r,e:\"\\\\s*:\",eE:!0,r:0}],r:0},s={b:r+\"\\\\s*{\",e:\"{\",rB:!0,r:0,c:[e.inherit(e.TM,{b:r})]};return{aliases:[\"qt\"],cI:!1,k:t,c:[{cN:\"meta\",b:/^\\s*['\"]use (strict|asm)['\"]/},e.ASM,e.QSM,{cN:\"string\",b:\"`\",e:\"`\",c:[e.BE,{cN:\"subst\",b:\"\\\\$\\\\{\",e:\"\\\\}\"}]},e.CLCM,e.CBCM,{cN:\"number\",v:[{b:\"\\\\b(0[bB][01]+)\"},{b:\"\\\\b(0[oO][0-7]+)\"},{b:e.CNR}],r:0},{b:\"(\"+e.RSR+\"|\\\\b(case|return|throw)\\\\b)\\\\s*\",k:\"return throw case\",c:[e.CLCM,e.CBCM,e.RM,{b:/</,e:/>\\s*[);\\]]/,r:0,sL:\"xml\"}],r:0},i,a,{cN:\"function\",bK:\"function\",e:/\\{/,eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0,c:[e.CLCM,e.CBCM]}],i:/\\[|%/},{b:\"\\\\.\"+e.IR,r:0},n,o,s],i:/#/}}),e.registerLanguage(\"r\",function(e){var t=\"([a-zA-Z]|\\\\.[a-zA-Z.])[a-zA-Z0-9._]*\";return{c:[e.HCM,{b:t,l:t,k:{keyword:\"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...\",literal:\"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10\"},r:0},{cN:\"number\",b:\"0[xX][0-9a-fA-F]+[Li]?\\\\b\",r:0},{cN:\"number\",b:\"\\\\d+(?:[eE][+\\\\-]?\\\\d*)?L\\\\b\",r:0},{cN:\"number\",b:\"\\\\d+\\\\.(?!\\\\d)(?:i\\\\b)?\",r:0},{cN:\"number\",b:\"\\\\d+(?:\\\\.\\\\d*)?(?:[eE][+\\\\-]?\\\\d*)?i?\\\\b\",r:0},{cN:\"number\",b:\"\\\\.\\\\d+(?:[eE][+\\\\-]?\\\\d*)?i?\\\\b\",r:0},{b:\"`\",e:\"`\",r:0},{cN:\"string\",c:[e.BE],v:[{b:'\"',e:'\"'},{b:\"'\",e:\"'\"}]}]}}),e.registerLanguage(\"rib\",function(e){return{k:\"ArchiveRecord AreaLightSource Atmosphere Attribute AttributeBegin AttributeEnd Basis Begin Blobby Bound Clipping ClippingPlane Color ColorSamples ConcatTransform Cone CoordinateSystem CoordSysTransform CropWindow Curves Cylinder DepthOfField Detail DetailRange Disk Displacement Display End ErrorHandler Exposure Exterior Format FrameAspectRatio FrameBegin FrameEnd GeneralPolygon GeometricApproximation Geometry Hider Hyperboloid Identity Illuminate Imager Interior LightSource MakeCubeFaceEnvironment MakeLatLongEnvironment MakeShadow MakeTexture Matte MotionBegin MotionEnd NuPatch ObjectBegin ObjectEnd ObjectInstance Opacity Option Orientation Paraboloid Patch PatchMesh Perspective PixelFilter PixelSamples PixelVariance Points PointsGeneralPolygons PointsPolygons Polygon Procedural Projection Quantize ReadArchive RelativeDetail ReverseOrientation Rotate Scale ScreenWindow ShadingInterpolation ShadingRate Shutter Sides Skew SolidBegin SolidEnd Sphere SubdivisionMesh Surface TextureCoordinates Torus Transform TransformBegin TransformEnd TransformPoints Translate TrimCurve WorldBegin WorldEnd\",i:\"</\",c:[e.HCM,e.CNM,e.ASM,e.QSM]}}),e.registerLanguage(\"roboconf\",function(e){var t=\"[a-zA-Z-_][^\\\\n{]+\\\\{\",r={cN:\"attribute\",b:/[a-zA-Z-_]+/,e:/\\s*:/,eE:!0,starts:{e:\";\",r:0,c:[{cN:\"variable\",b:/\\.[a-zA-Z-_]+/},{cN:\"keyword\",b:/\\(optional\\)/}]}};return{aliases:[\"graph\",\"instances\"],cI:!0,k:\"import\",c:[{b:\"^facet \"+t,e:\"}\",k:\"facet\",c:[r,e.HCM]},{b:\"^\\\\s*instance of \"+t,e:\"}\",k:\"name count channels instance-data instance-state instance of\",i:/\\S/,c:[\"self\",r,e.HCM]},{b:\"^\"+t,e:\"}\",c:[r,e.HCM]},e.HCM]}}),e.registerLanguage(\"routeros\",function(e){var t=\"foreach do while for if from to step else on-error and or not in\",r=\"global local beep delay put len typeof pick log time set find environment terminal error execute parse resolve toarray tobool toid toip toip6 tonum tostr totime\",a=\"add remove enable disable set get print export edit find run debug error info warning\",i=\"true false yes no nothing nil null\",n=\"traffic-flow traffic-generator firewall scheduler aaa accounting address-list address align area bandwidth-server bfd bgp bridge client clock community config connection console customer default dhcp-client dhcp-server discovery dns e-mail ethernet filter firewall firmware gps graphing group hardware health hotspot identity igmp-proxy incoming instance interface ip ipsec ipv6 irq l2tp-server lcd ldp logging mac-server mac-winbox mangle manual mirror mme mpls nat nd neighbor network note ntp ospf ospf-v3 ovpn-server page peer pim ping policy pool port ppp pppoe-client pptp-server prefix profile proposal proxy queue radius resource rip ripng route routing screen script security-profiles server service service-port settings shares smb sms sniffer snmp snooper socks sstp-server system tool tracking type upgrade upnp user-manager users user vlan secret vrrp watchdog web-access wireless pptp pppoe lan wan layer7-protocol lease simple raw\",o={cN:\"variable\",v:[{b:/\\$[\\w\\d#@][\\w\\d_]*/},{b:/\\$\\{(.*?)}/}]},s={cN:\"string\",b:/\"/,e:/\"/,c:[e.BE,o,{cN:\"variable\",b:/\\$\\(/,e:/\\)/,c:[e.BE]}]},l={cN:\"string\",b:/'/,e:/'/};return{aliases:[\"routeros\",\"mikrotik\"],cI:!0,l:/:?[\\w-]+/,k:{literal:i,keyword:t+\" :\"+t.split(\" \").join(\" :\")+\" :\"+r.split(\" \").join(\" :\")},c:[{v:[{b:/^@/,e:/$/},{b:/\\/\\*/,e:/\\*\\//},{b:/%%/,e:/$/},{b:/^'/,e:/$/},{b:/^\\s*\\/[\\w-]+=/,e:/$/},{b:/\\/\\//,e:/$/},{b:/^\\[\\</,e:/\\>\\]$/},{b:/<\\//,e:/>/},{b:/^facet /,e:/\\}/},{b:\"^1\\\\.\\\\.(\\\\d+)$\",e:/$/}],i:/./},e.C(\"^#\",\"$\"),s,l,o,{b:/[\\w-]+\\=([^\\s\\{\\}\\[\\]\\(\\)]+)/,r:0,rB:!0,c:[{cN:\"attribute\",b:/[^=]+/},{b:/=/,eW:!0,r:0,c:[s,l,o,{cN:\"literal\",b:\"\\\\b(\"+i.split(\" \").join(\"|\")+\")\\\\b\"},{b:/(\"[^\"]*\"|[^\\s\\{\\}\\[\\]]+)/}]}]},{cN:\"number\",b:/\\*[0-9a-fA-F]+/},{b:\"\\\\b(\"+a.split(\" \").join(\"|\")+\")([\\\\s[(]|])\",rB:!0,c:[{cN:\"builtin-name\",b:/\\w+/}]},{cN:\"built_in\",v:[{b:\"(\\\\.\\\\./|/|\\\\s)((\"+n.split(\" \").join(\"|\")+\");?\\\\s)+\",r:10},{b:/\\.\\./}]}]}}),e.registerLanguage(\"rsl\",function(e){return{k:{keyword:\"float color point normal vector matrix while for if do return else break extern continue\",built_in:\"abs acos ambient area asin atan atmosphere attribute calculatenormal ceil cellnoise clamp comp concat cos degrees depth Deriv diffuse distance Du Dv environment exp faceforward filterstep floor format fresnel incident length lightsource log match max min mod noise normalize ntransform opposite option phong pnoise pow printf ptlined radians random reflect refract renderinfo round setcomp setxcomp setycomp setzcomp shadow sign sin smoothstep specular specularbrdf spline sqrt step tan texture textureinfo trace transform vtransform xcomp ycomp zcomp\"},i:\"</\",c:[e.CLCM,e.CBCM,e.QSM,e.ASM,e.CNM,{cN:\"meta\",b:\"#\",e:\"$\"},{cN:\"class\",bK:\"surface displacement light volume imager\",e:\"\\\\(\"},{bK:\"illuminate illuminance gather\",e:\"\\\\(\"}]}}),e.registerLanguage(\"ruleslanguage\",function(e){return{k:{keyword:\"BILL_PERIOD BILL_START BILL_STOP RS_EFFECTIVE_START RS_EFFECTIVE_STOP RS_JURIS_CODE RS_OPCO_CODE INTDADDATTRIBUTE|5 INTDADDVMSG|5 INTDBLOCKOP|5 INTDBLOCKOPNA|5 INTDCLOSE|5 INTDCOUNT|5 INTDCOUNTSTATUSCODE|5 INTDCREATEMASK|5 INTDCREATEDAYMASK|5 INTDCREATEFACTORMASK|5 INTDCREATEHANDLE|5 INTDCREATEOVERRIDEDAYMASK|5 INTDCREATEOVERRIDEMASK|5 INTDCREATESTATUSCODEMASK|5 INTDCREATETOUPERIOD|5 INTDDELETE|5 INTDDIPTEST|5 INTDEXPORT|5 INTDGETERRORCODE|5 INTDGETERRORMESSAGE|5 INTDISEQUAL|5 INTDJOIN|5 INTDLOAD|5 INTDLOADACTUALCUT|5 INTDLOADDATES|5 INTDLOADHIST|5 INTDLOADLIST|5 INTDLOADLISTDATES|5 INTDLOADLISTENERGY|5 INTDLOADLISTHIST|5 INTDLOADRELATEDCHANNEL|5 INTDLOADSP|5 INTDLOADSTAGING|5 INTDLOADUOM|5 INTDLOADUOMDATES|5 INTDLOADUOMHIST|5 INTDLOADVERSION|5 INTDOPEN|5 INTDREADFIRST|5 INTDREADNEXT|5 INTDRECCOUNT|5 INTDRELEASE|5 INTDREPLACE|5 INTDROLLAVG|5 INTDROLLPEAK|5 INTDSCALAROP|5 INTDSCALE|5 INTDSETATTRIBUTE|5 INTDSETDSTPARTICIPANT|5 INTDSETSTRING|5 INTDSETVALUE|5 INTDSETVALUESTATUS|5 INTDSHIFTSTARTTIME|5 INTDSMOOTH|5 INTDSORT|5 INTDSPIKETEST|5 INTDSUBSET|5 INTDTOU|5 INTDTOURELEASE|5 INTDTOUVALUE|5 INTDUPDATESTATS|5 INTDVALUE|5 STDEV INTDDELETEEX|5 INTDLOADEXACTUAL|5 INTDLOADEXCUT|5 INTDLOADEXDATES|5 INTDLOADEX|5 INTDLOADEXRELATEDCHANNEL|5 INTDSAVEEX|5 MVLOAD|5 MVLOADACCT|5 MVLOADACCTDATES|5 MVLOADACCTHIST|5 MVLOADDATES|5 MVLOADHIST|5 MVLOADLIST|5 MVLOADLISTDATES|5 MVLOADLISTHIST|5 IF FOR NEXT DONE SELECT END CALL ABORT CLEAR CHANNEL FACTOR LIST NUMBER OVERRIDE SET WEEK DISTRIBUTIONNODE ELSE WHEN THEN OTHERWISE IENUM CSV INCLUDE LEAVE RIDER SAVE DELETE NOVALUE SECTION WARN SAVE_UPDATE DETERMINANT LABEL REPORT REVENUE EACH IN FROM TOTAL CHARGE BLOCK AND OR CSV_FILE RATE_CODE AUXILIARY_DEMAND UIDACCOUNT RS BILL_PERIOD_SELECT HOURS_PER_MONTH INTD_ERROR_STOP SEASON_SCHEDULE_NAME ACCOUNTFACTOR ARRAYUPPERBOUND CALLSTOREDPROC GETADOCONNECTION GETCONNECT GETDATASOURCE GETQUALIFIER GETUSERID HASVALUE LISTCOUNT LISTOP LISTUPDATE LISTVALUE PRORATEFACTOR RSPRORATE SETBINPATH SETDBMONITOR WQ_OPEN BILLINGHOURS DATE DATEFROMFLOAT DATETIMEFROMSTRING DATETIMETOSTRING DATETOFLOAT DAY DAYDIFF DAYNAME DBDATETIME HOUR MINUTE MONTH MONTHDIFF MONTHHOURS MONTHNAME ROUNDDATE SAMEWEEKDAYLASTYEAR SECOND WEEKDAY WEEKDIFF YEAR YEARDAY YEARSTR COMPSUM HISTCOUNT HISTMAX HISTMIN HISTMINNZ HISTVALUE MAXNRANGE MAXRANGE MINRANGE COMPIKVA COMPKVA COMPKVARFROMKQKW COMPLF IDATTR FLAG LF2KW LF2KWH MAXKW POWERFACTOR READING2USAGE AVGSEASON MAXSEASON MONTHLYMERGE SEASONVALUE SUMSEASON ACCTREADDATES ACCTTABLELOAD CONFIGADD CONFIGGET CREATEOBJECT CREATEREPORT EMAILCLIENT EXPBLKMDMUSAGE EXPMDMUSAGE EXPORT_USAGE FACTORINEFFECT GETUSERSPECIFIEDSTOP INEFFECT ISHOLIDAY RUNRATE SAVE_PROFILE SETREPORTTITLE USEREXIT WATFORRUNRATE TO TABLE ACOS ASIN ATAN ATAN2 BITAND CEIL COS COSECANT COSH COTANGENT DIVQUOT DIVREM EXP FABS FLOOR FMOD FREPM FREXPN LOG LOG10 MAX MAXN MIN MINNZ MODF POW ROUND ROUND2VALUE ROUNDINT SECANT SIN SINH SQROOT TAN TANH FLOAT2STRING FLOAT2STRINGNC INSTR LEFT LEN LTRIM MID RIGHT RTRIM STRING STRINGNC TOLOWER TOUPPER TRIM NUMDAYS READ_DATE STAGING\",built_in:\"IDENTIFIER OPTIONS XML_ELEMENT XML_OP XML_ELEMENT_OF DOMDOCCREATE DOMDOCLOADFILE DOMDOCLOADXML DOMDOCSAVEFILE DOMDOCGETROOT DOMDOCADDPI DOMNODEGETNAME DOMNODEGETTYPE DOMNODEGETVALUE DOMNODEGETCHILDCT DOMNODEGETFIRSTCHILD DOMNODEGETSIBLING DOMNODECREATECHILDELEMENT DOMNODESETATTRIBUTE DOMNODEGETCHILDELEMENTCT DOMNODEGETFIRSTCHILDELEMENT DOMNODEGETSIBLINGELEMENT DOMNODEGETATTRIBUTECT DOMNODEGETATTRIBUTEI DOMNODEGETATTRIBUTEBYNAME DOMNODEGETBYNAME\"},c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.CNM,{cN:\"literal\",v:[{b:\"#\\\\s+[a-zA-Z\\\\ \\\\.]*\",r:0},{b:\"#[a-zA-Z\\\\ \\\\.]+\"}]}]}}),e.registerLanguage(\"rust\",function(e){var t=\"([ui](8|16|32|64|128|size)|f(32|64))?\",r=\"alignof as be box break const continue crate do else enum extern false fn for if impl in let loop match mod mut offsetof once priv proc pub pure ref return self Self sizeof static struct super trait true type typeof unsafe unsized use virtual while where yield move default\",a=\"drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!\";return{aliases:[\"rs\"],k:{keyword:r,literal:\"true false Some None Ok Err\",built_in:a},l:e.IR+\"!?\",i:\"</\",c:[e.CLCM,e.C(\"/\\\\*\",\"\\\\*/\",{c:[\"self\"]}),e.inherit(e.QSM,{b:/b?\"/,i:null}),{cN:\"string\",v:[{b:/r(#*)\"(.|\\n)*?\"\\1(?!#)/},{b:/b?'\\\\?(x\\w{2}|u\\w{4}|U\\w{8}|.)'/}]},{cN:\"symbol\",b:/'[a-zA-Z_][a-zA-Z0-9_]*/},{cN:\"number\",v:[{b:\"\\\\b0b([01_]+)\"+t},{b:\"\\\\b0o([0-7_]+)\"+t},{b:\"\\\\b0x([A-Fa-f0-9_]+)\"+t},{b:\"\\\\b(\\\\d[\\\\d_]*(\\\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)\"+t}],r:0},{cN:\"function\",bK:\"fn\",e:\"(\\\\(|<)\",eE:!0,c:[e.UTM]},{cN:\"meta\",b:\"#\\\\!?\\\\[\",e:\"\\\\]\",c:[{cN:\"meta-string\",b:/\"/,e:/\"/}]},{cN:\"class\",bK:\"type\",e:\";\",c:[e.inherit(e.UTM,{endsParent:!0})],i:\"\\\\S\"},{cN:\"class\",bK:\"trait enum struct union\",e:\"{\",c:[e.inherit(e.UTM,{endsParent:!0})],i:\"[\\\\w\\\\d]\"},{b:e.IR+\"::\",k:{built_in:a}},{b:\"->\"}]}}),e.registerLanguage(\"scala\",function(e){var t={cN:\"meta\",b:\"@[A-Za-z]+\"},r={cN:\"subst\",v:[{b:\"\\\\$[A-Za-z0-9_]+\"},{b:\"\\\\${\",e:\"}\"}]},a={cN:\"string\",v:[{b:'\"',e:'\"',i:\"\\\\n\",c:[e.BE]},{b:'\"\"\"',e:'\"\"\"',r:10},{b:'[a-z]+\"',e:'\"',i:\"\\\\n\",c:[e.BE,r]},{cN:\"string\",b:'[a-z]+\"\"\"',e:'\"\"\"',c:[r],r:10}]},i={cN:\"symbol\",b:\"'\\\\w[\\\\w\\\\d_]*(?!')\"},n={cN:\"type\",b:\"\\\\b[A-Z][A-Za-z0-9_]*\",r:0},o={cN:\"title\",b:/[^0-9\\n\\t \"'(),.`{}\\[\\]:;][^\\n\\t \"'(),.`{}\\[\\]:;]+|[^0-9\\n\\t \"'(),.`{}\\[\\]:;=]/,r:0},s={cN:\"class\",bK:\"class object trait type\",e:/[:={\\[\\n;]/,eE:!0,c:[{bK:\"extends with\",r:10},{b:/\\[/,e:/\\]/,eB:!0,eE:!0,r:0,c:[n]},{cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0,r:0,c:[n]},o]},l={cN:\"function\",bK:\"def\",e:/[:={\\[(\\n;]/,eE:!0,c:[o]};return{k:{literal:\"true false null\",keyword:\"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit\"},c:[e.CLCM,e.CBCM,a,i,n,l,s,e.CNM,t]}}),e.registerLanguage(\"scheme\",function(e){var t=\"[^\\\\(\\\\)\\\\[\\\\]\\\\{\\\\}\\\",'`;#|\\\\\\\\\\\\s]+\",r=\"(\\\\-|\\\\+)?\\\\d+([./]\\\\d+)?\",a=r+\"[+\\\\-]\"+r+\"i\",i={\"builtin-name\":\"case-lambda call/cc class define-class exit-handler field import inherit init-field interface let*-values let-values let/ec mixin opt-lambda override protect provide public rename require require-for-syntax syntax syntax-case syntax-error unit/sig unless when with-syntax and begin call-with-current-continuation call-with-input-file call-with-output-file case cond define define-syntax delay do dynamic-wind else for-each if lambda let let* let-syntax letrec letrec-syntax map or syntax-rules ' * + , ,@ - ... / ; < <= = => > >= ` abs acos angle append apply asin assoc assq assv atan boolean? caar cadr call-with-input-file call-with-output-file call-with-values car cdddar cddddr cdr ceiling char->integer char-alphabetic? char-ci<=? char-ci<? char-ci=? char-ci>=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char<? char=? char>=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci<? string-ci=? string-ci>=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string<? string=? string>=? string>? string? substring symbol->string symbol? tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?\"},n={cN:\"meta\",b:\"^#!\",e:\"$\"},o={cN:\"literal\",b:\"(#t|#f|#\\\\\\\\\"+t+\"|#\\\\\\\\.)\"},s={cN:\"number\",v:[{b:r,r:0},{b:a,r:0},{b:\"#b[0-1]+(/[0-1]+)?\"},{b:\"#o[0-7]+(/[0-7]+)?\"},{b:\"#x[0-9a-f]+(/[0-9a-f]+)?\"}]},l=e.QSM,c=[e.C(\";\",\"$\",{r:0}),e.C(\"#\\\\|\",\"\\\\|#\")],d={b:t,r:0},p={cN:\"symbol\",b:\"'\"+t},m={eW:!0,r:0},u={v:[{b:/'/},{b:\"`\"}],c:[{b:\"\\\\(\",e:\"\\\\)\",c:[\"self\",o,l,s,d,p]}]},b={cN:\"name\",b:t,l:t,k:i},g={b:/lambda/,eW:!0,rB:!0,c:[b,{b:/\\(/,e:/\\)/,endsParent:!0,c:[d]}]},f={v:[{b:\"\\\\(\",e:\"\\\\)\"},{b:\"\\\\[\",e:\"\\\\]\"}],c:[g,b,m]};return m.c=[o,s,l,d,p,u,f].concat(c),{i:/\\S/,c:[n,s,l,p,u,f].concat(c)}}),e.registerLanguage(\"scilab\",function(e){var t=[e.CNM,{cN:\"string\",b:\"'|\\\"\",e:\"'|\\\"\",c:[e.BE,{b:\"''\"}]}];return{aliases:[\"sci\"],l:/%?\\w+/,k:{keyword:\"abort break case clear catch continue do elseif else endfunction end for function global if pause return resume select try then while\",literal:\"%f %F %t %T %pi %eps %inf %nan %e %i %z %s\",built_in:\"abs and acos asin atan ceil cd chdir clearglobal cosh cos cumprod deff disp error exec execstr exists exp eye gettext floor fprintf fread fsolve imag isdef isempty isinfisnan isvector lasterror length load linspace list listfiles log10 log2 log max min msprintf mclose mopen ones or pathconvert poly printf prod pwd rand real round sinh sin size gsort sprintf sqrt strcat strcmps tring sum system tanh tan type typename warning zeros matrix\"},i:'(\"|#|/\\\\*|\\\\s+/\\\\w+)',c:[{cN:\"function\",bK:\"function\",e:\"$\",c:[e.UTM,{cN:\"params\",b:\"\\\\(\",e:\"\\\\)\"}]},{b:\"[a-zA-Z_][a-zA-Z_0-9]*('+[\\\\.']*|[\\\\.']+)\",e:\"\",r:0},{b:\"\\\\[\",e:\"\\\\]'*[\\\\.']*\",r:0,c:t},e.C(\"//\",\"$\")].concat(t)}}),e.registerLanguage(\"scss\",function(e){var t=\"[a-zA-Z-][a-zA-Z0-9_-]*\",r={cN:\"variable\",b:\"(\\\\$\"+t+\")\\\\b\"},a={cN:\"number\",b:\"#[0-9A-Fa-f]+\"};({cN:\"attribute\",b:\"[A-Z\\\\_\\\\.\\\\-]+\",e:\":\",eE:!0,i:\"[^\\\\s]\",starts:{eW:!0,eE:!0,c:[a,e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:\"meta\",b:\"!important\"}]}});return{cI:!0,i:\"[=/|']\",c:[e.CLCM,e.CBCM,{cN:\"selector-id\",b:\"\\\\#[A-Za-z0-9_-]+\",r:0},{cN:\"selector-class\",b:\"\\\\.[A-Za-z0-9_-]+\",r:0},{cN:\"selector-attr\",b:\"\\\\[\",e:\"\\\\]\",i:\"$\"},{cN:\"selector-tag\",b:\"\\\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\\\b\",r:0},{b:\":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)\"},{b:\"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)\"},r,{cN:\"attribute\",b:\"\\\\b(z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\\\b\",\ni:\"[^\\\\s]\"},{b:\"\\\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\\\b\"},{b:\":\",e:\";\",c:[r,a,e.CSSNM,e.QSM,e.ASM,{cN:\"meta\",b:\"!important\"}]},{b:\"@\",e:\"[{;]\",k:\"mixin include extend for if else each while charset import debug media page content font-face namespace warn\",c:[r,e.QSM,e.ASM,a,e.CSSNM,{b:\"\\\\s[A-Za-z0-9_.-]+\",r:0}]}]}}),e.registerLanguage(\"shell\",function(e){return{aliases:[\"console\"],c:[{cN:\"meta\",b:\"^\\\\s{0,3}[\\\\w\\\\d\\\\[\\\\]()@-]*[>%$#]\",starts:{e:\"$\",sL:\"bash\"}}]}}),e.registerLanguage(\"smali\",function(e){var t=[\"add\",\"and\",\"cmp\",\"cmpg\",\"cmpl\",\"const\",\"div\",\"double\",\"float\",\"goto\",\"if\",\"int\",\"long\",\"move\",\"mul\",\"neg\",\"new\",\"nop\",\"not\",\"or\",\"rem\",\"return\",\"shl\",\"shr\",\"sput\",\"sub\",\"throw\",\"ushr\",\"xor\"],r=[\"aget\",\"aput\",\"array\",\"check\",\"execute\",\"fill\",\"filled\",\"goto/16\",\"goto/32\",\"iget\",\"instance\",\"invoke\",\"iput\",\"monitor\",\"packed\",\"sget\",\"sparse\"],a=[\"transient\",\"constructor\",\"abstract\",\"final\",\"synthetic\",\"public\",\"private\",\"protected\",\"static\",\"bridge\",\"system\"];return{aliases:[\"smali\"],c:[{cN:\"string\",b:'\"',e:'\"',r:0},e.C(\"#\",\"$\",{r:0}),{cN:\"keyword\",v:[{b:\"\\\\s*\\\\.end\\\\s[a-zA-Z0-9]*\"},{b:\"^[ ]*\\\\.[a-zA-Z]*\",r:0},{b:\"\\\\s:[a-zA-Z_0-9]*\",r:0},{b:\"\\\\s(\"+a.join(\"|\")+\")\"}]},{cN:\"built_in\",v:[{b:\"\\\\s(\"+t.join(\"|\")+\")\\\\s\"},{b:\"\\\\s(\"+t.join(\"|\")+\")((\\\\-|/)[a-zA-Z0-9]+)+\\\\s\",r:10},{b:\"\\\\s(\"+r.join(\"|\")+\")((\\\\-|/)[a-zA-Z0-9]+)*\\\\s\",r:10}]},{cN:\"class\",b:\"L[^(;:\\n]*;\",r:0},{b:\"[vp][0-9]+\"}]}}),e.registerLanguage(\"smalltalk\",function(e){var t=\"[a-z][a-zA-Z0-9_]*\",r={cN:\"string\",b:\"\\\\$.{1}\"},a={cN:\"symbol\",b:\"#\"+e.UIR};return{aliases:[\"st\"],k:\"self super nil true false thisContext\",c:[e.C('\"','\"'),e.ASM,{cN:\"type\",b:\"\\\\b[A-Z][A-Za-z0-9_]*\",r:0},{b:t+\":\",r:0},e.CNM,a,r,{b:\"\\\\|[ ]*\"+t+\"([ ]+\"+t+\")*[ ]*\\\\|\",rB:!0,e:/\\|/,i:/\\S/,c:[{b:\"(\\\\|[ ]*)?\"+t}]},{b:\"\\\\#\\\\(\",e:\"\\\\)\",c:[e.ASM,r,e.CNM,a]}]}}),e.registerLanguage(\"sml\",function(e){return{aliases:[\"ml\"],k:{keyword:\"abstype and andalso as case datatype do else end eqtype exception fn fun functor handle if in include infix infixr let local nonfix of op open orelse raise rec sharing sig signature struct structure then type val with withtype where while\",built_in:\"array bool char exn int list option order real ref string substring vector unit word\",literal:\"true false NONE SOME LESS EQUAL GREATER nil\"},i:/\\/\\/|>>/,l:\"[a-z_]\\\\w*!?\",c:[{cN:\"literal\",b:/\\[(\\|\\|)?\\]|\\(\\)/,r:0},e.C(\"\\\\(\\\\*\",\"\\\\*\\\\)\",{c:[\"self\"]}),{cN:\"symbol\",b:\"'[A-Za-z_](?!')[\\\\w']*\"},{cN:\"type\",b:\"`[A-Z][\\\\w']*\"},{cN:\"type\",b:\"\\\\b[A-Z][\\\\w']*\",r:0},{b:\"[a-z_]\\\\w*'[\\\\w']*\"},e.inherit(e.ASM,{cN:\"string\",r:0}),e.inherit(e.QSM,{i:null}),{cN:\"number\",b:\"\\\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)\",r:0},{b:/[-=]>/}]}}),e.registerLanguage(\"sqf\",function(e){var t=e.getLanguage(\"cpp\").exports,r={cN:\"variable\",b:/\\b_+[a-zA-Z_]\\w*/},a={cN:\"title\",b:/[a-zA-Z][a-zA-Z0-9]+_fnc_\\w*/},i={cN:\"string\",v:[{b:'\"',e:'\"',c:[{b:'\"\"',r:0}]},{b:\"'\",e:\"'\",c:[{b:\"''\",r:0}]}]};return{aliases:[\"sqf\"],cI:!0,k:{keyword:\"case catch default do else exit exitWith for forEach from if switch then throw to try waitUntil while with\",built_in:\"abs accTime acos action actionIDs actionKeys actionKeysImages actionKeysNames actionKeysNamesArray actionName actionParams activateAddons activatedAddons activateKey add3DENConnection add3DENEventHandler add3DENLayer addAction addBackpack addBackpackCargo addBackpackCargoGlobal addBackpackGlobal addCamShake addCuratorAddons addCuratorCameraArea addCuratorEditableObjects addCuratorEditingArea addCuratorPoints addEditorObject addEventHandler addGoggles addGroupIcon addHandgunItem addHeadgear addItem addItemCargo addItemCargoGlobal addItemPool addItemToBackpack addItemToUniform addItemToVest addLiveStats addMagazine addMagazineAmmoCargo addMagazineCargo addMagazineCargoGlobal addMagazineGlobal addMagazinePool addMagazines addMagazineTurret addMenu addMenuItem addMissionEventHandler addMPEventHandler addMusicEventHandler addOwnedMine addPlayerScores addPrimaryWeaponItem addPublicVariableEventHandler addRating addResources addScore addScoreSide addSecondaryWeaponItem addSwitchableUnit addTeamMember addToRemainsCollector addUniform addVehicle addVest addWaypoint addWeapon addWeaponCargo addWeaponCargoGlobal addWeaponGlobal addWeaponItem addWeaponPool addWeaponTurret agent agents AGLToASL aimedAtTarget aimPos airDensityRTD airportSide AISFinishHeal alive all3DENEntities allControls allCurators allCutLayers allDead allDeadMen allDisplays allGroups allMapMarkers allMines allMissionObjects allow3DMode allowCrewInImmobile allowCuratorLogicIgnoreAreas allowDamage allowDammage allowFileOperations allowFleeing allowGetIn allowSprint allPlayers allSites allTurrets allUnits allUnitsUAV allVariables ammo and animate animateDoor animateSource animationNames animationPhase animationSourcePhase animationState append apply armoryPoints arrayIntersect asin ASLToAGL ASLToATL assert assignAsCargo assignAsCargoIndex assignAsCommander assignAsDriver assignAsGunner assignAsTurret assignCurator assignedCargo assignedCommander assignedDriver assignedGunner assignedItems assignedTarget assignedTeam assignedVehicle assignedVehicleRole assignItem assignTeam assignToAirport atan atan2 atg ATLToASL attachedObject attachedObjects attachedTo attachObject attachTo attackEnabled backpack backpackCargo backpackContainer backpackItems backpackMagazines backpackSpaceFor behaviour benchmark binocular blufor boundingBox boundingBoxReal boundingCenter breakOut breakTo briefingName buildingExit buildingPos buttonAction buttonSetAction cadetMode call callExtension camCommand camCommit camCommitPrepared camCommitted camConstuctionSetParams camCreate camDestroy cameraEffect cameraEffectEnableHUD cameraInterest cameraOn cameraView campaignConfigFile camPreload camPreloaded camPrepareBank camPrepareDir camPrepareDive camPrepareFocus camPrepareFov camPrepareFovRange camPreparePos camPrepareRelPos camPrepareTarget camSetBank camSetDir camSetDive camSetFocus camSetFov camSetFovRange camSetPos camSetRelPos camSetTarget camTarget camUseNVG canAdd canAddItemToBackpack canAddItemToUniform canAddItemToVest cancelSimpleTaskDestination canFire canMove canSlingLoad canStand canSuspend canUnloadInCombat canVehicleCargo captive captiveNum cbChecked cbSetChecked ceil channelEnabled cheatsEnabled checkAIFeature checkVisibility civilian className clearAllItemsFromBackpack clearBackpackCargo clearBackpackCargoGlobal clearGroupIcons clearItemCargo clearItemCargoGlobal clearItemPool clearMagazineCargo clearMagazineCargoGlobal clearMagazinePool clearOverlay clearRadio clearWeaponCargo clearWeaponCargoGlobal clearWeaponPool clientOwner closeDialog closeDisplay closeOverlay collapseObjectTree collect3DENHistory combatMode commandArtilleryFire commandChat commander commandFire commandFollow commandFSM commandGetOut commandingMenu commandMove commandRadio commandStop commandSuppressiveFire commandTarget commandWatch comment commitOverlay compile compileFinal completedFSM composeText configClasses configFile configHierarchy configName configNull configProperties configSourceAddonList configSourceMod configSourceModList connectTerminalToUAV controlNull controlsGroupCtrl copyFromClipboard copyToClipboard copyWaypoints cos count countEnemy countFriendly countSide countType countUnknown create3DENComposition create3DENEntity createAgent createCenter createDialog createDiaryLink createDiaryRecord createDiarySubject createDisplay createGearDialog createGroup createGuardedPoint createLocation createMarker createMarkerLocal createMenu createMine createMissionDisplay createMPCampaignDisplay createSimpleObject createSimpleTask createSite createSoundSource createTask createTeam createTrigger createUnit createVehicle createVehicleCrew createVehicleLocal crew ctrlActivate ctrlAddEventHandler ctrlAngle ctrlAutoScrollDelay ctrlAutoScrollRewind ctrlAutoScrollSpeed ctrlChecked ctrlClassName ctrlCommit ctrlCommitted ctrlCreate ctrlDelete ctrlEnable ctrlEnabled ctrlFade ctrlHTMLLoaded ctrlIDC ctrlIDD ctrlMapAnimAdd ctrlMapAnimClear ctrlMapAnimCommit ctrlMapAnimDone ctrlMapCursor ctrlMapMouseOver ctrlMapScale ctrlMapScreenToWorld ctrlMapWorldToScreen ctrlModel ctrlModelDirAndUp ctrlModelScale ctrlParent ctrlParentControlsGroup ctrlPosition ctrlRemoveAllEventHandlers ctrlRemoveEventHandler ctrlScale ctrlSetActiveColor ctrlSetAngle ctrlSetAutoScrollDelay ctrlSetAutoScrollRewind ctrlSetAutoScrollSpeed ctrlSetBackgroundColor ctrlSetChecked ctrlSetEventHandler ctrlSetFade ctrlSetFocus ctrlSetFont ctrlSetFontH1 ctrlSetFontH1B ctrlSetFontH2 ctrlSetFontH2B ctrlSetFontH3 ctrlSetFontH3B ctrlSetFontH4 ctrlSetFontH4B ctrlSetFontH5 ctrlSetFontH5B ctrlSetFontH6 ctrlSetFontH6B ctrlSetFontHeight ctrlSetFontHeightH1 ctrlSetFontHeightH2 ctrlSetFontHeightH3 ctrlSetFontHeightH4 ctrlSetFontHeightH5 ctrlSetFontHeightH6 ctrlSetFontHeightSecondary ctrlSetFontP ctrlSetFontPB ctrlSetFontSecondary ctrlSetForegroundColor ctrlSetModel ctrlSetModelDirAndUp ctrlSetModelScale ctrlSetPosition ctrlSetScale ctrlSetStructuredText ctrlSetText ctrlSetTextColor ctrlSetTooltip ctrlSetTooltipColorBox ctrlSetTooltipColorShade ctrlSetTooltipColorText ctrlShow ctrlShown ctrlText ctrlTextHeight ctrlType ctrlVisible curatorAddons curatorCamera curatorCameraArea curatorCameraAreaCeiling curatorCoef curatorEditableObjects curatorEditingArea curatorEditingAreaType curatorMouseOver curatorPoints curatorRegisteredObjects curatorSelected curatorWaypointCost current3DENOperation currentChannel currentCommand currentMagazine currentMagazineDetail currentMagazineDetailTurret currentMagazineTurret currentMuzzle currentNamespace currentTask currentTasks currentThrowable currentVisionMode currentWaypoint currentWeapon currentWeaponMode currentWeaponTurret currentZeroing cursorObject cursorTarget customChat customRadio cutFadeOut cutObj cutRsc cutText damage date dateToNumber daytime deActivateKey debriefingText debugFSM debugLog deg delete3DENEntities deleteAt deleteCenter deleteCollection deleteEditorObject deleteGroup deleteIdentity deleteLocation deleteMarker deleteMarkerLocal deleteRange deleteResources deleteSite deleteStatus deleteTeam deleteVehicle deleteVehicleCrew deleteWaypoint detach detectedMines diag_activeMissionFSMs diag_activeScripts diag_activeSQFScripts diag_activeSQSScripts diag_captureFrame diag_captureSlowFrame diag_codePerformance diag_drawMode diag_enable diag_enabled diag_fps diag_fpsMin diag_frameNo diag_list diag_log diag_logSlowFrame diag_mergeConfigFile diag_recordTurretLimits diag_tickTime diag_toggle dialog diarySubjectExists didJIP didJIPOwner difficulty difficultyEnabled difficultyEnabledRTD difficultyOption direction directSay disableAI disableCollisionWith disableConversation disableDebriefingStats disableNVGEquipment disableRemoteSensors disableSerialization disableTIEquipment disableUAVConnectability disableUserInput displayAddEventHandler displayCtrl displayNull displayParent displayRemoveAllEventHandlers displayRemoveEventHandler displaySetEventHandler dissolveTeam distance distance2D distanceSqr distributionRegion do3DENAction doArtilleryFire doFire doFollow doFSM doGetOut doMove doorPhase doStop doSuppressiveFire doTarget doWatch drawArrow drawEllipse drawIcon drawIcon3D drawLine drawLine3D drawLink drawLocation drawPolygon drawRectangle driver drop east echo edit3DENMissionAttributes editObject editorSetEventHandler effectiveCommander emptyPositions enableAI enableAIFeature enableAimPrecision enableAttack enableAudioFeature enableCamShake enableCaustics enableChannel enableCollisionWith enableCopilot enableDebriefingStats enableDiagLegend enableEndDialog enableEngineArtillery enableEnvironment enableFatigue enableGunLights enableIRLasers enableMimics enablePersonTurret enableRadio enableReload enableRopeAttach enableSatNormalOnDetail enableSaving enableSentences enableSimulation enableSimulationGlobal enableStamina enableTeamSwitch enableUAVConnectability enableUAVWaypoints enableVehicleCargo endLoadingScreen endMission engineOn enginesIsOnRTD enginesRpmRTD enginesTorqueRTD entities estimatedEndServerTime estimatedTimeLeft evalObjectArgument everyBackpack everyContainer exec execEditorScript execFSM execVM exp expectedDestination exportJIPMessages eyeDirection eyePos face faction fadeMusic fadeRadio fadeSound fadeSpeech failMission fillWeaponsFromPool find findCover findDisplay findEditorObject findEmptyPosition findEmptyPositionReady findNearestEnemy finishMissionInit finite fire fireAtTarget firstBackpack flag flagOwner flagSide flagTexture fleeing floor flyInHeight flyInHeightASL fog fogForecast fogParams forceAddUniform forcedMap forceEnd forceMap forceRespawn forceSpeed forceWalk forceWeaponFire forceWeatherChange forEachMember forEachMemberAgent forEachMemberTeam format formation formationDirection formationLeader formationMembers formationPosition formationTask formatText formLeader freeLook fromEditor fuel fullCrew gearIDCAmmoCount gearSlotAmmoCount gearSlotData get3DENActionState get3DENAttribute get3DENCamera get3DENConnections get3DENEntity get3DENEntityID get3DENGrid get3DENIconsVisible get3DENLayerEntities get3DENLinesVisible get3DENMissionAttribute get3DENMouseOver get3DENSelected getAimingCoef getAllHitPointsDamage getAllOwnedMines getAmmoCargo getAnimAimPrecision getAnimSpeedCoef getArray getArtilleryAmmo getArtilleryComputerSettings getArtilleryETA getAssignedCuratorLogic getAssignedCuratorUnit getBackpackCargo getBleedingRemaining getBurningValue getCameraViewDirection getCargoIndex getCenterOfMass getClientState getClientStateNumber getConnectedUAV getCustomAimingCoef getDammage getDescription getDir getDirVisual getDLCs getEditorCamera getEditorMode getEditorObjectScope getElevationOffset getFatigue getFriend getFSMVariable getFuelCargo getGroupIcon getGroupIconParams getGroupIcons getHideFrom getHit getHitIndex getHitPointDamage getItemCargo getMagazineCargo getMarkerColor getMarkerPos getMarkerSize getMarkerType getMass getMissionConfig getMissionConfigValue getMissionDLCs getMissionLayerEntities getModelInfo getMousePosition getNumber getObjectArgument getObjectChildren getObjectDLC getObjectMaterials getObjectProxy getObjectTextures getObjectType getObjectViewDistance getOxygenRemaining getPersonUsedDLCs getPilotCameraDirection getPilotCameraPosition getPilotCameraRotation getPilotCameraTarget getPlayerChannel getPlayerScores getPlayerUID getPos getPosASL getPosASLVisual getPosASLW getPosATL getPosATLVisual getPosVisual getPosWorld getRelDir getRelPos getRemoteSensorsDisabled getRepairCargo getResolution getShadowDistance getShotParents getSlingLoad getSpeed getStamina getStatValue getSuppression getTerrainHeightASL getText getUnitLoadout getUnitTrait getVariable getVehicleCargo getWeaponCargo getWeaponSway getWPPos glanceAt globalChat globalRadio goggles goto group groupChat groupFromNetId groupIconSelectable groupIconsVisible groupId groupOwner groupRadio groupSelectedUnits groupSelectUnit grpNull gunner gusts halt handgunItems handgunMagazine handgunWeapon handsHit hasInterface hasPilotCamera hasWeapon hcAllGroups hcGroupParams hcLeader hcRemoveAllGroups hcRemoveGroup hcSelected hcSelectGroup hcSetGroup hcShowBar hcShownBar headgear hideBody hideObject hideObjectGlobal hideSelection hint hintC hintCadet hintSilent hmd hostMission htmlLoad HUDMovementLevels humidity image importAllGroups importance in inArea inAreaArray incapacitatedState independent inflame inflamed inGameUISetEventHandler inheritsFrom initAmbientLife inPolygon inputAction inRangeOfArtillery insertEditorObject intersect is3DEN is3DENMultiplayer isAbleToBreathe isAgent isArray isAutoHoverOn isAutonomous isAutotest isBleeding isBurning isClass isCollisionLightOn isCopilotEnabled isDedicated isDLCAvailable isEngineOn isEqualTo isEqualType isEqualTypeAll isEqualTypeAny isEqualTypeArray isEqualTypeParams isFilePatchingEnabled isFlashlightOn isFlatEmpty isForcedWalk isFormationLeader isHidden isInRemainsCollector isInstructorFigureEnabled isIRLaserOn isKeyActive isKindOf isLightOn isLocalized isManualFire isMarkedForCollection isMultiplayer isMultiplayerSolo isNil isNull isNumber isObjectHidden isObjectRTD isOnRoad isPipEnabled isPlayer isRealTime isRemoteExecuted isRemoteExecutedJIP isServer isShowing3DIcons isSprintAllowed isStaminaEnabled isSteamMission isStreamFriendlyUIEnabled isText isTouchingGround isTurnedOut isTutHintsEnabled isUAVConnectable isUAVConnected isUniformAllowed isVehicleCargo isWalking isWeaponDeployed isWeaponRested itemCargo items itemsWithMagazines join joinAs joinAsSilent joinSilent joinString kbAddDatabase kbAddDatabaseTargets kbAddTopic kbHasTopic kbReact kbRemoveTopic kbTell kbWasSaid keyImage keyName knowsAbout land landAt landResult language laserTarget lbAdd lbClear lbColor lbCurSel lbData lbDelete lbIsSelected lbPicture lbSelection lbSetColor lbSetCurSel lbSetData lbSetPicture lbSetPictureColor lbSetPictureColorDisabled lbSetPictureColorSelected lbSetSelectColor lbSetSelectColorRight lbSetSelected lbSetTooltip lbSetValue lbSize lbSort lbSortByValue lbText lbValue leader leaderboardDeInit leaderboardGetRows leaderboardInit leaveVehicle libraryCredits libraryDisclaimers lifeState lightAttachObject lightDetachObject lightIsOn lightnings limitSpeed linearConversion lineBreak lineIntersects lineIntersectsObjs lineIntersectsSurfaces lineIntersectsWith linkItem list listObjects ln lnbAddArray lnbAddColumn lnbAddRow lnbClear lnbColor lnbCurSelRow lnbData lnbDeleteColumn lnbDeleteRow lnbGetColumnsPosition lnbPicture lnbSetColor lnbSetColumnsPos lnbSetCurSelRow lnbSetData lnbSetPicture lnbSetText lnbSetValue lnbSize lnbText lnbValue load loadAbs loadBackpack loadFile loadGame loadIdentity loadMagazine loadOverlay loadStatus loadUniform loadVest local localize locationNull locationPosition lock lockCameraTo lockCargo lockDriver locked lockedCargo lockedDriver lockedTurret lockIdentity lockTurret lockWP log logEntities logNetwork logNetworkTerminate lookAt lookAtPos magazineCargo magazines magazinesAllTurrets magazinesAmmo magazinesAmmoCargo magazinesAmmoFull magazinesDetail magazinesDetailBackpack magazinesDetailUniform magazinesDetailVest magazinesTurret magazineTurretAmmo mapAnimAdd mapAnimClear mapAnimCommit mapAnimDone mapCenterOnCamera mapGridPosition markAsFinishedOnSteam markerAlpha markerBrush markerColor markerDir markerPos markerShape markerSize markerText markerType max members menuAction menuAdd menuChecked menuClear menuCollapse menuData menuDelete menuEnable menuEnabled menuExpand menuHover menuPicture menuSetAction menuSetCheck menuSetData menuSetPicture menuSetValue menuShortcut menuShortcutText menuSize menuSort menuText menuURL menuValue min mineActive mineDetectedBy missionConfigFile missionDifficulty missionName missionNamespace missionStart missionVersion mod modelToWorld modelToWorldVisual modParams moonIntensity moonPhase morale move move3DENCamera moveInAny moveInCargo moveInCommander moveInDriver moveInGunner moveInTurret moveObjectToEnd moveOut moveTime moveTo moveToCompleted moveToFailed musicVolume name nameSound nearEntities nearestBuilding nearestLocation nearestLocations nearestLocationWithDubbing nearestObject nearestObjects nearestTerrainObjects nearObjects nearObjectsReady nearRoads nearSupplies nearTargets needReload netId netObjNull newOverlay nextMenuItemIndex nextWeatherChange nMenuItems not numberToDate objectCurators objectFromNetId objectParent objNull objStatus onBriefingGroup onBriefingNotes onBriefingPlan onBriefingTeamSwitch onCommandModeChanged onDoubleClick onEachFrame onGroupIconClick onGroupIconOverEnter onGroupIconOverLeave onHCGroupSelectionChanged onMapSingleClick onPlayerConnected onPlayerDisconnected onPreloadFinished onPreloadStarted onShowNewObject onTeamSwitch openCuratorInterface openDLCPage openMap openYoutubeVideo opfor or orderGetIn overcast overcastForecast owner param params parseNumber parseText parsingNamespace particlesQuality pi pickWeaponPool pitch pixelGrid pixelGridBase pixelGridNoUIScale pixelH pixelW playableSlotsNumber playableUnits playAction playActionNow player playerRespawnTime playerSide playersNumber playGesture playMission playMove playMoveNow playMusic playScriptedMission playSound playSound3D position positionCameraToWorld posScreenToWorld posWorldToScreen ppEffectAdjust ppEffectCommit ppEffectCommitted ppEffectCreate ppEffectDestroy ppEffectEnable ppEffectEnabled ppEffectForceInNVG precision preloadCamera preloadObject preloadSound preloadTitleObj preloadTitleRsc preprocessFile preprocessFileLineNumbers primaryWeapon primaryWeaponItems primaryWeaponMagazine priority private processDiaryLink productVersion profileName profileNamespace profileNameSteam progressLoadingScreen progressPosition progressSetPosition publicVariable publicVariableClient publicVariableServer pushBack pushBackUnique putWeaponPool queryItemsPool queryMagazinePool queryWeaponPool rad radioChannelAdd radioChannelCreate radioChannelRemove radioChannelSetCallSign radioChannelSetLabel radioVolume rain rainbow random rank rankId rating rectangular registeredTasks registerTask reload reloadEnabled remoteControl remoteExec remoteExecCall remove3DENConnection remove3DENEventHandler remove3DENLayer removeAction removeAll3DENEventHandlers removeAllActions removeAllAssignedItems removeAllContainers removeAllCuratorAddons removeAllCuratorCameraAreas removeAllCuratorEditingAreas removeAllEventHandlers removeAllHandgunItems removeAllItems removeAllItemsWithMagazines removeAllMissionEventHandlers removeAllMPEventHandlers removeAllMusicEventHandlers removeAllOwnedMines removeAllPrimaryWeaponItems removeAllWeapons removeBackpack removeBackpackGlobal removeCuratorAddons removeCuratorCameraArea removeCuratorEditableObjects removeCuratorEditingArea removeDrawIcon removeDrawLinks removeEventHandler removeFromRemainsCollector removeGoggles removeGroupIcon removeHandgunItem removeHeadgear removeItem removeItemFromBackpack removeItemFromUniform removeItemFromVest removeItems removeMagazine removeMagazineGlobal removeMagazines removeMagazinesTurret removeMagazineTurret removeMenuItem removeMissionEventHandler removeMPEventHandler removeMusicEventHandler removeOwnedMine removePrimaryWeaponItem removeSecondaryWeaponItem removeSimpleTask removeSwitchableUnit removeTeamMember removeUniform removeVest removeWeapon removeWeaponGlobal removeWeaponTurret requiredVersion resetCamShake resetSubgroupDirection resistance resize resources respawnVehicle restartEditorCamera reveal revealMine reverse reversedMouseY roadAt roadsConnectedTo roleDescription ropeAttachedObjects ropeAttachedTo ropeAttachEnabled ropeAttachTo ropeCreate ropeCut ropeDestroy ropeDetach ropeEndPosition ropeLength ropes ropeUnwind ropeUnwound rotorsForcesRTD rotorsRpmRTD round runInitScript safeZoneH safeZoneW safeZoneWAbs safeZoneX safeZoneXAbs safeZoneY save3DENInventory saveGame saveIdentity saveJoysticks saveOverlay saveProfileNamespace saveStatus saveVar savingEnabled say say2D say3D scopeName score scoreSide screenshot screenToWorld scriptDone scriptName scriptNull scudState secondaryWeapon secondaryWeaponItems secondaryWeaponMagazine select selectBestPlaces selectDiarySubject selectedEditorObjects selectEditorObject selectionNames selectionPosition selectLeader selectMax selectMin selectNoPlayer selectPlayer selectRandom selectWeapon selectWeaponTurret sendAUMessage sendSimpleCommand sendTask sendTaskResult sendUDPMessage serverCommand serverCommandAvailable serverCommandExecutable serverName serverTime set set3DENAttribute set3DENAttributes set3DENGrid set3DENIconsVisible set3DENLayer set3DENLinesVisible set3DENMissionAttributes set3DENModelsVisible set3DENObjectType set3DENSelected setAccTime setAirportSide setAmmo setAmmoCargo setAnimSpeedCoef setAperture setApertureNew setArmoryPoints setAttributes setAutonomous setBehaviour setBleedingRemaining setCameraInterest setCamShakeDefParams setCamShakeParams setCamUseTi setCaptive setCenterOfMass setCollisionLight setCombatMode setCompassOscillation setCuratorCameraAreaCeiling setCuratorCoef setCuratorEditingAreaType setCuratorWaypointCost setCurrentChannel setCurrentTask setCurrentWaypoint setCustomAimCoef setDamage setDammage setDate setDebriefingText setDefaultCamera setDestination setDetailMapBlendPars setDir setDirection setDrawIcon setDropInterval setEditorMode setEditorObjectScope setEffectCondition setFace setFaceAnimation setFatigue setFlagOwner setFlagSide setFlagTexture setFog setFormation setFormationTask setFormDir setFriend setFromEditor setFSMVariable setFuel setFuelCargo setGroupIcon setGroupIconParams setGroupIconsSelectable setGroupIconsVisible setGroupId setGroupIdGlobal setGroupOwner setGusts setHideBehind setHit setHitIndex setHitPointDamage setHorizonParallaxCoef setHUDMovementLevels setIdentity setImportance setLeader setLightAmbient setLightAttenuation setLightBrightness setLightColor setLightDayLight setLightFlareMaxDistance setLightFlareSize setLightIntensity setLightnings setLightUseFlare setLocalWindParams setMagazineTurretAmmo setMarkerAlpha setMarkerAlphaLocal setMarkerBrush setMarkerBrushLocal setMarkerColor setMarkerColorLocal setMarkerDir setMarkerDirLocal setMarkerPos setMarkerPosLocal setMarkerShape setMarkerShapeLocal setMarkerSize setMarkerSizeLocal setMarkerText setMarkerTextLocal setMarkerType setMarkerTypeLocal setMass setMimic setMousePosition setMusicEffect setMusicEventHandler setName setNameSound setObjectArguments setObjectMaterial setObjectMaterialGlobal setObjectProxy setObjectTexture setObjectTextureGlobal setObjectViewDistance setOvercast setOwner setOxygenRemaining setParticleCircle setParticleClass setParticleFire setParticleParams setParticleRandom setPilotCameraDirection setPilotCameraRotation setPilotCameraTarget setPilotLight setPiPEffect setPitch setPlayable setPlayerRespawnTime setPos setPosASL setPosASL2 setPosASLW setPosATL setPosition setPosWorld setRadioMsg setRain setRainbow setRandomLip setRank setRectangular setRepairCargo setShadowDistance setShotParents setSide setSimpleTaskAlwaysVisible setSimpleTaskCustomData setSimpleTaskDescription setSimpleTaskDestination setSimpleTaskTarget setSimpleTaskType setSimulWeatherLayers setSize setSkill setSlingLoad setSoundEffect setSpeaker setSpeech setSpeedMode setStamina setStaminaScheme setStatValue setSuppression setSystemOfUnits setTargetAge setTaskResult setTaskState setTerrainGrid setText setTimeMultiplier setTitleEffect setTriggerActivation setTriggerArea setTriggerStatements setTriggerText setTriggerTimeout setTriggerType setType setUnconscious setUnitAbility setUnitLoadout setUnitPos setUnitPosWeak setUnitRank setUnitRecoilCoefficient setUnitTrait setUnloadInCombat setUserActionText setVariable setVectorDir setVectorDirAndUp setVectorUp setVehicleAmmo setVehicleAmmoDef setVehicleArmor setVehicleCargo setVehicleId setVehicleLock setVehiclePosition setVehicleTiPars setVehicleVarName setVelocity setVelocityTransformation setViewDistance setVisibleIfTreeCollapsed setWaves setWaypointBehaviour setWaypointCombatMode setWaypointCompletionRadius setWaypointDescription setWaypointForceBehaviour setWaypointFormation setWaypointHousePosition setWaypointLoiterRadius setWaypointLoiterType setWaypointName setWaypointPosition setWaypointScript setWaypointSpeed setWaypointStatements setWaypointTimeout setWaypointType setWaypointVisible setWeaponReloadingTime setWind setWindDir setWindForce setWindStr setWPPos show3DIcons showChat showCinemaBorder showCommandingMenu showCompass showCuratorCompass showGPS showHUD showLegend showMap shownArtilleryComputer shownChat shownCompass shownCuratorCompass showNewEditorObject shownGPS shownHUD shownMap shownPad shownRadio shownScoretable shownUAVFeed shownWarrant shownWatch showPad showRadio showScoretable showSubtitles showUAVFeed showWarrant showWatch showWaypoint showWaypoints side sideAmbientLife sideChat sideEmpty sideEnemy sideFriendly sideLogic sideRadio sideUnknown simpleTasks simulationEnabled simulCloudDensity simulCloudOcclusion simulInClouds simulWeatherSync sin size sizeOf skill skillFinal skipTime sleep sliderPosition sliderRange sliderSetPosition sliderSetRange sliderSetSpeed sliderSpeed slingLoadAssistantShown soldierMagazines someAmmo sort soundVolume spawn speaker speed speedMode splitString sqrt squadParams stance startLoadingScreen step stop stopEngineRTD stopped str sunOrMoon supportInfo suppressFor surfaceIsWater surfaceNormal surfaceType swimInDepth switchableUnits switchAction switchCamera switchGesture switchLight switchMove synchronizedObjects synchronizedTriggers synchronizedWaypoints synchronizeObjectsAdd synchronizeObjectsRemove synchronizeTrigger synchronizeWaypoint systemChat systemOfUnits tan targetKnowledge targetsAggregate targetsQuery taskAlwaysVisible taskChildren taskCompleted taskCustomData taskDescription taskDestination taskHint taskMarkerOffset taskNull taskParent taskResult taskState taskType teamMember teamMemberNull teamName teams teamSwitch teamSwitchEnabled teamType terminate terrainIntersect terrainIntersectASL text textLog textLogFormat tg time timeMultiplier titleCut titleFadeOut titleObj titleRsc titleText toArray toFixed toLower toString toUpper triggerActivated triggerActivation triggerArea triggerAttachedVehicle triggerAttachObject triggerAttachVehicle triggerStatements triggerText triggerTimeout triggerTimeoutCurrent triggerType turretLocal turretOwner turretUnit tvAdd tvClear tvCollapse tvCount tvCurSel tvData tvDelete tvExpand tvPicture tvSetCurSel tvSetData tvSetPicture tvSetPictureColor tvSetPictureColorDisabled tvSetPictureColorSelected tvSetPictureRight tvSetPictureRightColor tvSetPictureRightColorDisabled tvSetPictureRightColorSelected tvSetText tvSetTooltip tvSetValue tvSort tvSortByValue tvText tvTooltip tvValue type typeName typeOf UAVControl uiNamespace uiSleep unassignCurator unassignItem unassignTeam unassignVehicle underwater uniform uniformContainer uniformItems uniformMagazines unitAddons unitAimPosition unitAimPositionVisual unitBackpack unitIsUAV unitPos unitReady unitRecoilCoefficient units unitsBelowHeight unlinkItem unlockAchievement unregisterTask updateDrawIcon updateMenuItem updateObjectTree useAISteeringComponent useAudioTimeForMoves vectorAdd vectorCos vectorCrossProduct vectorDiff vectorDir vectorDirVisual vectorDistance vectorDistanceSqr vectorDotProduct vectorFromTo vectorMagnitude vectorMagnitudeSqr vectorMultiply vectorNormalized vectorUp vectorUpVisual vehicle vehicleCargoEnabled vehicleChat vehicleRadio vehicles vehicleVarName velocity velocityModelSpace verifySignature vest vestContainer vestItems vestMagazines viewDistance visibleCompass visibleGPS visibleMap visiblePosition visiblePositionASL visibleScoretable visibleWatch waves waypointAttachedObject waypointAttachedVehicle waypointAttachObject waypointAttachVehicle waypointBehaviour waypointCombatMode waypointCompletionRadius waypointDescription waypointForceBehaviour waypointFormation waypointHousePosition waypointLoiterRadius waypointLoiterType waypointName waypointPosition waypoints waypointScript waypointsEnabledUAV waypointShow waypointSpeed waypointStatements waypointTimeout waypointTimeoutCurrent waypointType waypointVisible weaponAccessories weaponAccessoriesCargo weaponCargo weaponDirection weaponInertia weaponLowered weapons weaponsItems weaponsItemsCargo weaponState weaponsTurret weightRTD west WFSideText wind\",\nliteral:\"true false nil\"},c:[e.CLCM,e.CBCM,e.NM,r,a,i,t.preprocessor],i:/#/}}),e.registerLanguage(\"sql\",function(e){var t=e.C(\"--\",\"$\");return{cI:!0,i:/[<>{}*#]/,c:[{bK:\"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment\",e:/;/,eW:!0,l:/[\\w\\.]+/,k:{keyword:\"abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias allocate allow alter always analyze ancillary and any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second section securefile security seed segment select self sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek\",literal:\"true false null\",built_in:\"array bigint binary bit blob boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text varchar varying void\"},c:[{cN:\"string\",b:\"'\",e:\"'\",c:[e.BE,{b:\"''\"}]},{cN:\"string\",b:'\"',e:'\"',c:[e.BE,{b:'\"\"'}]},{cN:\"string\",b:\"`\",e:\"`\",c:[e.BE]},e.CNM,e.CBCM,t]},e.CBCM,t]}}),e.registerLanguage(\"stan\",function(e){return{c:[e.HCM,e.CLCM,e.CBCM,{b:e.UIR,l:e.UIR,k:{name:\"for in while repeat until if then else\",symbol:\"bernoulli bernoulli_logit binomial binomial_logit beta_binomial hypergeometric categorical categorical_logit ordered_logistic neg_binomial neg_binomial_2 neg_binomial_2_log poisson poisson_log multinomial normal exp_mod_normal skew_normal student_t cauchy double_exponential logistic gumbel lognormal chi_square inv_chi_square scaled_inv_chi_square exponential inv_gamma weibull frechet rayleigh wiener pareto pareto_type_2 von_mises uniform multi_normal multi_normal_prec multi_normal_cholesky multi_gp multi_gp_cholesky multi_student_t gaussian_dlm_obs dirichlet lkj_corr lkj_corr_cholesky wishart inv_wishart\",\"selector-tag\":\"int real vector simplex unit_vector ordered positive_ordered row_vector matrix cholesky_factor_corr cholesky_factor_cov corr_matrix cov_matrix\",title:\"functions model data parameters quantities transformed generated\",literal:\"true false\"},r:0},{cN:\"number\",b:\"0[xX][0-9a-fA-F]+[Li]?\\\\b\",r:0},{cN:\"number\",b:\"0[xX][0-9a-fA-F]+[Li]?\\\\b\",r:0},{cN:\"number\",b:\"\\\\d+(?:[eE][+\\\\-]?\\\\d*)?L\\\\b\",r:0},{cN:\"number\",b:\"\\\\d+\\\\.(?!\\\\d)(?:i\\\\b)?\",r:0},{cN:\"number\",b:\"\\\\d+(?:\\\\.\\\\d*)?(?:[eE][+\\\\-]?\\\\d*)?i?\\\\b\",r:0},{cN:\"number\",b:\"\\\\.\\\\d+(?:[eE][+\\\\-]?\\\\d*)?i?\\\\b\",r:0}]}}),e.registerLanguage(\"stata\",function(e){return{aliases:[\"do\",\"ado\"],cI:!0,k:\"if else in foreach for forv forva forval forvalu forvalue forvalues by bys bysort xi quietly qui capture about ac ac_7 acprplot acprplot_7 adjust ado adopath adoupdate alpha ameans an ano anov anova anova_estat anova_terms anovadef aorder ap app appe appen append arch arch_dr arch_estat arch_p archlm areg areg_p args arima arima_dr arima_estat arima_p as asmprobit asmprobit_estat asmprobit_lf asmprobit_mfx__dlg asmprobit_p ass asse asser assert avplot avplot_7 avplots avplots_7 bcskew0 bgodfrey binreg bip0_lf biplot bipp_lf bipr_lf bipr_p biprobit bitest bitesti bitowt blogit bmemsize boot bootsamp bootstrap bootstrap_8 boxco_l boxco_p boxcox boxcox_6 boxcox_p bprobit br break brier bro brow brows browse brr brrstat bs bs_7 bsampl_w bsample bsample_7 bsqreg bstat bstat_7 bstat_8 bstrap bstrap_7 ca ca_estat ca_p cabiplot camat canon canon_8 canon_8_p canon_estat canon_p cap caprojection capt captu captur capture cat cc cchart cchart_7 cci cd censobs_table centile cf char chdir checkdlgfiles checkestimationsample checkhlpfiles checksum chelp ci cii cl class classutil clear cli clis clist clo clog clog_lf clog_p clogi clogi_sw clogit clogit_lf clogit_p clogitp clogl_sw cloglog clonevar clslistarray cluster cluster_measures cluster_stop cluster_tree cluster_tree_8 clustermat cmdlog cnr cnre cnreg cnreg_p cnreg_sw cnsreg codebook collaps4 collapse colormult_nb colormult_nw compare compress conf confi confir confirm conren cons const constr constra constrai constrain constraint continue contract copy copyright copysource cor corc corr corr2data corr_anti corr_kmo corr_smc corre correl correla correlat correlate corrgram cou coun count cox cox_p cox_sw coxbase coxhaz coxvar cprplot cprplot_7 crc cret cretu cretur creturn cross cs cscript cscript_log csi ct ct_is ctset ctst_5 ctst_st cttost cumsp cumsp_7 cumul cusum cusum_7 cutil d|0 datasig datasign datasigna datasignat datasignatu datasignatur datasignature datetof db dbeta de dec deco decod decode deff des desc descr descri describ describe destring dfbeta dfgls dfuller di di_g dir dirstats dis discard disp disp_res disp_s displ displa display distinct do doe doed doedi doedit dotplot dotplot_7 dprobit drawnorm drop ds ds_util dstdize duplicates durbina dwstat dydx e|0 ed edi edit egen eivreg emdef en enc enco encod encode eq erase ereg ereg_lf ereg_p ereg_sw ereghet ereghet_glf ereghet_glf_sh ereghet_gp ereghet_ilf ereghet_ilf_sh ereghet_ip eret eretu eretur ereturn err erro error est est_cfexist est_cfname est_clickable est_expand est_hold est_table est_unhold est_unholdok estat estat_default estat_summ estat_vce_only esti estimates etodow etof etomdy ex exi exit expand expandcl fac fact facto factor factor_estat factor_p factor_pca_rotated factor_rotate factormat fcast fcast_compute fcast_graph fdades fdadesc fdadescr fdadescri fdadescrib fdadescribe fdasav fdasave fdause fh_st file open file read file close file filefilter fillin find_hlp_file findfile findit findit_7 fit fl fli flis flist for5_0 form forma format fpredict frac_154 frac_adj frac_chk frac_cox frac_ddp frac_dis frac_dv frac_in frac_mun frac_pp frac_pq frac_pv frac_wgt frac_xo fracgen fracplot fracplot_7 fracpoly fracpred fron_ex fron_hn fron_p fron_tn fron_tn2 frontier ftodate ftoe ftomdy ftowdate g|0 gamhet_glf gamhet_gp gamhet_ilf gamhet_ip gamma gamma_d2 gamma_p gamma_sw gammahet gdi_hexagon gdi_spokes ge gen gene gener genera generat generate genrank genstd genvmean gettoken gl gladder gladder_7 glim_l01 glim_l02 glim_l03 glim_l04 glim_l05 glim_l06 glim_l07 glim_l08 glim_l09 glim_l10 glim_l11 glim_l12 glim_lf glim_mu glim_nw1 glim_nw2 glim_nw3 glim_p glim_v1 glim_v2 glim_v3 glim_v4 glim_v5 glim_v6 glim_v7 glm glm_6 glm_p glm_sw glmpred glo glob globa global glogit glogit_8 glogit_p gmeans gnbre_lf gnbreg gnbreg_5 gnbreg_p gomp_lf gompe_sw gomper_p gompertz gompertzhet gomphet_glf gomphet_glf_sh gomphet_gp gomphet_ilf gomphet_ilf_sh gomphet_ip gphdot gphpen gphprint gprefs gprobi_p gprobit gprobit_8 gr gr7 gr_copy gr_current gr_db gr_describe gr_dir gr_draw gr_draw_replay gr_drop gr_edit gr_editviewopts gr_example gr_example2 gr_export gr_print gr_qscheme gr_query gr_read gr_rename gr_replay gr_save gr_set gr_setscheme gr_table gr_undo gr_use graph graph7 grebar greigen greigen_7 greigen_8 grmeanby grmeanby_7 gs_fileinfo gs_filetype gs_graphinfo gs_stat gsort gwood h|0 hadimvo hareg hausman haver he heck_d2 heckma_p heckman heckp_lf heckpr_p heckprob hel help hereg hetpr_lf hetpr_p hetprob hettest hexdump hilite hist hist_7 histogram hlogit hlu hmeans hotel hotelling hprobit hreg hsearch icd9 icd9_ff icd9p iis impute imtest inbase include inf infi infil infile infix inp inpu input ins insheet insp inspe inspec inspect integ inten intreg intreg_7 intreg_p intrg2_ll intrg_ll intrg_ll2 ipolate iqreg ir irf irf_create irfm iri is_svy is_svysum isid istdize ivprob_1_lf ivprob_lf ivprobit ivprobit_p ivreg ivreg_footnote ivtob_1_lf ivtob_lf ivtobit ivtobit_p jackknife jacknife jknife jknife_6 jknife_8 jkstat joinby kalarma1 kap kap_3 kapmeier kappa kapwgt kdensity kdensity_7 keep ksm ksmirnov ktau kwallis l|0 la lab labe label labelbook ladder levels levelsof leverage lfit lfit_p li lincom line linktest lis list lloghet_glf lloghet_glf_sh lloghet_gp lloghet_ilf lloghet_ilf_sh lloghet_ip llogi_sw llogis_p llogist llogistic llogistichet lnorm_lf lnorm_sw lnorma_p lnormal lnormalhet lnormhet_glf lnormhet_glf_sh lnormhet_gp lnormhet_ilf lnormhet_ilf_sh lnormhet_ip lnskew0 loadingplot loc loca local log logi logis_lf logistic logistic_p logit logit_estat logit_p loglogs logrank loneway lookfor lookup lowess lowess_7 lpredict lrecomp lroc lroc_7 lrtest ls lsens lsens_7 lsens_x lstat ltable ltable_7 ltriang lv lvr2plot lvr2plot_7 m|0 ma mac macr macro makecns man manova manova_estat manova_p manovatest mantel mark markin markout marksample mat mat_capp mat_order mat_put_rr mat_rapp mata mata_clear mata_describe mata_drop mata_matdescribe mata_matsave mata_matuse mata_memory mata_mlib mata_mosave mata_rename mata_which matalabel matcproc matlist matname matr matri matrix matrix_input__dlg matstrik mcc mcci md0_ md1_ md1debug_ md2_ md2debug_ mds mds_estat mds_p mdsconfig mdslong mdsmat mdsshepard mdytoe mdytof me_derd mean means median memory memsize meqparse mer merg merge mfp mfx mhelp mhodds minbound mixed_ll mixed_ll_reparm mkassert mkdir mkmat mkspline ml ml_5 ml_adjs ml_bhhhs ml_c_d ml_check ml_clear ml_cnt ml_debug ml_defd ml_e0 ml_e0_bfgs ml_e0_cycle ml_e0_dfp ml_e0i ml_e1 ml_e1_bfgs ml_e1_bhhh ml_e1_cycle ml_e1_dfp ml_e2 ml_e2_cycle ml_ebfg0 ml_ebfr0 ml_ebfr1 ml_ebh0q ml_ebhh0 ml_ebhr0 ml_ebr0i ml_ecr0i ml_edfp0 ml_edfr0 ml_edfr1 ml_edr0i ml_eds ml_eer0i ml_egr0i ml_elf ml_elf_bfgs ml_elf_bhhh ml_elf_cycle ml_elf_dfp ml_elfi ml_elfs ml_enr0i ml_enrr0 ml_erdu0 ml_erdu0_bfgs ml_erdu0_bhhh ml_erdu0_bhhhq ml_erdu0_cycle ml_erdu0_dfp ml_erdu0_nrbfgs ml_exde ml_footnote ml_geqnr ml_grad0 ml_graph ml_hbhhh ml_hd0 ml_hold ml_init ml_inv ml_log ml_max ml_mlout ml_mlout_8 ml_model ml_nb0 ml_opt ml_p ml_plot ml_query ml_rdgrd ml_repor ml_s_e ml_score ml_searc ml_technique ml_unhold mleval mlf_ mlmatbysum mlmatsum mlog mlogi mlogit mlogit_footnote mlogit_p mlopts mlsum mlvecsum mnl0_ mor more mov move mprobit mprobit_lf mprobit_p mrdu0_ mrdu1_ mvdecode mvencode mvreg mvreg_estat n|0 nbreg nbreg_al nbreg_lf nbreg_p nbreg_sw nestreg net newey newey_7 newey_p news nl nl_7 nl_9 nl_9_p nl_p nl_p_7 nlcom nlcom_p nlexp2 nlexp2_7 nlexp2a nlexp2a_7 nlexp3 nlexp3_7 nlgom3 nlgom3_7 nlgom4 nlgom4_7 nlinit nllog3 nllog3_7 nllog4 nllog4_7 nlog_rd nlogit nlogit_p nlogitgen nlogittree nlpred no nobreak noi nois noisi noisil noisily note notes notes_dlg nptrend numlabel numlist odbc old_ver olo olog ologi ologi_sw ologit ologit_p ologitp on one onew onewa oneway op_colnm op_comp op_diff op_inv op_str opr opro oprob oprob_sw oprobi oprobi_p oprobit oprobitp opts_exclusive order orthog orthpoly ou out outf outfi outfil outfile outs outsh outshe outshee outsheet ovtest pac pac_7 palette parse parse_dissim pause pca pca_8 pca_display pca_estat pca_p pca_rotate pcamat pchart pchart_7 pchi pchi_7 pcorr pctile pentium pergram pergram_7 permute permute_8 personal peto_st pkcollapse pkcross pkequiv pkexamine pkexamine_7 pkshape pksumm pksumm_7 pl plo plot plugin pnorm pnorm_7 poisgof poiss_lf poiss_sw poisso_p poisson poisson_estat post postclose postfile postutil pperron pr prais prais_e prais_e2 prais_p predict predictnl preserve print pro prob probi probit probit_estat probit_p proc_time procoverlay procrustes procrustes_estat procrustes_p profiler prog progr progra program prop proportion prtest prtesti pwcorr pwd q\\\\s qby qbys qchi qchi_7 qladder qladder_7 qnorm qnorm_7 qqplot qqplot_7 qreg qreg_c qreg_p qreg_sw qu quadchk quantile quantile_7 que quer query range ranksum ratio rchart rchart_7 rcof recast reclink recode reg reg3 reg3_p regdw regr regre regre_p2 regres regres_p regress regress_estat regriv_p remap ren rena renam rename renpfix repeat replace report reshape restore ret retu retur return rm rmdir robvar roccomp roccomp_7 roccomp_8 rocf_lf rocfit rocfit_8 rocgold rocplot rocplot_7 roctab roctab_7 rolling rologit rologit_p rot rota rotat rotate rotatemat rreg rreg_p ru run runtest rvfplot rvfplot_7 rvpplot rvpplot_7 sa safesum sample sampsi sav save savedresults saveold sc sca scal scala scalar scatter scm_mine sco scob_lf scob_p scobi_sw scobit scor score scoreplot scoreplot_help scree screeplot screeplot_help sdtest sdtesti se search separate seperate serrbar serrbar_7 serset set set_defaults sfrancia sh she shel shell shewhart shewhart_7 signestimationsample signrank signtest simul simul_7 simulate simulate_8 sktest sleep slogit slogit_d2 slogit_p smooth snapspan so sor sort spearman spikeplot spikeplot_7 spikeplt spline_x split sqreg sqreg_p sret sretu sretur sreturn ssc st st_ct st_hc st_hcd st_hcd_sh st_is st_issys st_note st_promo st_set st_show st_smpl st_subid stack statsby statsby_8 stbase stci stci_7 stcox stcox_estat stcox_fr stcox_fr_ll stcox_p stcox_sw stcoxkm stcoxkm_7 stcstat stcurv stcurve stcurve_7 stdes stem stepwise stereg stfill stgen stir stjoin stmc stmh stphplot stphplot_7 stphtest stphtest_7 stptime strate strate_7 streg streg_sw streset sts sts_7 stset stsplit stsum sttocc sttoct stvary stweib su suest suest_8 sum summ summa summar summari summariz summarize sunflower sureg survcurv survsum svar svar_p svmat svy svy_disp svy_dreg svy_est svy_est_7 svy_estat svy_get svy_gnbreg_p svy_head svy_header svy_heckman_p svy_heckprob_p svy_intreg_p svy_ivreg_p svy_logistic_p svy_logit_p svy_mlogit_p svy_nbreg_p svy_ologit_p svy_oprobit_p svy_poisson_p svy_probit_p svy_regress_p svy_sub svy_sub_7 svy_x svy_x_7 svy_x_p svydes svydes_8 svygen svygnbreg svyheckman svyheckprob svyintreg svyintreg_7 svyintrg svyivreg svylc svylog_p svylogit svymarkout svymarkout_8 svymean svymlog svymlogit svynbreg svyolog svyologit svyoprob svyoprobit svyopts svypois svypois_7 svypoisson svyprobit svyprobt svyprop svyprop_7 svyratio svyreg svyreg_p svyregress svyset svyset_7 svyset_8 svytab svytab_7 svytest svytotal sw sw_8 swcnreg swcox swereg swilk swlogis swlogit swologit swoprbt swpois swprobit swqreg swtobit swweib symmetry symmi symplot symplot_7 syntax sysdescribe sysdir sysuse szroeter ta tab tab1 tab2 tab_or tabd tabdi tabdis tabdisp tabi table tabodds tabodds_7 tabstat tabu tabul tabula tabulat tabulate te tempfile tempname tempvar tes test testnl testparm teststd tetrachoric time_it timer tis tob tobi tobit tobit_p tobit_sw token tokeni tokeniz tokenize tostring total translate translator transmap treat_ll treatr_p treatreg trim trnb_cons trnb_mean trpoiss_d2 trunc_ll truncr_p truncreg tsappend tset tsfill tsline tsline_ex tsreport tsrevar tsrline tsset tssmooth tsunab ttest ttesti tut_chk tut_wait tutorial tw tware_st two twoway twoway__fpfit_serset twoway__function_gen twoway__histogram_gen twoway__ipoint_serset twoway__ipoints_serset twoway__kdensity_gen twoway__lfit_serset twoway__normgen_gen twoway__pci_serset twoway__qfit_serset twoway__scatteri_serset twoway__sunflower_gen twoway_ksm_serset ty typ type typeof u|0 unab unabbrev unabcmd update us use uselabel var var_mkcompanion var_p varbasic varfcast vargranger varirf varirf_add varirf_cgraph varirf_create varirf_ctable varirf_describe varirf_dir varirf_drop varirf_erase varirf_graph varirf_ograph varirf_rename varirf_set varirf_table varlist varlmar varnorm varsoc varstable varstable_w varstable_w2 varwle vce vec vec_fevd vec_mkphi vec_p vec_p_w vecirf_create veclmar veclmar_w vecnorm vecnorm_w vecrank vecstable verinst vers versi versio version view viewsource vif vwls wdatetof webdescribe webseek webuse weib1_lf weib2_lf weib_lf weib_lf0 weibhet_glf weibhet_glf_sh weibhet_glfa weibhet_glfa_sh weibhet_gp weibhet_ilf weibhet_ilf_sh weibhet_ilfa weibhet_ilfa_sh weibhet_ip weibu_sw weibul_p weibull weibull_c weibull_s weibullhet wh whelp whi which whil while wilc_st wilcoxon win wind windo window winexec wntestb wntestb_7 wntestq xchart xchart_7 xcorr xcorr_7 xi xi_6 xmlsav xmlsave xmluse xpose xsh xshe xshel xshell xt_iis xt_tis xtab_p xtabond xtbin_p xtclog xtcloglog xtcloglog_8 xtcloglog_d2 xtcloglog_pa_p xtcloglog_re_p xtcnt_p xtcorr xtdata xtdes xtfront_p xtfrontier xtgee xtgee_elink xtgee_estat xtgee_makeivar xtgee_p xtgee_plink xtgls xtgls_p xthaus xthausman xtht_p xthtaylor xtile xtint_p xtintreg xtintreg_8 xtintreg_d2 xtintreg_p xtivp_1 xtivp_2 xtivreg xtline xtline_ex xtlogit xtlogit_8 xtlogit_d2 xtlogit_fe_p xtlogit_pa_p xtlogit_re_p xtmixed xtmixed_estat xtmixed_p xtnb_fe xtnb_lf xtnbreg xtnbreg_pa_p xtnbreg_refe_p xtpcse xtpcse_p xtpois xtpoisson xtpoisson_d2 xtpoisson_pa_p xtpoisson_refe_p xtpred xtprobit xtprobit_8 xtprobit_d2 xtprobit_re_p xtps_fe xtps_lf xtps_ren xtps_ren_8 xtrar_p xtrc xtrc_p xtrchh xtrefe_p xtreg xtreg_be xtreg_fe xtreg_ml xtreg_pa_p xtreg_re xtregar xtrere_p xtset xtsf_ll xtsf_llti xtsum xttab xttest0 xttobit xttobit_8 xttobit_p xttrans yx yxview__barlike_draw yxview_area_draw yxview_bar_draw yxview_dot_draw yxview_dropline_draw yxview_function_draw yxview_iarrow_draw yxview_ilabels_draw yxview_normal_draw yxview_pcarrow_draw yxview_pcbarrow_draw yxview_pccapsym_draw yxview_pcscatter_draw yxview_pcspike_draw yxview_rarea_draw yxview_rbar_draw yxview_rbarm_draw yxview_rcap_draw yxview_rcapsym_draw yxview_rconnected_draw yxview_rline_draw yxview_rscatter_draw yxview_rspike_draw yxview_spike_draw yxview_sunflower_draw zap_s zinb zinb_llf zinb_plf zip zip_llf zip_p zip_plf zt_ct_5 zt_hc_5 zt_hcd_5 zt_is_5 zt_iss_5 zt_sho_5 zt_smp_5 ztbase_5 ztcox_5 ztdes_5 ztereg_5 ztfill_5 ztgen_5 ztir_5 ztjoin_5 ztnb ztnb_p ztp ztp_p zts_5 ztset_5 ztspli_5 ztsum_5 zttoct_5 ztvary_5 ztweib_5\",c:[{cN:\"symbol\",b:/`[a-zA-Z0-9_]+'/},{cN:\"variable\",b:/\\$\\{?[a-zA-Z0-9_]+\\}?/},{cN:\"string\",v:[{b:'`\"[^\\r\\n]*?\"\\''},{b:'\"[^\\r\\n\"]*\"'}]},{cN:\"built_in\",v:[{b:\"\\\\b(abs|acos|asin|atan|atan2|atanh|ceil|cloglog|comb|cos|digamma|exp|floor|invcloglog|invlogit|ln|lnfact|lnfactorial|lngamma|log|log10|max|min|mod|reldif|round|sign|sin|sqrt|sum|tan|tanh|trigamma|trunc|betaden|Binomial|binorm|binormal|chi2|chi2tail|dgammapda|dgammapdada|dgammapdadx|dgammapdx|dgammapdxdx|F|Fden|Ftail|gammaden|gammap|ibeta|invbinomial|invchi2|invchi2tail|invF|invFtail|invgammap|invibeta|invnchi2|invnFtail|invnibeta|invnorm|invnormal|invttail|nbetaden|nchi2|nFden|nFtail|nibeta|norm|normal|normalden|normd|npnchi2|tden|ttail|uniform|abbrev|char|index|indexnot|length|lower|ltrim|match|plural|proper|real|regexm|regexr|regexs|reverse|rtrim|string|strlen|strlower|strltrim|strmatch|strofreal|strpos|strproper|strreverse|strrtrim|strtrim|strupper|subinstr|subinword|substr|trim|upper|word|wordcount|_caller|autocode|byteorder|chop|clip|cond|e|epsdouble|epsfloat|group|inlist|inrange|irecode|matrix|maxbyte|maxdouble|maxfloat|maxint|maxlong|mi|minbyte|mindouble|minfloat|minint|minlong|missing|r|recode|replay|return|s|scalar|d|date|day|dow|doy|halfyear|mdy|month|quarter|week|year|d|daily|dofd|dofh|dofm|dofq|dofw|dofy|h|halfyearly|hofd|m|mofd|monthly|q|qofd|quarterly|tin|twithin|w|weekly|wofd|y|yearly|yh|ym|yofd|yq|yw|cholesky|colnumb|colsof|corr|det|diag|diag0cnt|el|get|hadamard|I|inv|invsym|issym|issymmetric|J|matmissing|matuniform|mreldif|nullmat|rownumb|rowsof|sweep|syminv|trace|vec|vecdiag)(?=\\\\(|$)\"}]},e.C(\"^[ \t]*\\\\*.*$\",!1),e.CLCM,e.CBCM]}}),e.registerLanguage(\"step21\",function(e){var t=\"[A-Z_][A-Z0-9_.]*\",r={keyword:\"HEADER ENDSEC DATA\"},a={cN:\"meta\",b:\"ISO-10303-21;\",r:10},i={cN:\"meta\",b:\"END-ISO-10303-21;\",r:10};return{aliases:[\"p21\",\"step\",\"stp\"],cI:!0,l:t,k:r,c:[a,i,e.CLCM,e.CBCM,e.C(\"/\\\\*\\\\*!\",\"\\\\*/\"),e.CNM,e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null}),{cN:\"string\",b:\"'\",e:\"'\"},{cN:\"symbol\",v:[{b:\"#\",e:\"\\\\d+\",i:\"\\\\W\"}]}]}}),e.registerLanguage(\"stylus\",function(e){var t={cN:\"variable\",b:\"\\\\$\"+e.IR},r={cN:\"number\",b:\"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})\"},a=[\"charset\",\"css\",\"debug\",\"extend\",\"font-face\",\"for\",\"import\",\"include\",\"media\",\"mixin\",\"page\",\"warn\",\"while\"],i=[\"after\",\"before\",\"first-letter\",\"first-line\",\"active\",\"first-child\",\"focus\",\"hover\",\"lang\",\"link\",\"visited\"],n=[\"a\",\"abbr\",\"address\",\"article\",\"aside\",\"audio\",\"b\",\"blockquote\",\"body\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"dd\",\"del\",\"details\",\"dfn\",\"div\",\"dl\",\"dt\",\"em\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"label\",\"legend\",\"li\",\"mark\",\"menu\",\"nav\",\"object\",\"ol\",\"p\",\"q\",\"quote\",\"samp\",\"section\",\"span\",\"strong\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"ul\",\"var\",\"video\"],o=\"[\\\\.\\\\s\\\\n\\\\[\\\\:,]\",s=[\"align-content\",\"align-items\",\"align-self\",\"animation\",\"animation-delay\",\"animation-direction\",\"animation-duration\",\"animation-fill-mode\",\"animation-iteration-count\",\"animation-name\",\"animation-play-state\",\"animation-timing-function\",\"auto\",\"backface-visibility\",\"background\",\"background-attachment\",\"background-clip\",\"background-color\",\"background-image\",\"background-origin\",\"background-position\",\"background-repeat\",\"background-size\",\"border\",\"border-bottom\",\"border-bottom-color\",\"border-bottom-left-radius\",\"border-bottom-right-radius\",\"border-bottom-style\",\"border-bottom-width\",\"border-collapse\",\"border-color\",\"border-image\",\"border-image-outset\",\"border-image-repeat\",\"border-image-slice\",\"border-image-source\",\"border-image-width\",\"border-left\",\"border-left-color\",\"border-left-style\",\"border-left-width\",\"border-radius\",\"border-right\",\"border-right-color\",\"border-right-style\",\"border-right-width\",\"border-spacing\",\"border-style\",\"border-top\",\"border-top-color\",\"border-top-left-radius\",\"border-top-right-radius\",\"border-top-style\",\"border-top-width\",\"border-width\",\"bottom\",\"box-decoration-break\",\"box-shadow\",\"box-sizing\",\"break-after\",\"break-before\",\"break-inside\",\"caption-side\",\"clear\",\"clip\",\"clip-path\",\"color\",\"column-count\",\"column-fill\",\"column-gap\",\"column-rule\",\"column-rule-color\",\"column-rule-style\",\"column-rule-width\",\"column-span\",\"column-width\",\"columns\",\"content\",\"counter-increment\",\"counter-reset\",\"cursor\",\"direction\",\"display\",\"empty-cells\",\"filter\",\"flex\",\"flex-basis\",\"flex-direction\",\"flex-flow\",\"flex-grow\",\"flex-shrink\",\"flex-wrap\",\"float\",\"font\",\"font-family\",\"font-feature-settings\",\"font-kerning\",\"font-language-override\",\"font-size\",\"font-size-adjust\",\"font-stretch\",\"font-style\",\"font-variant\",\"font-variant-ligatures\",\"font-weight\",\"height\",\"hyphens\",\"icon\",\"image-orientation\",\"image-rendering\",\"image-resolution\",\"ime-mode\",\"inherit\",\"initial\",\"justify-content\",\"left\",\"letter-spacing\",\"line-height\",\"list-style\",\"list-style-image\",\"list-style-position\",\"list-style-type\",\"margin\",\"margin-bottom\",\"margin-left\",\"margin-right\",\"margin-top\",\"marks\",\"mask\",\"max-height\",\"max-width\",\"min-height\",\"min-width\",\"nav-down\",\"nav-index\",\"nav-left\",\"nav-right\",\"nav-up\",\"none\",\"normal\",\"object-fit\",\"object-position\",\"opacity\",\"order\",\"orphans\",\"outline\",\"outline-color\",\"outline-offset\",\"outline-style\",\"outline-width\",\"overflow\",\"overflow-wrap\",\"overflow-x\",\"overflow-y\",\"padding\",\"padding-bottom\",\"padding-left\",\"padding-right\",\"padding-top\",\"page-break-after\",\"page-break-before\",\"page-break-inside\",\"perspective\",\"perspective-origin\",\"pointer-events\",\"position\",\"quotes\",\"resize\",\"right\",\"tab-size\",\"table-layout\",\"text-align\",\"text-align-last\",\"text-decoration\",\"text-decoration-color\",\"text-decoration-line\",\"text-decoration-style\",\"text-indent\",\"text-overflow\",\"text-rendering\",\"text-shadow\",\"text-transform\",\"text-underline-position\",\"top\",\"transform\",\"transform-origin\",\"transform-style\",\"transition\",\"transition-delay\",\"transition-duration\",\"transition-property\",\"transition-timing-function\",\"unicode-bidi\",\"vertical-align\",\"visibility\",\"white-space\",\"widows\",\"width\",\"word-break\",\"word-spacing\",\"word-wrap\",\"z-index\"],l=[\"\\\\?\",\"(\\\\bReturn\\\\b)\",\"(\\\\bEnd\\\\b)\",\"(\\\\bend\\\\b)\",\"(\\\\bdef\\\\b)\",\";\",\"#\\\\s\",\"\\\\*\\\\s\",\"===\\\\s\",\"\\\\|\",\"%\"];\nreturn{aliases:[\"styl\"],cI:!1,k:\"if else for in\",i:\"(\"+l.join(\"|\")+\")\",c:[e.QSM,e.ASM,e.CLCM,e.CBCM,r,{b:\"\\\\.[a-zA-Z][a-zA-Z0-9_-]*\"+o,rB:!0,c:[{cN:\"selector-class\",b:\"\\\\.[a-zA-Z][a-zA-Z0-9_-]*\"}]},{b:\"\\\\#[a-zA-Z][a-zA-Z0-9_-]*\"+o,rB:!0,c:[{cN:\"selector-id\",b:\"\\\\#[a-zA-Z][a-zA-Z0-9_-]*\"}]},{b:\"\\\\b(\"+n.join(\"|\")+\")\"+o,rB:!0,c:[{cN:\"selector-tag\",b:\"\\\\b[a-zA-Z][a-zA-Z0-9_-]*\"}]},{b:\"&?:?:\\\\b(\"+i.join(\"|\")+\")\"+o},{b:\"@(\"+a.join(\"|\")+\")\\\\b\"},t,e.CSSNM,e.NM,{cN:\"function\",b:\"^[a-zA-Z][a-zA-Z0-9_-]*\\\\(.*\\\\)\",i:\"[\\\\n]\",rB:!0,c:[{cN:\"title\",b:\"\\\\b[a-zA-Z][a-zA-Z0-9_-]*\"},{cN:\"params\",b:/\\(/,e:/\\)/,c:[r,t,e.ASM,e.CSSNM,e.NM,e.QSM]}]},{cN:\"attribute\",b:\"\\\\b(\"+s.reverse().join(\"|\")+\")\\\\b\",starts:{e:/;|$/,c:[r,t,e.ASM,e.QSM,e.CSSNM,e.NM,e.CBCM],i:/\\./,r:0}}]}}),e.registerLanguage(\"subunit\",function(e){var t={cN:\"string\",b:\"\\\\[\\n(multipart)?\",e:\"\\\\]\\n\"},r={cN:\"string\",b:\"\\\\d{4}-\\\\d{2}-\\\\d{2}(\\\\s+)\\\\d{2}:\\\\d{2}:\\\\d{2}.\\\\d+Z\"},a={cN:\"string\",b:\"(\\\\+|-)\\\\d+\"},i={cN:\"keyword\",r:10,v:[{b:\"^(test|testing|success|successful|failure|error|skip|xfail|uxsuccess)(:?)\\\\s+(test)?\"},{b:\"^progress(:?)(\\\\s+)?(pop|push)?\"},{b:\"^tags:\"},{b:\"^time:\"}]};return{cI:!0,c:[t,r,a,i]}}),e.registerLanguage(\"swift\",function(e){var t={keyword:\"__COLUMN__ __FILE__ __FUNCTION__ __LINE__ as as! as? associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet\",literal:\"true false nil\",built_in:\"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip\"},r={cN:\"type\",b:\"\\\\b[A-Z][\\\\wÀ-ʸ']*\",r:0},a=e.C(\"/\\\\*\",\"\\\\*/\",{c:[\"self\"]}),i={cN:\"subst\",b:/\\\\\\(/,e:\"\\\\)\",k:t,c:[]},n={cN:\"number\",b:\"\\\\b([\\\\d_]+(\\\\.[\\\\deE_]+)?|0x[a-fA-F0-9_]+(\\\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\\\b\",r:0},o=e.inherit(e.QSM,{c:[i,e.BE]});return i.c=[n],{k:t,c:[o,e.CLCM,a,r,n,{cN:\"function\",bK:\"func\",e:\"{\",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{b:/</,e:/>/},{cN:\"params\",b:/\\(/,e:/\\)/,endsParent:!0,k:t,c:[\"self\",n,o,e.CBCM,{b:\":\"}],i:/[\"']/}],i:/\\[|%/},{cN:\"class\",bK:\"struct protocol class extension enum\",k:t,e:\"\\\\{\",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][\\u00C0-\\u02B80-9A-Za-z$_]*/})]},{cN:\"meta\",b:\"(@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain)\"},{bK:\"import\",e:/$/,c:[e.CLCM,a]}]}}),e.registerLanguage(\"taggerscript\",function(e){var t={cN:\"comment\",b:/\\$noop\\(/,e:/\\)/,c:[{b:/\\(/,e:/\\)/,c:[\"self\",{b:/\\\\./}]}],r:10},r={cN:\"keyword\",b:/\\$(?!noop)[a-zA-Z][_a-zA-Z0-9]*/,e:/\\(/,eE:!0},a={cN:\"variable\",b:/%[_a-zA-Z0-9:]*/,e:\"%\"},i={cN:\"symbol\",b:/\\\\./};return{c:[t,r,a,i]}}),e.registerLanguage(\"yaml\",function(e){var t=\"true false yes no null\",r=\"^[ \\\\-]*\",a=\"[a-zA-Z_][\\\\w\\\\-]*\",i={cN:\"attr\",v:[{b:r+a+\":\"},{b:r+'\"'+a+'\":'},{b:r+\"'\"+a+\"':\"}]},n={cN:\"template-variable\",v:[{b:\"{{\",e:\"}}\"},{b:\"%{\",e:\"}\"}]},o={cN:\"string\",r:0,v:[{b:/'/,e:/'/},{b:/\"/,e:/\"/},{b:/\\S+/}],c:[e.BE,n]};return{cI:!0,aliases:[\"yml\",\"YAML\",\"yaml\"],c:[i,{cN:\"meta\",b:\"^---s*$\",r:10},{cN:\"string\",b:\"[\\\\|>] *$\",rE:!0,c:o.c,e:i.v[0].b},{b:\"<%[%=-]?\",e:\"[%-]?%>\",sL:\"ruby\",eB:!0,eE:!0,r:0},{cN:\"type\",b:\"!!\"+e.UIR},{cN:\"meta\",b:\"&\"+e.UIR+\"$\"},{cN:\"meta\",b:\"\\\\*\"+e.UIR+\"$\"},{cN:\"bullet\",b:\"^ *-\",r:0},e.HCM,{bK:t,k:{literal:t}},e.CNM,o]}}),e.registerLanguage(\"tap\",function(e){return{cI:!0,c:[e.HCM,{cN:\"meta\",v:[{b:\"^TAP version (\\\\d+)$\"},{b:\"^1\\\\.\\\\.(\\\\d+)$\"}]},{b:\"(s+)?---$\",e:\"\\\\.\\\\.\\\\.$\",sL:\"yaml\",r:0},{cN:\"number\",b:\" (\\\\d+) \"},{cN:\"symbol\",v:[{b:\"^ok\"},{b:\"^not ok\"}]}]}}),e.registerLanguage(\"tcl\",function(e){return{aliases:[\"tk\"],k:\"after append apply array auto_execok auto_import auto_load auto_mkindex auto_mkindex_old auto_qualify auto_reset bgerror binary break catch cd chan clock close concat continue dde dict encoding eof error eval exec exit expr fblocked fconfigure fcopy file fileevent filename flush for foreach format gets glob global history http if incr info interp join lappend|10 lassign|10 lindex|10 linsert|10 list llength|10 load lrange|10 lrepeat|10 lreplace|10 lreverse|10 lsearch|10 lset|10 lsort|10 mathfunc mathop memory msgcat namespace open package parray pid pkg::create pkg_mkIndex platform platform::shell proc puts pwd read refchan regexp registry regsub|10 rename return safe scan seek set socket source split string subst switch tcl_endOfWord tcl_findLibrary tcl_startOfNextWord tcl_startOfPreviousWord tcl_wordBreakAfter tcl_wordBreakBefore tcltest tclvars tell time tm trace unknown unload unset update uplevel upvar variable vwait while\",c:[e.C(\";[ \\\\t]*#\",\"$\"),e.C(\"^[ \\\\t]*#\",\"$\"),{bK:\"proc\",e:\"[\\\\{]\",eE:!0,c:[{cN:\"title\",b:\"[ \\\\t\\\\n\\\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*\",e:\"[ \\\\t\\\\n\\\\r]\",eW:!0,eE:!0}]},{eE:!0,v:[{b:\"\\\\$(\\\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*\\\\(([a-zA-Z0-9_])*\\\\)\",e:\"[^a-zA-Z0-9_\\\\}\\\\$]\"},{b:\"\\\\$(\\\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*\",e:\"(\\\\))?[^a-zA-Z0-9_\\\\}\\\\$]\"}]},{cN:\"string\",c:[e.BE],v:[e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},{cN:\"number\",v:[e.BNM,e.CNM]}]}}),e.registerLanguage(\"tex\",function(e){var t={cN:\"tag\",b:/\\\\/,r:0,c:[{cN:\"name\",v:[{b:/[a-zA-Zа-яА-я]+[*]?/},{b:/[^a-zA-Zа-яА-я0-9]/}],starts:{eW:!0,r:0,c:[{cN:\"string\",v:[{b:/\\[/,e:/\\]/},{b:/\\{/,e:/\\}/}]},{b:/\\s*=\\s*/,eW:!0,r:0,c:[{cN:\"number\",b:/-?\\d*\\.?\\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?/}]}]}}]};return{c:[t,{cN:\"formula\",c:[t],r:0,v:[{b:/\\$\\$/,e:/\\$\\$/},{b:/\\$/,e:/\\$/}]},e.C(\"%\",\"$\",{r:0})]}}),e.registerLanguage(\"thrift\",function(e){var t=\"bool byte i16 i32 i64 double string binary\";return{k:{keyword:\"namespace const typedef struct enum service exception void oneway set list map required optional\",built_in:t,literal:\"true false\"},c:[e.QSM,e.NM,e.CLCM,e.CBCM,{cN:\"class\",bK:\"struct enum service exception\",e:/\\{/,i:/\\n/,c:[e.inherit(e.TM,{starts:{eW:!0,eE:!0}})]},{b:\"\\\\b(set|list|map)\\\\s*<\",e:\">\",k:t,c:[\"self\"]}]}}),e.registerLanguage(\"tp\",function(e){var t={cN:\"number\",b:\"[1-9][0-9]*\",r:0},r={cN:\"symbol\",b:\":[^\\\\]]+\"},a={cN:\"built_in\",b:\"(AR|P|PAYLOAD|PR|R|SR|RSR|LBL|VR|UALM|MESSAGE|UTOOL|UFRAME|TIMER|    TIMER_OVERFLOW|JOINT_MAX_SPEED|RESUME_PROG|DIAG_REC)\\\\[\",e:\"\\\\]\",c:[\"self\",t,r]},i={cN:\"built_in\",b:\"(AI|AO|DI|DO|F|RI|RO|UI|UO|GI|GO|SI|SO)\\\\[\",e:\"\\\\]\",c:[\"self\",t,e.QSM,r]};return{k:{keyword:\"ABORT ACC ADJUST AND AP_LD BREAK CALL CNT COL CONDITION CONFIG DA DB DIV DETECT ELSE END ENDFOR ERR_NUM ERROR_PROG FINE FOR GP GUARD INC IF JMP LINEAR_MAX_SPEED LOCK MOD MONITOR OFFSET Offset OR OVERRIDE PAUSE PREG PTH RT_LD RUN SELECT SKIP Skip TA TB TO TOOL_OFFSET Tool_Offset UF UT UFRAME_NUM UTOOL_NUM UNLOCK WAIT X Y Z W P R STRLEN SUBSTR FINDSTR VOFFSET PROG ATTR MN POS\",literal:\"ON OFF max_speed LPOS JPOS ENABLE DISABLE START STOP RESET\"},c:[a,i,{cN:\"keyword\",b:\"/(PROG|ATTR|MN|POS|END)\\\\b\"},{cN:\"keyword\",b:\"(CALL|RUN|POINT_LOGIC|LBL)\\\\b\"},{cN:\"keyword\",b:\"\\\\b(ACC|CNT|Skip|Offset|PSPD|RT_LD|AP_LD|Tool_Offset)\"},{cN:\"number\",b:\"\\\\d+(sec|msec|mm/sec|cm/min|inch/min|deg/sec|mm|in|cm)?\\\\b\",r:0},e.C(\"//\",\"[;$]\"),e.C(\"!\",\"[;$]\"),e.C(\"--eg:\",\"$\"),e.QSM,{cN:\"string\",b:\"'\",e:\"'\"},e.CNM,{cN:\"variable\",b:\"\\\\$[A-Za-z0-9_]+\"}]}}),e.registerLanguage(\"twig\",function(e){var t={cN:\"params\",b:\"\\\\(\",e:\"\\\\)\"},r=\"attribute block constant cycle date dump include max min parent random range source template_from_string\",a={bK:r,k:{name:r},r:0,c:[t]},i={b:/\\|[A-Za-z_]+:?/,k:\"abs batch capitalize convert_encoding date date_modify default escape first format join json_encode keys last length lower merge nl2br number_format raw replace reverse round slice sort split striptags title trim upper url_encode\",c:[a]},n=\"autoescape block do embed extends filter flush for if import include macro sandbox set spaceless use verbatim\";return n=n+\" \"+n.split(\" \").map(function(e){return\"end\"+e}).join(\" \"),{aliases:[\"craftcms\"],cI:!0,sL:\"xml\",c:[e.C(/\\{#/,/#}/),{cN:\"template-tag\",b:/\\{%/,e:/%}/,c:[{cN:\"name\",b:/\\w+/,k:n,starts:{eW:!0,c:[i,a],r:0}}]},{cN:\"template-variable\",b:/\\{\\{/,e:/}}/,c:[\"self\",i,a]}]}}),e.registerLanguage(\"typescript\",function(e){var t={keyword:\"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class public private protected get set super static implements enum export import declare type namespace abstract as from extends async await\",literal:\"true false null undefined NaN Infinity\",built_in:\"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document any number boolean string void Promise\"};return{aliases:[\"ts\"],k:t,c:[{cN:\"meta\",b:/^\\s*['\"]use strict['\"]/},e.ASM,e.QSM,{cN:\"string\",b:\"`\",e:\"`\",c:[e.BE,{cN:\"subst\",b:\"\\\\$\\\\{\",e:\"\\\\}\"}]},e.CLCM,e.CBCM,{cN:\"number\",v:[{b:\"\\\\b(0[bB][01]+)\"},{b:\"\\\\b(0[oO][0-7]+)\"},{b:e.CNR}],r:0},{b:\"(\"+e.RSR+\"|\\\\b(case|return|throw)\\\\b)\\\\s*\",k:\"return throw case\",c:[e.CLCM,e.CBCM,e.RM,{cN:\"function\",b:\"(\\\\(.*?\\\\)|\"+e.IR+\")\\\\s*=>\",rB:!0,e:\"\\\\s*=>\",c:[{cN:\"params\",v:[{b:e.IR},{b:/\\(\\s*\\)/},{b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:t,c:[\"self\",e.CLCM,e.CBCM]}]}]}],r:0},{cN:\"function\",b:\"function\",e:/[\\{;]/,eE:!0,k:t,c:[\"self\",e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:t,c:[e.CLCM,e.CBCM],i:/[\"'\\(]/}],i:/%/,r:0},{bK:\"constructor\",e:/\\{/,eE:!0,c:[\"self\",{cN:\"params\",b:/\\(/,e:/\\)/,eB:!0,eE:!0,k:t,c:[e.CLCM,e.CBCM],i:/[\"'\\(]/}]},{b:/module\\./,k:{built_in:\"module\"},r:0},{bK:\"module\",e:/\\{/,eE:!0},{bK:\"interface\",e:/\\{/,eE:!0,k:\"interface extends\"},{b:/\\$[(.]/},{b:\"\\\\.\"+e.IR,r:0},{cN:\"meta\",b:\"@[A-Za-z]+\"}]}}),e.registerLanguage(\"vala\",function(e){return{k:{keyword:\"char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 uint16 uint32 uint64 float double bool struct enum string void weak unowned owned async signal static abstract interface override virtual delegate if while do for foreach else switch case break default return try catch public private protected internal using new this get set const stdout stdin stderr var\",built_in:\"DBus GLib CCode Gee Object Gtk Posix\",literal:\"false true null\"},c:[{cN:\"class\",bK:\"class interface namespace\",e:\"{\",eE:!0,i:\"[^,:\\\\n\\\\s\\\\.]\",c:[e.UTM]},e.CLCM,e.CBCM,{cN:\"string\",b:'\"\"\"',e:'\"\"\"',r:5},e.ASM,e.QSM,e.CNM,{cN:\"meta\",b:\"^#\",e:\"$\",r:2}]}}),e.registerLanguage(\"vbnet\",function(e){return{aliases:[\"vb\"],cI:!0,k:{keyword:\"addhandler addressof alias and andalso aggregate ansi as assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into is isfalse isnot istrue join key let lib like loop me mid mod module mustinherit mustoverride mybase myclass namespace narrowing new next not notinheritable notoverridable of off on operator option optional or order orelse overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim rem removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly xor\",built_in:\"boolean byte cbool cbyte cchar cdate cdec cdbl char cint clng cobj csbyte cshort csng cstr ctype date decimal directcast double gettype getxmlnamespace iif integer long object sbyte short single string trycast typeof uinteger ulong ushort\",literal:\"true false nothing\"},i:\"//|{|}|endif|gosub|variant|wend\",c:[e.inherit(e.QSM,{c:[{b:'\"\"'}]}),e.C(\"'\",\"$\",{rB:!0,c:[{cN:\"doctag\",b:\"'''|<!--|-->\",c:[e.PWM]},{cN:\"doctag\",b:\"</?\",e:\">\",c:[e.PWM]}]}),e.CNM,{cN:\"meta\",b:\"#\",e:\"$\",k:{\"meta-keyword\":\"if else elseif end region externalsource\"}}]}}),e.registerLanguage(\"vbscript\",function(e){return{aliases:[\"vbs\"],cI:!0,k:{keyword:\"call class const dim do loop erase execute executeglobal exit for each next function if then else on error option explicit new private property let get public randomize redim rem select case set stop sub while wend with end to elseif is or xor and not class_initialize class_terminate default preserve in me byval byref step resume goto\",built_in:\"lcase month vartype instrrev ubound setlocale getobject rgb getref string weekdayname rnd dateadd monthname now day minute isarray cbool round formatcurrency conversions csng timevalue second year space abs clng timeserial fixs len asc isempty maths dateserial atn timer isobject filter weekday datevalue ccur isdate instr datediff formatdatetime replace isnull right sgn array snumeric log cdbl hex chr lbound msgbox ucase getlocale cos cdate cbyte rtrim join hour oct typename trim strcomp int createobject loadpicture tan formatnumber mid scriptenginebuildversion scriptengine split scriptengineminorversion cint sin datepart ltrim sqr scriptenginemajorversion time derived eval date formatpercent exp inputbox left ascw chrw regexp server response request cstr err\",literal:\"true false null nothing empty\"},i:\"//\",c:[e.inherit(e.QSM,{c:[{b:'\"\"'}]}),e.C(/'/,/$/,{r:0}),e.CNM]}}),e.registerLanguage(\"vbscript-html\",function(e){return{sL:\"xml\",c:[{b:\"<%\",e:\"%>\",sL:\"vbscript\"}]}}),e.registerLanguage(\"verilog\",function(e){var t={keyword:\"accept_on alias always always_comb always_ff always_latch and assert assign assume automatic before begin bind bins binsof bit break buf|0 bufif0 bufif1 byte case casex casez cell chandle checker class clocking cmos config const constraint context continue cover covergroup coverpoint cross deassign default defparam design disable dist do edge else end endcase endchecker endclass endclocking endconfig endfunction endgenerate endgroup endinterface endmodule endpackage endprimitive endprogram endproperty endspecify endsequence endtable endtask enum event eventually expect export extends extern final first_match for force foreach forever fork forkjoin function generate|5 genvar global highz0 highz1 if iff ifnone ignore_bins illegal_bins implements implies import incdir include initial inout input inside instance int integer interconnect interface intersect join join_any join_none large let liblist library local localparam logic longint macromodule matches medium modport module nand negedge nettype new nexttime nmos nor noshowcancelled not notif0 notif1 or output package packed parameter pmos posedge primitive priority program property protected pull0 pull1 pulldown pullup pulsestyle_ondetect pulsestyle_onevent pure rand randc randcase randsequence rcmos real realtime ref reg reject_on release repeat restrict return rnmos rpmos rtran rtranif0 rtranif1 s_always s_eventually s_nexttime s_until s_until_with scalared sequence shortint shortreal showcancelled signed small soft solve specify specparam static string strong strong0 strong1 struct super supply0 supply1 sync_accept_on sync_reject_on table tagged task this throughout time timeprecision timeunit tran tranif0 tranif1 tri tri0 tri1 triand trior trireg type typedef union unique unique0 unsigned until until_with untyped use uwire var vectored virtual void wait wait_order wand weak weak0 weak1 while wildcard wire with within wor xnor xor\",literal:\"null\",built_in:\"$finish $stop $exit $fatal $error $warning $info $realtime $time $printtimescale $bitstoreal $bitstoshortreal $itor $signed $cast $bits $stime $timeformat $realtobits $shortrealtobits $rtoi $unsigned $asserton $assertkill $assertpasson $assertfailon $assertnonvacuouson $assertoff $assertcontrol $assertpassoff $assertfailoff $assertvacuousoff $isunbounded $sampled $fell $changed $past_gclk $fell_gclk $changed_gclk $rising_gclk $steady_gclk $coverage_control $coverage_get $coverage_save $set_coverage_db_name $rose $stable $past $rose_gclk $stable_gclk $future_gclk $falling_gclk $changing_gclk $display $coverage_get_max $coverage_merge $get_coverage $load_coverage_db $typename $unpacked_dimensions $left $low $increment $clog2 $ln $log10 $exp $sqrt $pow $floor $ceil $sin $cos $tan $countbits $onehot $isunknown $fatal $warning $dimensions $right $high $size $asin $acos $atan $atan2 $hypot $sinh $cosh $tanh $asinh $acosh $atanh $countones $onehot0 $error $info $random $dist_chi_square $dist_erlang $dist_exponential $dist_normal $dist_poisson $dist_t $dist_uniform $q_initialize $q_remove $q_exam $async$and$array $async$nand$array $async$or$array $async$nor$array $sync$and$array $sync$nand$array $sync$or$array $sync$nor$array $q_add $q_full $psprintf $async$and$plane $async$nand$plane $async$or$plane $async$nor$plane $sync$and$plane $sync$nand$plane $sync$or$plane $sync$nor$plane $system $display $displayb $displayh $displayo $strobe $strobeb $strobeh $strobeo $write $readmemb $readmemh $writememh $value$plusargs $dumpvars $dumpon $dumplimit $dumpports $dumpportson $dumpportslimit $writeb $writeh $writeo $monitor $monitorb $monitorh $monitoro $writememb $dumpfile $dumpoff $dumpall $dumpflush $dumpportsoff $dumpportsall $dumpportsflush $fclose $fdisplay $fdisplayb $fdisplayh $fdisplayo $fstrobe $fstrobeb $fstrobeh $fstrobeo $swrite $swriteb $swriteh $swriteo $fscanf $fread $fseek $fflush $feof $fopen $fwrite $fwriteb $fwriteh $fwriteo $fmonitor $fmonitorb $fmonitorh $fmonitoro $sformat $sformatf $fgetc $ungetc $fgets $sscanf $rewind $ftell $ferror\"};return{aliases:[\"v\",\"sv\",\"svh\"],cI:!1,k:t,l:/[\\w\\$]+/,c:[e.CBCM,e.CLCM,e.QSM,{cN:\"number\",c:[e.BE],v:[{b:\"\\\\b((\\\\d+'(b|h|o|d|B|H|O|D))[0-9xzXZa-fA-F_]+)\"},{b:\"\\\\B(('(b|h|o|d|B|H|O|D))[0-9xzXZa-fA-F_]+)\"},{b:\"\\\\b([0-9_])+\",r:0}]},{cN:\"variable\",v:[{b:\"#\\\\((?!parameter).+\\\\)\"},{b:\"\\\\.\\\\w+\",r:0}]},{cN:\"meta\",b:\"`\",e:\"$\",k:{\"meta-keyword\":\"define __FILE__ __LINE__ begin_keywords celldefine default_nettype define else elsif end_keywords endcelldefine endif ifdef ifndef include line nounconnected_drive pragma resetall timescale unconnected_drive undef undefineall\"},r:0}]}}),e.registerLanguage(\"vhdl\",function(e){var t=\"\\\\d(_|\\\\d)*\",r=\"[eE][-+]?\"+t,a=t+\"(\\\\.\"+t+\")?(\"+r+\")?\",i=\"\\\\w+\",n=t+\"#\"+i+\"(\\\\.\"+i+\")?#(\"+r+\")?\",o=\"\\\\b(\"+n+\"|\"+a+\")\";return{cI:!0,k:{keyword:\"abs access after alias all and architecture array assert assume assume_guarantee attribute begin block body buffer bus case component configuration constant context cover disconnect downto default else elsif end entity exit fairness file for force function generate generic group guarded if impure in inertial inout is label library linkage literal loop map mod nand new next nor not null of on open or others out package port postponed procedure process property protected pure range record register reject release rem report restrict restrict_guarantee return rol ror select sequence severity shared signal sla sll sra srl strong subtype then to transport type unaffected units until use variable vmode vprop vunit wait when while with xnor xor\",built_in:\"boolean bit character integer time delay_length natural positive string bit_vector file_open_kind file_open_status std_logic std_logic_vector unsigned signed boolean_vector integer_vector std_ulogic std_ulogic_vector unresolved_unsigned u_unsigned unresolved_signed u_signedreal_vector time_vector\",literal:\"false true note warning error failure line text side width\"},i:\"{\",c:[e.CBCM,e.C(\"--\",\"$\"),e.QSM,{cN:\"number\",b:o,r:0},{cN:\"string\",b:\"'(U|X|0|1|Z|W|L|H|-)'\",c:[e.BE]},{cN:\"symbol\",b:\"'[A-Za-z](_?[A-Za-z0-9])*\",c:[e.BE]}]}}),e.registerLanguage(\"vim\",function(e){return{l:/[!#@\\w]+/,k:{keyword:\"N|0 P|0 X|0 a|0 ab abc abo al am an|0 ar arga argd arge argdo argg argl argu as au aug aun b|0 bN ba bad bd be bel bf bl bm bn bo bp br brea breaka breakd breakl bro bufdo buffers bun bw c|0 cN cNf ca cabc caddb cad caddf cal cat cb cc ccl cd ce cex cf cfir cgetb cgete cg changes chd che checkt cl cla clo cm cmapc cme cn cnew cnf cno cnorea cnoreme co col colo com comc comp con conf cope cp cpf cq cr cs cst cu cuna cunme cw delm deb debugg delc delf dif diffg diffo diffp diffpu diffs diffthis dig di dl dell dj dli do doautoa dp dr ds dsp e|0 ea ec echoe echoh echom echon el elsei em en endfo endf endt endw ene ex exe exi exu f|0 files filet fin fina fini fir fix fo foldc foldd folddoc foldo for fu go gr grepa gu gv ha helpf helpg helpt hi hid his ia iabc if ij il im imapc ime ino inorea inoreme int is isp iu iuna iunme j|0 ju k|0 keepa kee keepj lN lNf l|0 lad laddb laddf la lan lat lb lc lch lcl lcs le lefta let lex lf lfir lgetb lgete lg lgr lgrepa lh ll lla lli lmak lm lmapc lne lnew lnf ln loadk lo loc lockv lol lope lp lpf lr ls lt lu lua luad luaf lv lvimgrepa lw m|0 ma mak map mapc marks mat me menut mes mk mks mksp mkv mkvie mod mz mzf nbc nb nbs new nm nmapc nme nn nnoreme noa no noh norea noreme norm nu nun nunme ol o|0 om omapc ome on ono onoreme opt ou ounme ow p|0 profd prof pro promptr pc ped pe perld po popu pp pre prev ps pt ptN ptf ptj ptl ptn ptp ptr pts pu pw py3 python3 py3d py3f py pyd pyf quita qa rec red redi redr redraws reg res ret retu rew ri rightb rub rubyd rubyf rund ru rv sN san sa sal sav sb sbN sba sbf sbl sbm sbn sbp sbr scrip scripte scs se setf setg setl sf sfir sh sim sig sil sl sla sm smap smapc sme sn sni sno snor snoreme sor so spelld spe spelli spellr spellu spellw sp spr sre st sta startg startr star stopi stj sts sun sunm sunme sus sv sw sy synti sync tN tabN tabc tabdo tabe tabf tabfir tabl tabm tabnew tabn tabo tabp tabr tabs tab ta tags tc tcld tclf te tf th tj tl tm tn to tp tr try ts tu u|0 undoj undol una unh unl unlo unm unme uns up ve verb vert vim vimgrepa vi viu vie vm vmapc vme vne vn vnoreme vs vu vunme windo w|0 wN wa wh wi winc winp wn wp wq wqa ws wu wv x|0 xa xmapc xm xme xn xnoreme xu xunme y|0 z|0 ~ Next Print append abbreviate abclear aboveleft all amenu anoremenu args argadd argdelete argedit argglobal arglocal argument ascii autocmd augroup aunmenu buffer bNext ball badd bdelete behave belowright bfirst blast bmodified bnext botright bprevious brewind break breakadd breakdel breaklist browse bunload bwipeout change cNext cNfile cabbrev cabclear caddbuffer caddexpr caddfile call catch cbuffer cclose center cexpr cfile cfirst cgetbuffer cgetexpr cgetfile chdir checkpath checktime clist clast close cmap cmapclear cmenu cnext cnewer cnfile cnoremap cnoreabbrev cnoremenu copy colder colorscheme command comclear compiler continue confirm copen cprevious cpfile cquit crewind cscope cstag cunmap cunabbrev cunmenu cwindow delete delmarks debug debuggreedy delcommand delfunction diffupdate diffget diffoff diffpatch diffput diffsplit digraphs display deletel djump dlist doautocmd doautoall deletep drop dsearch dsplit edit earlier echo echoerr echohl echomsg else elseif emenu endif endfor endfunction endtry endwhile enew execute exit exusage file filetype find finally finish first fixdel fold foldclose folddoopen folddoclosed foldopen function global goto grep grepadd gui gvim hardcopy help helpfind helpgrep helptags highlight hide history insert iabbrev iabclear ijump ilist imap imapclear imenu inoremap inoreabbrev inoremenu intro isearch isplit iunmap iunabbrev iunmenu join jumps keepalt keepmarks keepjumps lNext lNfile list laddexpr laddbuffer laddfile last language later lbuffer lcd lchdir lclose lcscope left leftabove lexpr lfile lfirst lgetbuffer lgetexpr lgetfile lgrep lgrepadd lhelpgrep llast llist lmake lmap lmapclear lnext lnewer lnfile lnoremap loadkeymap loadview lockmarks lockvar lolder lopen lprevious lpfile lrewind ltag lunmap luado luafile lvimgrep lvimgrepadd lwindow move mark make mapclear match menu menutranslate messages mkexrc mksession mkspell mkvimrc mkview mode mzscheme mzfile nbclose nbkey nbsart next nmap nmapclear nmenu nnoremap nnoremenu noautocmd noremap nohlsearch noreabbrev noremenu normal number nunmap nunmenu oldfiles open omap omapclear omenu only onoremap onoremenu options ounmap ounmenu ownsyntax print profdel profile promptfind promptrepl pclose pedit perl perldo pop popup ppop preserve previous psearch ptag ptNext ptfirst ptjump ptlast ptnext ptprevious ptrewind ptselect put pwd py3do py3file python pydo pyfile quit quitall qall read recover redo redir redraw redrawstatus registers resize retab return rewind right rightbelow ruby rubydo rubyfile rundo runtime rviminfo substitute sNext sandbox sargument sall saveas sbuffer sbNext sball sbfirst sblast sbmodified sbnext sbprevious sbrewind scriptnames scriptencoding scscope set setfiletype setglobal setlocal sfind sfirst shell simalt sign silent sleep slast smagic smapclear smenu snext sniff snomagic snoremap snoremenu sort source spelldump spellgood spellinfo spellrepall spellundo spellwrong split sprevious srewind stop stag startgreplace startreplace startinsert stopinsert stjump stselect sunhide sunmap sunmenu suspend sview swapname syntax syntime syncbind tNext tabNext tabclose tabedit tabfind tabfirst tablast tabmove tabnext tabonly tabprevious tabrewind tag tcl tcldo tclfile tearoff tfirst throw tjump tlast tmenu tnext topleft tprevious trewind tselect tunmenu undo undojoin undolist unabbreviate unhide unlet unlockvar unmap unmenu unsilent update vglobal version verbose vertical vimgrep vimgrepadd visual viusage view vmap vmapclear vmenu vnew vnoremap vnoremenu vsplit vunmap vunmenu write wNext wall while winsize wincmd winpos wnext wprevious wqall wsverb wundo wviminfo xit xall xmapclear xmap xmenu xnoremap xnoremenu xunmap xunmenu yank\",built_in:\"synIDtrans atan2 range matcharg did_filetype asin feedkeys xor argv complete_check add getwinposx getqflist getwinposy screencol clearmatches empty extend getcmdpos mzeval garbagecollect setreg ceil sqrt diff_hlID inputsecret get getfperm getpid filewritable shiftwidth max sinh isdirectory synID system inputrestore winline atan visualmode inputlist tabpagewinnr round getregtype mapcheck hasmapto histdel argidx findfile sha256 exists toupper getcmdline taglist string getmatches bufnr strftime winwidth bufexists strtrans tabpagebuflist setcmdpos remote_read printf setloclist getpos getline bufwinnr float2nr len getcmdtype diff_filler luaeval resolve libcallnr foldclosedend reverse filter has_key bufname str2float strlen setline getcharmod setbufvar index searchpos shellescape undofile foldclosed setqflist buflisted strchars str2nr virtcol floor remove undotree remote_expr winheight gettabwinvar reltime cursor tabpagenr finddir localtime acos getloclist search tanh matchend rename gettabvar strdisplaywidth type abs py3eval setwinvar tolower wildmenumode log10 spellsuggest bufloaded synconcealed nextnonblank server2client complete settabwinvar executable input wincol setmatches getftype hlID inputsave searchpair or screenrow line settabvar histadd deepcopy strpart remote_peek and eval getftime submatch screenchar winsaveview matchadd mkdir screenattr getfontname libcall reltimestr getfsize winnr invert pow getbufline byte2line soundfold repeat fnameescape tagfiles sin strwidth spellbadword trunc maparg log lispindent hostname setpos globpath remote_foreground getchar synIDattr fnamemodify cscope_connection stridx winbufnr indent min complete_add nr2char searchpairpos inputdialog values matchlist items hlexists strridx browsedir expand fmod pathshorten line2byte argc count getwinvar glob foldtextresult getreg foreground cosh matchdelete has char2nr simplify histget searchdecl iconv winrestcmd pumvisible writefile foldlevel haslocaldir keys cos matchstr foldtext histnr tan tempname getcwd byteidx getbufvar islocked escape eventhandler remote_send serverlist winrestview synstack pyeval prevnonblank readfile cindent filereadable changenr exp\"},i:/;/,c:[e.NM,e.ASM,{cN:\"string\",b:/\"(\\\\\"|\\n\\\\|[^\"\\n])*\"/},e.C('\"',\"$\"),{cN:\"variable\",b:/[bwtglsav]:[\\w\\d_]*/},{cN:\"function\",bK:\"function function!\",e:\"$\",r:0,c:[e.TM,{cN:\"params\",b:\"\\\\(\",e:\"\\\\)\"}]},{cN:\"symbol\",b:/<[\\w-]+>/}]}}),e.registerLanguage(\"x86asm\",function(e){return{cI:!0,l:\"[.%]?\"+e.IR,k:{keyword:\"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63\",\nbuilt_in:\"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0  xmm1  xmm2  xmm3  xmm4  xmm5  xmm6  xmm7  xmm8  xmm9 xmm10  xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0  ymm1  ymm2  ymm3  ymm4  ymm5  ymm6  ymm7  ymm8  ymm9 ymm10  ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0  zmm1  zmm2  zmm3  zmm4  zmm5  zmm6  zmm7  zmm8  zmm9 zmm10  zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr\",meta:\"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__  __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__  __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__\"},c:[e.C(\";\",\"$\",{r:0}),{cN:\"number\",v:[{b:\"\\\\b(?:([0-9][0-9_]*)?\\\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\\\b\",r:0},{b:\"\\\\$[0-9][0-9A-Fa-f]*\",r:0},{b:\"\\\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\\\b\"},{b:\"\\\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\\\b\"}]},e.QSM,{cN:\"string\",v:[{b:\"'\",e:\"[^\\\\\\\\]'\"},{b:\"`\",e:\"[^\\\\\\\\]`\"}],r:0},{cN:\"symbol\",v:[{b:\"^\\\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\\\s+label)\"},{b:\"^\\\\s*%%[A-Za-z0-9_$#@~.?]*:\"}],r:0},{cN:\"subst\",b:\"%[0-9]+\",r:0},{cN:\"subst\",b:\"%!S+\",r:0},{cN:\"meta\",b:/^\\s*\\.[\\w_-]+/}]}}),e.registerLanguage(\"xl\",function(e){var t=\"ObjectLoader Animate MovieCredits Slides Filters Shading Materials LensFlare Mapping VLCAudioVideo StereoDecoder PointCloud NetworkAccess RemoteControl RegExp ChromaKey Snowfall NodeJS Speech Charts\",r={keyword:\"if then else do while until for loop import with is as where when by data constant integer real text name boolean symbol infix prefix postfix block tree\",literal:\"true false nil\",built_in:\"in mod rem and or xor not abs sign floor ceil sqrt sin cos tan asin acos atan exp expm1 log log2 log10 log1p pi at text_length text_range text_find text_replace contains page slide basic_slide title_slide title subtitle fade_in fade_out fade_at clear_color color line_color line_width texture_wrap texture_transform texture scale_?x scale_?y scale_?z? translate_?x translate_?y translate_?z? rotate_?x rotate_?y rotate_?z? rectangle circle ellipse sphere path line_to move_to quad_to curve_to theme background contents locally time mouse_?x mouse_?y mouse_buttons \"+t},a={cN:\"string\",b:'\"',e:'\"',i:\"\\\\n\"},i={cN:\"string\",b:\"'\",e:\"'\",i:\"\\\\n\"},n={cN:\"string\",b:\"<<\",e:\">>\"},o={cN:\"number\",b:\"[0-9]+#[0-9A-Z_]+(\\\\.[0-9-A-Z_]+)?#?([Ee][+-]?[0-9]+)?\"},s={bK:\"import\",e:\"$\",k:r,c:[a]},l={cN:\"function\",b:/[a-z][^\\n]*->/,rB:!0,e:/->/,c:[e.inherit(e.TM,{starts:{eW:!0,k:r}})]};return{aliases:[\"tao\"],l:/[a-zA-Z][a-zA-Z0-9_?]*/,k:r,c:[e.CLCM,e.CBCM,a,i,n,l,s,o,e.NM]}}),e.registerLanguage(\"xquery\",function(e){var t=\"for let if while then else return where group by xquery encoding versionmodule namespace boundary-space preserve strip default collation base-uri orderingcopy-namespaces order declare import schema namespace function option in allowing emptyat tumbling window sliding window start when only end when previous next stable ascendingdescending empty greatest least some every satisfies switch case typeswitch try catch andor to union intersect instance of treat as castable cast map array delete insert intoreplace value rename copy modify update\",r=\"false true xs:string xs:integer element item xs:date xs:datetime xs:float xs:double xs:decimal QName xs:anyURI xs:long xs:int xs:short xs:byte attribute\",a={b:/\\$[a-zA-Z0-9\\-]+/},i={cN:\"number\",b:\"(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b\",r:0},n={cN:\"string\",v:[{b:/\"/,e:/\"/,c:[{b:/\"\"/,r:0}]},{b:/'/,e:/'/,c:[{b:/''/,r:0}]}]},o={cN:\"meta\",b:\"%\\\\w+\"},s={cN:\"comment\",b:\"\\\\(:\",e:\":\\\\)\",r:10,c:[{cN:\"doctag\",b:\"@\\\\w+\"}]},l={b:\"{\",e:\"}\"},c=[a,n,i,s,o,l];return l.c=c,{aliases:[\"xpath\",\"xq\"],cI:!1,l:/[a-zA-Z\\$][a-zA-Z0-9_:\\-]*/,i:/(proc)|(abstract)|(extends)|(until)|(#)/,k:{keyword:t,literal:r},c:c}}),e.registerLanguage(\"zephir\",function(e){var t={cN:\"string\",c:[e.BE],v:[{b:'b\"',e:'\"'},{b:\"b'\",e:\"'\"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},r={v:[e.BNM,e.CNM]};return{aliases:[\"zep\"],cI:!0,k:\"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var let while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally int uint long ulong char uchar double float bool boolean stringlikely unlikely\",c:[e.CLCM,e.HCM,e.C(\"/\\\\*\",\"\\\\*/\",{c:[{cN:\"doctag\",b:\"@[A-Za-z]+\"}]}),e.C(\"__halt_compiler.+?;\",!1,{eW:!0,k:\"__halt_compiler\",l:e.UIR}),{cN:\"string\",b:\"<<<['\\\"]?\\\\w+['\\\"]?$\",e:\"^\\\\w+;\",c:[e.BE]},{b:/(::|->)+[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/},{cN:\"function\",bK:\"function\",e:/[;{]/,eE:!0,i:\"\\\\$|\\\\[|%\",c:[e.UTM,{cN:\"params\",b:\"\\\\(\",e:\"\\\\)\",c:[\"self\",e.CBCM,t,r]}]},{cN:\"class\",bK:\"class interface\",e:\"{\",eE:!0,i:/[:\\(\\$\"]/,c:[{bK:\"extends implements\"},e.UTM]},{bK:\"namespace\",e:\";\",i:/[\\.']/,c:[e.UTM]},{bK:\"use\",e:\";\",c:[e.UTM]},{b:\"=>\"},t,r]}}),e});\n/*! url - v1.8.6 - 2013-11-22 */window.url=function(){function a(a){return!isNaN(parseFloat(a))&&isFinite(a)}return function(b,c){var d=c||window.location.toString();if(!b)return d;b=b.toString(),\"//\"===d.substring(0,2)?d=\"http:\"+d:1===d.split(\"://\").length&&(d=\"http://\"+d),c=d.split(\"/\");var e={auth:\"\"},f=c[2].split(\"@\");1===f.length?f=f[0].split(\":\"):(e.auth=f[0],f=f[1].split(\":\")),e.protocol=c[0],e.hostname=f[0],e.port=f[1]||(\"https\"===e.protocol.split(\":\")[0].toLowerCase()?\"443\":\"80\"),e.pathname=(c.length>3?\"/\":\"\")+c.slice(3,c.length).join(\"/\").split(\"?\")[0].split(\"#\")[0];var g=e.pathname;\"/\"===g.charAt(g.length-1)&&(g=g.substring(0,g.length-1));var h=e.hostname,i=h.split(\".\"),j=g.split(\"/\");if(\"hostname\"===b)return h;if(\"domain\"===b)return/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/.test(h)?h:i.slice(-2).join(\".\");if(\"sub\"===b)return i.slice(0,i.length-2).join(\".\");if(\"port\"===b)return e.port;if(\"protocol\"===b)return e.protocol.split(\":\")[0];if(\"auth\"===b)return e.auth;if(\"user\"===b)return e.auth.split(\":\")[0];if(\"pass\"===b)return e.auth.split(\":\")[1]||\"\";if(\"path\"===b)return e.pathname;if(\".\"===b.charAt(0)){if(b=b.substring(1),a(b))return b=parseInt(b,10),i[0>b?i.length+b:b-1]||\"\"}else{if(a(b))return b=parseInt(b,10),j[0>b?j.length+b:b]||\"\";if(\"file\"===b)return j.slice(-1)[0];if(\"filename\"===b)return j.slice(-1)[0].split(\".\")[0];if(\"fileext\"===b)return j.slice(-1)[0].split(\".\")[1]||\"\";if(\"?\"===b.charAt(0)||\"#\"===b.charAt(0)){var k=d,l=null;if(\"?\"===b.charAt(0)?k=(k.split(\"?\")[1]||\"\").split(\"#\")[0]:\"#\"===b.charAt(0)&&(k=k.split(\"#\")[1]||\"\"),!b.charAt(1))return k;b=b.substring(1),k=k.split(\"&\");for(var m=0,n=k.length;n>m;m++)if(l=k[m].split(\"=\"),l[0]===b)return l[1]||\"\";return null}}return\"\"}}(),\"undefined\"!=typeof jQuery&&jQuery.extend({url:function(a,b){return window.url(a,b)}});\n/*\n * jQuery Bootstrap Pagination v1.3.1\n * https://github.com/esimakin/twbs-pagination\n *\n * Copyright 2014-2015 Eugene Simakin <eugenesimakin@mail.ru>\n * Released under Apache 2.0 license\n * http://apache.org/licenses/LICENSE-2.0.html\n */\n!function(a,b,c,d){\"use strict\";var e=a.fn.twbsPagination,f=function(c,d){if(this.$element=a(c),this.options=a.extend({},a.fn.twbsPagination.defaults,d),this.options.startPage<1||this.options.startPage>this.options.totalPages)throw new Error(\"Start page option is incorrect\");if(this.options.totalPages=parseInt(this.options.totalPages),isNaN(this.options.totalPages))throw new Error(\"Total pages option is not correct!\");if(this.options.visiblePages=parseInt(this.options.visiblePages),isNaN(this.options.visiblePages))throw new Error(\"Visible pages option is not correct!\");if(this.options.totalPages<this.options.visiblePages&&(this.options.visiblePages=this.options.totalPages),this.options.onPageClick instanceof Function&&this.$element.first().on(\"page\",this.options.onPageClick),this.options.href){var e,f=this.options.href.replace(/[-\\/\\\\^$*+?.|[\\]]/g,\"\\\\$&\");f=f.replace(this.options.hrefVariable,\"(\\\\d+)\"),null!=(e=new RegExp(f,\"i\").exec(b.location.href))&&(this.options.startPage=parseInt(e[1],10))}var g=\"function\"==typeof this.$element.prop?this.$element.prop(\"tagName\"):this.$element.attr(\"tagName\");return\"UL\"===g?this.$listContainer=this.$element:this.$listContainer=a(\"<ul></ul>\"),this.$listContainer.addClass(this.options.paginationClass),\"UL\"!==g&&this.$element.append(this.$listContainer),this.render(this.getPages(this.options.startPage)),this.setupEvents(),this.options.initiateStartPageClick&&this.$element.trigger(\"page\",this.options.startPage),this};f.prototype={constructor:f,destroy:function(){return this.$element.empty(),this.$element.removeData(\"twbs-pagination\"),this.$element.off(\"page\"),this},show:function(a){if(1>a||a>this.options.totalPages)throw new Error(\"Page is incorrect.\");return this.render(this.getPages(a)),this.setupEvents(),this.$element.trigger(\"page\",a),this},buildListItems:function(a){var b=[];if(this.options.first&&b.push(this.buildItem(\"first\",1)),this.options.prev){var c=a.currentPage>1?a.currentPage-1:this.options.loop?this.options.totalPages:1;b.push(this.buildItem(\"prev\",c))}for(var d=0;d<a.numeric.length;d++)b.push(this.buildItem(\"page\",a.numeric[d]));if(this.options.next){var e=a.currentPage<this.options.totalPages?a.currentPage+1:this.options.loop?1:this.options.totalPages;b.push(this.buildItem(\"next\",e))}return this.options.last&&b.push(this.buildItem(\"last\",this.options.totalPages)),b},buildItem:function(b,c){var d=a(\"<li></li>\"),e=a(\"<a></a>\"),f=null;switch(b){case\"page\":f=c,d.addClass(this.options.pageClass);break;case\"first\":f=this.options.first,d.addClass(this.options.firstClass);break;case\"prev\":f=this.options.prev,d.addClass(this.options.prevClass);break;case\"next\":f=this.options.next,d.addClass(this.options.nextClass);break;case\"last\":f=this.options.last,d.addClass(this.options.lastClass)}return d.data(\"page\",c),d.data(\"page-type\",b),d.append(e.attr(\"href\",this.makeHref(c)).html(f)),d},getPages:function(a){var b=[],c=Math.floor(this.options.visiblePages/2),d=a-c+1-this.options.visiblePages%2,e=a+c;0>=d&&(d=1,e=this.options.visiblePages),e>this.options.totalPages&&(d=this.options.totalPages-this.options.visiblePages+1,e=this.options.totalPages);for(var f=d;e>=f;)b.push(f),f++;return{currentPage:a,numeric:b}},render:function(b){var c=this;this.$listContainer.children().remove(),this.$listContainer.append(this.buildListItems(b)),this.$listContainer.children().each(function(){var d=a(this),e=d.data(\"page-type\");switch(e){case\"page\":d.data(\"page\")===b.currentPage&&d.addClass(c.options.activeClass);break;case\"first\":d.toggleClass(c.options.disabledClass,1===b.currentPage);break;case\"last\":d.toggleClass(c.options.disabledClass,b.currentPage===c.options.totalPages);break;case\"prev\":d.toggleClass(c.options.disabledClass,!c.options.loop&&1===b.currentPage);break;case\"next\":d.toggleClass(c.options.disabledClass,!c.options.loop&&b.currentPage===c.options.totalPages)}})},setupEvents:function(){var b=this;this.$listContainer.find(\"li\").each(function(){var c=a(this);return c.off(),c.hasClass(b.options.disabledClass)||c.hasClass(b.options.activeClass)?void c.on(\"click\",!1):void c.click(function(a){!b.options.href&&a.preventDefault(),b.show(parseInt(c.data(\"page\")))})})},makeHref:function(a){return this.options.href?this.options.href.replace(this.options.hrefVariable,a):\"#\"}},a.fn.twbsPagination=function(b){var c,e=Array.prototype.slice.call(arguments,1),g=a(this),h=g.data(\"twbs-pagination\"),i=\"object\"==typeof b&&b;return h||g.data(\"twbs-pagination\",h=new f(this,i)),\"string\"==typeof b&&(c=h[b].apply(h,e)),c===d?g:c},a.fn.twbsPagination.defaults={totalPages:0,startPage:1,visiblePages:5,initiateStartPageClick:!0,href:!1,hrefVariable:\"{{number}}\",first:\"First\",prev:\"Previous\",next:\"Next\",last:\"Last\",loop:!1,onPageClick:null,paginationClass:\"pagination\",nextClass:\"next\",prevClass:\"prev\",lastClass:\"last\",firstClass:\"first\",pageClass:\"page\",activeClass:\"active\",disabledClass:\"disabled\"},a.fn.twbsPagination.Constructor=f,a.fn.twbsPagination.noConflict=function(){return a.fn.twbsPagination=e,this}}(window.jQuery,window,document);\n/*!***************************************************\n* mark.js v8.11.1\n* https://markjs.io/\n* Copyright (c) 2014–2018, Julian Kühnel\n* Released under the MIT license https://git.io/vwTVl\n*****************************************************/\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"jquery\")):\"function\"==typeof define&&define.amd?define([\"jquery\"],t):e.Mark=t(e.jQuery)}(this,function(e){\"use strict\";e=e&&e.hasOwnProperty(\"default\")?e.default:e;var t=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},n=function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")},r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=function(){function e(t){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;n(this,e),this.ctx=t,this.iframes=r,this.exclude=i,this.iframesTimeout=o}return r(e,[{key:\"getContexts\",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:\"string\"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach(function(t){var n=e.filter(function(e){return e.contains(t)}).length>0;-1!==e.indexOf(t)||n||e.push(t)}),e}},{key:\"getIframeContents\",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var i=e.contentWindow;if(r=i.document,!i||!r)throw new Error(\"iframe inaccessible\")}catch(e){n()}r&&t(r)}},{key:\"isIframeBlank\",value:function(e){var t=e.getAttribute(\"src\").trim();return\"about:blank\"===e.contentWindow.location.href&&\"about:blank\"!==t&&t}},{key:\"observeIframeLoad\",value:function(e,t,n){var r=this,i=!1,o=null,a=function a(){if(!i){i=!0,clearTimeout(o);try{r.isIframeBlank(e)||(e.removeEventListener(\"load\",a),r.getIframeContents(e,t,n))}catch(e){n()}}};e.addEventListener(\"load\",a),o=setTimeout(a,this.iframesTimeout)}},{key:\"onIframeReady\",value:function(e,t,n){try{\"complete\"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(e){n()}}},{key:\"waitForIframes\",value:function(e,t){var n=this,r=0;this.forEachIframe(e,function(){return!0},function(e){r++,n.waitForIframes(e.querySelector(\"html\"),function(){--r||t()})},function(e){e||t()})}},{key:\"forEachIframe\",value:function(t,n,r){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=t.querySelectorAll(\"iframe\"),s=a.length,c=0;a=Array.prototype.slice.call(a);var u=function(){--s<=0&&o(c)};s||u(),a.forEach(function(t){e.matches(t,i.exclude)?u():i.onIframeReady(t,function(e){n(t)&&(c++,r(e)),u()},u)})}},{key:\"createIterator\",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:\"createInstanceOnIframe\",value:function(t){return new e(t.querySelector(\"html\"),this.iframes)}},{key:\"compareNodeIframe\",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:\"getIteratorNode\",value:function(e){var t=e.previousNode();return{prevNode:t,node:null===t?e.nextNode():e.nextNode()&&e.nextNode()}}},{key:\"checkIframeFilter\",value:function(e,t,n,r){var i=!1,o=!1;return r.forEach(function(e,t){e.val===n&&(i=t,o=e.handled)}),this.compareNodeIframe(e,t,n)?(!1!==i||o?!1===i||o||(r[i].handled=!0):r.push({val:n,handled:!0}),!0):(!1===i&&r.push({val:n,handled:!1}),!1)}},{key:\"handleOpenIframes\",value:function(e,t,n,r){var i=this;e.forEach(function(e){e.handled||i.getIframeContents(e.val,function(e){i.createInstanceOnIframe(e).forEachNode(t,n,r)})})}},{key:\"iterateThroughNodes\",value:function(e,t,n,r,i){for(var o,a=this,s=this.createIterator(t,e,r),c=[],u=[],l=void 0,h=void 0;void 0,o=a.getIteratorNode(s),h=o.prevNode,l=o.node;)this.iframes&&this.forEachIframe(t,function(e){return a.checkIframeFilter(l,h,e,c)},function(t){a.createInstanceOnIframe(t).forEachNode(e,function(e){return u.push(e)},r)}),u.push(l);u.forEach(function(e){n(e)}),this.iframes&&this.handleOpenIframes(c,e,n,r),i()}},{key:\"forEachNode\",value:function(e,t,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},o=this.getContexts(),a=o.length;a||i(),o.forEach(function(o){var s=function(){r.iterateThroughNodes(e,o,t,n,function(){--a<=0&&i()})};r.iframes?r.waitForIframes(o,s):s()})}}],[{key:\"matches\",value:function(e,t){var n=\"string\"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var i=!1;return n.every(function(t){return!r.call(e,t)||(i=!0,!1)}),i}return!1}}]),e}(),a=function(){function e(t){n(this,e),this.ctx=t,this.ie=!1;var r=window.navigator.userAgent;(r.indexOf(\"MSIE\")>-1||r.indexOf(\"Trident\")>-1)&&(this.ie=!0)}return r(e,[{key:\"log\",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"debug\",r=this.opt.log;this.opt.debug&&\"object\"===(void 0===r?\"undefined\":t(r))&&\"function\"==typeof r[n]&&r[n](\"mark.js: \"+e)}},{key:\"escapeStr\",value:function(e){return e.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\"\\\\$&\")}},{key:\"createRegExp\",value:function(e){return\"disabled\"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),\"disabled\"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e)}},{key:\"createSynonymsRegExp\",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?\"\":\"i\",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?\"\\0\":\"\";for(var i in t)if(t.hasOwnProperty(i)){var o=t[i],a=\"disabled\"!==this.opt.wildcards?this.setupWildcardsRegExp(i):this.escapeStr(i),s=\"disabled\"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o);\"\"!==a&&\"\"!==s&&(e=e.replace(new RegExp(\"(\"+this.escapeStr(a)+\"|\"+this.escapeStr(s)+\")\",\"gm\"+n),r+\"(\"+this.processSynomyms(a)+\"|\"+this.processSynomyms(s)+\")\"+r))}return e}},{key:\"processSynomyms\",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:\"setupWildcardsRegExp\",value:function(e){return(e=e.replace(/(?:\\\\)*\\?/g,function(e){return\"\\\\\"===e.charAt(0)?\"?\":\"\u0001\"})).replace(/(?:\\\\)*\\*/g,function(e){return\"\\\\\"===e.charAt(0)?\"*\":\"\u0002\"})}},{key:\"createWildcardsRegExp\",value:function(e){var t=\"withSpaces\"===this.opt.wildcards;return e.replace(/\\u0001/g,t?\"[\\\\S\\\\s]?\":\"\\\\S?\").replace(/\\u0002/g,t?\"[\\\\S\\\\s]*?\":\"\\\\S*\")}},{key:\"setupIgnoreJoinersRegExp\",value:function(e){return e.replace(/[^(|)\\\\]/g,function(e,t,n){var r=n.charAt(t+1);return/[(|)\\\\]/.test(r)||\"\"===r?e:e+\"\\0\"})}},{key:\"createJoinersRegExp\",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(\"\"))),this.opt.ignoreJoiners&&t.push(\"\\\\u00ad\\\\u200b\\\\u200c\\\\u200d\"),t.length?e.split(/\\u0000+/).join(\"[\"+t.join(\"\")+\"]*\"):e}},{key:\"createDiacriticsRegExp\",value:function(e){var t=this.opt.caseSensitive?\"\":\"i\",n=this.opt.caseSensitive?[\"aàáảãạăằắẳẵặâầấẩẫậäåāą\",\"AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ\",\"cçćč\",\"CÇĆČ\",\"dđď\",\"DĐĎ\",\"eèéẻẽẹêềếểễệëěēę\",\"EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ\",\"iìíỉĩịîïī\",\"IÌÍỈĨỊÎÏĪ\",\"lł\",\"LŁ\",\"nñňń\",\"NÑŇŃ\",\"oòóỏõọôồốổỗộơởỡớờợöøō\",\"OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ\",\"rř\",\"RŘ\",\"sšśșş\",\"SŠŚȘŞ\",\"tťțţ\",\"TŤȚŢ\",\"uùúủũụưừứửữựûüůū\",\"UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ\",\"yýỳỷỹỵÿ\",\"YÝỲỶỸỴŸ\",\"zžżź\",\"ZŽŻŹ\"]:[\"aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ\",\"cçćčCÇĆČ\",\"dđďDĐĎ\",\"eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ\",\"iìíỉĩịîïīIÌÍỈĨỊÎÏĪ\",\"lłLŁ\",\"nñňńNÑŇŃ\",\"oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ\",\"rřRŘ\",\"sšśșşSŠŚȘŞ\",\"tťțţTŤȚŢ\",\"uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ\",\"yýỳỷỹỵÿYÝỲỶỸỴŸ\",\"zžżźZŽŻŹ\"],r=[];return e.split(\"\").forEach(function(i){n.every(function(n){if(-1!==n.indexOf(i)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp(\"[\"+n+\"]\",\"gm\"+t),\"[\"+n+\"]\"),r.push(n)}return!0})}),e}},{key:\"createMergedBlanksRegExp\",value:function(e){return e.replace(/[\\s]+/gim,\"[\\\\s]+\")}},{key:\"createAccuracyRegExp\",value:function(e){var t=this,n=this.opt.accuracy,r=\"string\"==typeof n?n:n.value,i=\"\";switch((\"string\"==typeof n?[]:n.limiters).forEach(function(e){i+=\"|\"+t.escapeStr(e)}),r){case\"partially\":default:return\"()(\"+e+\")\";case\"complementary\":return\"()([^\"+(i=\"\\\\s\"+(i||this.escapeStr(\"!\\\"#$%&'()*+,-./:;<=>?@[\\\\]^_`{|}~¡¿\")))+\"]*\"+e+\"[^\"+i+\"]*)\";case\"exactly\":return\"(^|\\\\s\"+i+\")(\"+e+\")(?=$|\\\\s\"+i+\")\"}}},{key:\"getSeparatedKeywords\",value:function(e){var t=this,n=[];return e.forEach(function(e){t.opt.separateWordSearch?e.split(\" \").forEach(function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)}):e.trim()&&-1===n.indexOf(e)&&n.push(e)}),{keywords:n.sort(function(e,t){return t.length-e.length}),length:n.length}}},{key:\"isNumeric\",value:function(e){return Number(parseFloat(e))==e}},{key:\"checkRanges\",value:function(e){var t=this;if(!Array.isArray(e)||\"[object Object]\"!==Object.prototype.toString.call(e[0]))return this.log(\"markRanges() will only accept an array of objects\"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort(function(e,t){return e.start-t.start}).forEach(function(e){var i=t.callNoMatchOnInvalidRanges(e,r),o=i.start,a=i.end;i.valid&&(e.start=o,e.length=a-o,n.push(e),r=a)}),n}},{key:\"callNoMatchOnInvalidRanges\",value:function(e,t){var n=void 0,r=void 0,i=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?i=!0:(this.log(\"Ignoring invalid or overlapping range: \"+JSON.stringify(e)),this.opt.noMatch(e))):(this.log(\"Ignoring invalid range: \"+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:i}}},{key:\"checkWhitespaceRanges\",value:function(e,t,n){var r=void 0,i=!0,o=n.length,a=t-o,s=parseInt(e.start,10)-a;return(r=(s=s>o?o:s)+parseInt(e.length,10))>o&&(r=o,this.log(\"End range automatically set to the max value of \"+o)),s<0||r-s<0||s>o||r>o?(i=!1,this.log(\"Invalid range: \"+JSON.stringify(e)),this.opt.noMatch(e)):\"\"===n.substring(s,r).replace(/\\s+/g,\"\")&&(i=!1,this.log(\"Skipping whitespace only range: \"+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:i}}},{key:\"getTextNodes\",value:function(e){var t=this,n=\"\",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})},function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},function(){e({value:n,nodes:r})})}},{key:\"matchesExclude\",value:function(e){return o.matches(e,this.opt.exclude.concat([\"script\",\"style\",\"title\",\"head\",\"html\"]))}},{key:\"wrapRangeInTextNode\",value:function(e,t,n){var r=this.opt.element?this.opt.element:\"mark\",i=e.splitText(t),o=i.splitText(n-t),a=document.createElement(r);return a.setAttribute(\"data-markjs\",\"true\"),this.opt.className&&a.setAttribute(\"class\",this.opt.className),a.textContent=i.textContent,i.parentNode.replaceChild(a,i),o}},{key:\"wrapRangeInMappedTextNode\",value:function(e,t,n,r,i){var o=this;e.nodes.every(function(a,s){var c=e.nodes[s+1];if(void 0===c||c.start>t){if(!r(a.node))return!1;var u=t-a.start,l=(n>a.end?a.end:n)-a.start,h=e.value.substr(0,a.start),f=e.value.substr(l+a.start);if(a.node=o.wrapRangeInTextNode(a.node,u,l),e.value=h+f,e.nodes.forEach(function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=l),e.nodes[n].end-=l)}),n-=l,i(a.node.previousSibling,a.start),!(n>a.end))return!1;t=a.end}return!0})}},{key:\"wrapMatches\",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes(function(t){t.nodes.forEach(function(t){t=t.node;for(var i=void 0;null!==(i=e.exec(t.textContent))&&\"\"!==i[a];)if(n(i[a],t)){var s=i.index;if(0!==a)for(var c=1;c<a;c++)s+=i[c].length;t=o.wrapRangeInTextNode(t,s,s+i[a].length),r(t.previousSibling),e.lastIndex=0}}),i()})}},{key:\"wrapMatchesAcrossElements\",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes(function(t){for(var s=void 0;null!==(s=e.exec(t.value))&&\"\"!==s[a];){var c=s.index;if(0!==a)for(var u=1;u<a;u++)c+=s[u].length;var l=c+s[a].length;o.wrapRangeInMappedTextNode(t,c,l,function(e){return n(s[a],e)},function(t,n){e.lastIndex=n,r(t)})}i()})}},{key:\"wrapRangeFromIndex\",value:function(e,t,n,r){var i=this;this.getTextNodes(function(o){var a=o.value.length;e.forEach(function(e,r){var s=i.checkWhitespaceRanges(e,a,o.value),c=s.start,u=s.end;s.valid&&i.wrapRangeInMappedTextNode(o,c,u,function(n){return t(n,e,o.value.substring(c,u),r)},function(t){n(t,e)})}),r()})}},{key:\"unwrapMatches\",value:function(e){for(var t=e.parentNode,n=document.createDocumentFragment();e.firstChild;)n.appendChild(e.removeChild(e.firstChild));t.replaceChild(n,e),this.ie?this.normalizeTextNode(t):t.normalize()}},{key:\"normalizeTextNode\",value:function(e){if(e){if(3===e.nodeType)for(;e.nextSibling&&3===e.nextSibling.nodeType;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}},{key:\"markRegExp\",value:function(e,t){var n=this;this.opt=t,this.log('Searching with expression \"'+e+'\"');var r=0,i=\"wrapMatches\";this.opt.acrossElements&&(i=\"wrapMatchesAcrossElements\"),this[i](e,this.opt.ignoreGroups,function(e,t){return n.opt.filter(t,e,r)},function(e){r++,n.opt.each(e)},function(){0===r&&n.opt.noMatch(e),n.opt.done(r)})}},{key:\"mark\",value:function(e,t){var n=this;this.opt=t;var r=0,i=\"wrapMatches\",o=this.getSeparatedKeywords(\"string\"==typeof e?[e]:e),a=o.keywords,s=o.length,c=this.opt.caseSensitive?\"\":\"i\";this.opt.acrossElements&&(i=\"wrapMatchesAcrossElements\"),0===s?this.opt.done(r):function e(t){var o=new RegExp(n.createRegExp(t),\"gm\"+c),u=0;n.log('Searching with expression \"'+o+'\"'),n[i](o,1,function(e,i){return n.opt.filter(i,t,r,u)},function(e){u++,r++,n.opt.each(e)},function(){0===u&&n.opt.noMatch(t),a[s-1]===t?n.opt.done(r):e(a[a.indexOf(t)+1])})}(a[0])}},{key:\"markRanges\",value:function(e,t){var n=this;this.opt=t;var r=0,i=this.checkRanges(e);i&&i.length?(this.log(\"Starting to mark with the following ranges: \"+JSON.stringify(i)),this.wrapRangeFromIndex(i,function(e,t,r,i){return n.opt.filter(e,t,r,i)},function(e,t){r++,n.opt.each(e,t)},function(){n.opt.done(r)})):this.opt.done(r)}},{key:\"unmark\",value:function(e){var t=this;this.opt=e;var n=this.opt.element?this.opt.element:\"*\";n+=\"[data-markjs]\",this.opt.className&&(n+=\".\"+this.opt.className),this.log('Removal selector \"'+n+'\"'),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,function(e){t.unwrapMatches(e)},function(e){var r=o.matches(e,n),i=t.matchesExclude(e);return!r||i?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}},{key:\"opt\",set:function(e){this._opt=i({},{element:\"\",className:\"\",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:\"partially\",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:\"disabled\",each:function(){},noMatch:function(){},filter:function(){return!0},done:function(){},debug:!1,log:window.console},e)},get:function(){return this._opt}},{key:\"iterator\",get:function(){return new o(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}}]),e}();return e.fn.mark=function(e,t){return new a(this.get()).mark(e,t),this},e.fn.markRegExp=function(e,t){return new a(this.get()).markRegExp(e,t),this},e.fn.markRanges=function(e,t){return new a(this.get()).markRanges(e,t),this},e.fn.unmark=function(e){return new a(this.get()).unmark(e),this},e});\n\n// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat\n//\n// AnchorJS - v4.3.0 - 2020-10-21\n// https://www.bryanbraun.com/anchorjs/\n// Copyright (c) 2020 Bryan Braun; Licensed MIT\n//\n// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat\n!function(A,e){\"use strict\";\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){\"use strict\";return function(A){function d(A){A.icon=Object.prototype.hasOwnProperty.call(A,\"icon\")?A.icon:\"\",A.visible=Object.prototype.hasOwnProperty.call(A,\"visible\")?A.visible:\"hover\",A.placement=Object.prototype.hasOwnProperty.call(A,\"placement\")?A.placement:\"right\",A.ariaLabel=Object.prototype.hasOwnProperty.call(A,\"ariaLabel\")?A.ariaLabel:\"Anchor\",A.class=Object.prototype.hasOwnProperty.call(A,\"class\")?A.class:\"\",A.base=Object.prototype.hasOwnProperty.call(A,\"base\")?A.base:\"\",A.truncate=Object.prototype.hasOwnProperty.call(A,\"truncate\")?Math.floor(A.truncate):64,A.titleText=Object.prototype.hasOwnProperty.call(A,\"titleText\")?A.titleText:\"\"}function f(A){var e;if(\"string\"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new TypeError(\"The selector provided to AnchorJS was invalid.\");e=[].slice.call(A)}return e}this.options=A||{},this.elements=[],d(this.options),this.isTouchDevice=function(){return Boolean(\"ontouchstart\"in window||window.TouchEvent||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var e,t,o,n,i,s,a,r,c,l,h,u,p=[];if(d(this.options),\"touch\"===(h=this.options.visible)&&(h=this.isTouchDevice()?\"always\":\"hover\"),0===(e=f(A=A||\"h2, h3, h4, h5, h6\")).length)return this;for(!function(){if(null!==document.head.querySelector(\"style.anchorjs\"))return;var A,e=document.createElement(\"style\");e.className=\"anchorjs\",e.appendChild(document.createTextNode(\"\")),void 0===(A=document.head.querySelector('[rel=\"stylesheet\"],style'))?document.head.appendChild(e):document.head.insertBefore(e,A);e.sheet.insertRule(\".anchorjs-link{opacity:0;text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}\",e.sheet.cssRules.length),e.sheet.insertRule(\":hover>.anchorjs-link,.anchorjs-link:focus{opacity:1}\",e.sheet.cssRules.length),e.sheet.insertRule(\"[data-anchorjs-icon]::after{content:attr(data-anchorjs-icon)}\",e.sheet.cssRules.length),e.sheet.insertRule('@font-face{font-family:anchorjs-icons;src:url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format(\"truetype\")}',e.sheet.cssRules.length)}(),t=document.querySelectorAll(\"[id]\"),o=[].map.call(t,function(A){return A.id}),i=0;i<e.length;i++)if(this.hasAnchorJSLink(e[i]))p.push(i);else{if(e[i].hasAttribute(\"id\"))n=e[i].getAttribute(\"id\");else if(e[i].hasAttribute(\"data-anchor-id\"))n=e[i].getAttribute(\"data-anchor-id\");else{for(c=r=this.urlify(e[i].textContent),a=0;void 0!==s&&(c=r+\"-\"+a),a+=1,-1!==(s=o.indexOf(c)););s=void 0,o.push(c),e[i].setAttribute(\"id\",c),n=c}(l=document.createElement(\"a\")).className=\"anchorjs-link \"+this.options.class,l.setAttribute(\"aria-label\",this.options.ariaLabel),l.setAttribute(\"data-anchorjs-icon\",this.options.icon),this.options.titleText&&(l.title=this.options.titleText),u=document.querySelector(\"base\")?window.location.pathname+window.location.search:\"\",u=this.options.base||u,l.href=u+\"#\"+n,\"always\"===h&&(l.style.opacity=\"1\"),\"\"===this.options.icon&&(l.style.font=\"1em/1 anchorjs-icons\",\"left\"===this.options.placement&&(l.style.lineHeight=\"inherit\")),\"left\"===this.options.placement?(l.style.position=\"absolute\",l.style.marginLeft=\"-1em\",l.style.paddingRight=\".5em\",e[i].insertBefore(l,e[i].firstChild)):(l.style.paddingLeft=\".375em\",e[i].appendChild(l))}for(i=0;i<p.length;i++)e.splice(p[i]-i,1);return this.elements=this.elements.concat(e),this},this.remove=function(A){for(var e,t,o=f(A),n=0;n<o.length;n++)(t=o[n].querySelector(\".anchorjs-link\"))&&(-1!==(e=this.elements.indexOf(o[n]))&&this.elements.splice(e,1),o[n].removeChild(t));return this},this.removeAll=function(){this.remove(this.elements)},this.urlify=function(A){var e=document.createElement(\"textarea\");e.innerHTML=A,A=e.value;return this.options.truncate||d(this.options),A.trim().replace(/'/gi,\"\").replace(/[& +$,:;=?@\"#{}|^~[`%!'<>\\]./()*\\\\\\n\\t\\b\\v\\u00A0]/g,\"-\").replace(/-{2,}/g,\"-\").substring(0,this.options.truncate).replace(/^-+|-+$/gm,\"\").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(\" \"+A.firstChild.className+\" \").indexOf(\" anchorjs-link \"),t=A.lastChild&&-1<(\" \"+A.lastChild.className+\" \").indexOf(\" anchorjs-link \");return e||t||!1}}});\n// @license-end"
  },
  {
    "path": "docs/styles/docfx.vendor.minify.css",
    "content": "@font-face {\n    font-family: 'Glyphicons Halflings';\n    font-display: fallback;\n    src: url(../fonts/glyphicons-halflings-regular.eot);\n    src: url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'), url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'), url(../fonts/glyphicons-halflings-regular.woff) format('woff'), url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'), url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')\n}\n\nbody {\n    margin: 0;\n}\n\nhtml {\n    font-family: sans-serif;\n    -webkit-text-size-adjust: 100%;\n    -ms-text-size-adjust: 100%;\n}\n\narticle,\nfooter,\nheader,\nnav {\n    display: block;\n}\n\na {\n    background-color: transparent;\n}\n\na:active,\na:hover {\n    outline: 0;\n}\n\nstrong {\n    font-weight: 700;\n}\n\nh1 {\n    margin: .67em 0;\n}\n\nsvg:not(:root) {\n    overflow: hidden;\n}\n\npre {\n    overflow: auto;\n}\n\ncode,\npre {\n    font-size: 1em;\n}\n\nbutton,\ninput,\nselect {\n    margin: 0;\n    font: inherit;\n    color: inherit;\n}\n\n.glyphicon {\n    font-style: normal;\n}\n\nbutton {\n    overflow: visible;\n}\n\nbutton,\nselect {\n    text-transform: none;\n}\n\nbutton {\n    -webkit-appearance: button;\n    cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n    padding: 0;\n    border: 0;\n}\n\ntable {\n    border-spacing: 0;\n    border-collapse: collapse;\n}\n\ntd,\nth {\n    padding: 0;\n}\n\n@media print {\n\n    pre,\n    tr {\n        page-break-inside: avoid;\n    }\n\n    *,\n    :after,\n    :before {\n        color: #000 !important;\n        text-shadow: none !important;\n        background: 0 0 !important;\n        -webkit-box-shadow: none !important;\n        box-shadow: none !important;\n    }\n\n    a,\n    a:visited {\n        text-decoration: underline;\n    }\n\n    a[href]:after {\n        content: \" (\"attr(href) \")\";\n    }\n\n    a[href^=\"#\"]:after {\n        content: \"\";\n    }\n\n    pre {\n        border: 1px solid #999;\n    }\n\n    thead {\n        display: table-header-group;\n    }\n\n    h3,\n    p {\n        orphans: 3;\n        widows: 3;\n    }\n\n    h3 {\n        page-break-after: avoid;\n    }\n\n    .navbar {\n        display: none;\n    }\n\n    .table {\n        border-collapse: collapse !important;\n    }\n\n    .table td,\n    .table th {\n        background-color: #fff !important;\n    }\n\n    .table-bordered td,\n    .table-bordered th {\n        border: 1px solid #ddd !important;\n    }\n}\n\n.collapsing,\n.dropdown,\n.dropup {\n    position: relative\n}\n\n.collapsing {\n    height: 0;\n    overflow: hidden;\n    -webkit-transition-timing-function: ease;\n    -o-transition-timing-function: ease;\n    transition-timing-function: ease;\n    -webkit-transition-duration: .35s;\n    -o-transition-duration: .35s;\n    transition-duration: .35s;\n    -webkit-transition-property: height, visibility;\n    -o-transition-property: height, visibility;\n    transition-property: height, visibility\n}\n\n.btn,\n.btn:active,\n.form-control,\n.navbar-toggle {\n    background-image: none;\n}\n\nbody {\n    background-color: #fff;\n}\n\n.glyphicon {\n    position: relative;\n    top: 1px;\n    display: inline-block;\n    font-family: 'Glyphicons Halflings';\n    font-weight: 400;\n    line-height: 1;\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n}\n\n.glyphicon-refresh:before {\n    content: \"\\e031\";\n}\n\n.glyphicon-filter:before {\n    content: \"\\e138\";\n}\n\n*,\n:after,\n:before {\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n}\n\nhtml {\n    font-size: 10px;\n    -webkit-tap-highlight-color: transparent;\n}\n\nbody {\n    font-size: 14px;\n    line-height: 1.42857143;\n    color: #333;\n}\n\nbutton,\ninput,\nselect {\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n}\n\na {\n    color: #337ab7;\n    text-decoration: none;\n}\n\na:focus,\na:hover {\n    color: #23527c;\n    text-decoration: underline;\n}\n\na:focus {\n    outline: -webkit-focus-ring-color auto 5px;\n    outline-offset: -2px;\n}\n\n.sr-only {\n    position: absolute;\n    width: 1px;\n    height: 1px;\n    padding: 0;\n    margin: -1px;\n    overflow: hidden;\n    clip: rect(0, 0, 0, 0);\n    border: 0;\n}\n\nh1,\nh3,\nh4,\nh5,\nh6 {\n    font-family: inherit;\n    font-weight: 500;\n    line-height: 1.1;\n    color: inherit;\n}\n\nh1,\nh3 {\n    margin-top: 20px;\n    margin-bottom: 10px;\n}\n\nh4,\nh5,\nh6 {\n    margin-top: 10px;\n    margin-bottom: 10px;\n}\n\nh1 {\n    font-size: 36px;\n}\n\nh3 {\n    font-size: 24px;\n}\n\nh4 {\n    font-size: 18px;\n}\n\nh5 {\n    font-size: 14px;\n}\n\nh6 {\n    font-size: 12px;\n}\n\np {\n    margin: 0 0 10px;\n}\n\npre {\n    line-height: 1.42857143;\n}\n\n.small {\n    font-size: 85%;\n}\n\npre code,\ntable {\n    background-color: transparent;\n}\n\nul {\n    margin-top: 0;\n}\n\nul ul {\n    margin-bottom: 0;\n}\n\nul {\n    margin-bottom: 10px;\n}\n\n@media (min-width:768px) {\n    .container {\n        width: 750px;\n    }\n}\n\ncode {\n    padding: 2px 4px;\n    font-size: 90%;\n}\n\nth {\n    text-align: left;\n}\n\npre {\n    display: block;\n    padding: 9.5px;\n    margin: 0 0 10px;\n    font-size: 13px;\n    word-break: break-all;\n    word-wrap: break-word;\n    color: #333;\n    border-radius: 4px;\n}\n\n.container {\n    margin-right: auto;\n    margin-left: auto;\n}\n\npre code {\n    padding: 0;\n    font-size: inherit;\n    color: inherit;\n    white-space: pre-wrap;\n    border-radius: 0;\n}\n\n.container {\n    padding-right: 15px;\n    padding-left: 15px;\n}\n\n@media (min-width:992px) {\n    .container {\n        width: 970px;\n    }\n}\n\n@media (min-width:1200px) {\n    .container {\n        width: 1170px;\n    }\n}\n\n.row {\n    margin-right: -15px;\n    margin-left: -15px;\n}\n\n.col-md-10,\n.col-md-2 {\n    position: relative;\n    min-height: 1px;\n    padding-right: 15px;\n    padding-left: 15px;\n}\n\n@media (min-width:992px) {\n\n    .col-md-10,\n    .col-md-2 {\n        float: left;\n    }\n\n    .col-md-10 {\n        width: 83.33333333%;\n    }\n\n    .col-md-2 {\n        width: 16.66666667%;\n    }\n}\n\n.table {\n    width: 100%;\n    max-width: 100%;\n    margin-bottom: 20px;\n}\n\n.table>tbody>tr>td,\n.table>thead>tr>th {\n    padding: 8px;\n    line-height: 1.42857143;\n    vertical-align: top;\n    border-top: 1px solid #ddd;\n}\n\n.table>thead>tr>th {\n    vertical-align: bottom;\n    border-bottom: 2px solid #ddd;\n}\n\n.table>thead:first-child>tr:first-child>th {\n    border-top: 0;\n}\n\n.table-condensed>tbody>tr>td,\n.table-condensed>thead>tr>th {\n    padding: 5px;\n}\n\n.table-bordered,\n.table-bordered>tbody>tr>td,\n.table-bordered>thead>tr>th {\n    border: 1px solid #ddd;\n}\n\n.table-bordered>thead>tr>th {\n    border-bottom-width: 2px;\n}\n\n.table-striped>tbody>tr:nth-of-type(odd) {\n    background-color: #f9f9f9;\n}\n\n.table-responsive {\n    min-height: .01%;\n    overflow-x: auto;\n}\n\n@media screen and (max-width:767px) {\n    .table-responsive {\n        width: 100%;\n        margin-bottom: 15px;\n        overflow-y: hidden;\n        -ms-overflow-style: -ms-autohiding-scrollbar;\n        border: 1px solid #ddd;\n    }\n\n    .table-responsive>.table {\n        margin-bottom: 0;\n    }\n\n    .table-responsive>.table>tbody>tr>td,\n    .table-responsive>.table>thead>tr>th {\n        white-space: nowrap;\n    }\n\n    .table-responsive>.table-bordered {\n        border: 0;\n    }\n\n    .table-responsive>.table-bordered>tbody>tr>td:first-child,\n    .table-responsive>.table-bordered>thead>tr>th:first-child {\n        border-left: 0;\n    }\n\n    .table-responsive>.table-bordered>tbody>tr>td:last-child,\n    .table-responsive>.table-bordered>thead>tr>th:last-child {\n        border-right: 0;\n    }\n\n    .table-responsive>.table-bordered>tbody>tr:last-child>td {\n        border-bottom: 0;\n    }\n}\n\n.form-control {\n    font-size: 14px;\n    line-height: 1.42857143;\n    color: #555;\n    display: block;\n}\n\n.form-control {\n    width: 100%;\n    height: 34px;\n    padding: 6px 12px;\n    background-color: #fff;\n    border: 1px solid #ccc;\n    border-radius: 4px;\n    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n\n.form-control:focus {\n    border-color: #66afe9;\n    outline: 0;\n    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);\n    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);\n}\n\n.form-control::-moz-placeholder {\n    color: #999;\n    opacity: 1;\n}\n\n.form-control:-ms-input-placeholder {\n    color: #999;\n}\n\n.form-control::-webkit-input-placeholder {\n    color: #999;\n}\n\n.form-control::-ms-expand {\n    background-color: transparent;\n    border: 0;\n}\n\n.form-group {\n    margin-bottom: 15px;\n}\n\n.btn {\n    display: inline-block;\n    padding: 6px 12px;\n    margin-bottom: 0;\n    font-size: 14px;\n    font-weight: 400;\n    line-height: 1.42857143;\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: middle;\n    -ms-touch-action: manipulation;\n    touch-action: manipulation;\n    cursor: pointer;\n    -webkit-user-select: none;\n    -moz-user-select: none;\n    -ms-user-select: none;\n    user-select: none;\n    border: 1px solid transparent;\n    border-radius: 4px;\n}\n\n.btn:active:focus,\n.btn:focus {\n    outline: -webkit-focus-ring-color auto 5px;\n    outline-offset: -2px;\n}\n\n.btn:focus,\n.btn:hover {\n    color: #333;\n    text-decoration: none;\n}\n\n.btn:active {\n    outline: 0;\n    -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n    box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n}\n\n.collapse {\n    display: none\n}\n\n.collapse.in {\n    display: block\n}\n\n.nav>li,\n.nav>li>a {\n    display: block;\n    position: relative;\n}\n\n.nav {\n    padding-left: 0;\n    margin-bottom: 0;\n    list-style: none;\n}\n\n.nav>li>a {\n    padding: 10px 15px;\n}\n\n.nav>li>a:focus,\n.nav>li>a:hover {\n    text-decoration: none;\n    background-color: #eee;\n}\n\n.navbar {\n    position: relative;\n    min-height: 50px;\n    margin-bottom: 20px;\n    border: 1px solid transparent;\n}\n\n.navbar-collapse {\n    padding-right: 15px;\n    padding-left: 15px;\n    overflow-x: visible;\n    -webkit-overflow-scrolling: touch;\n    border-top: 1px solid transparent;\n    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n}\n\n@media (min-width:768px) {\n    .navbar {\n        border-radius: 4px;\n    }\n\n    .navbar-header {\n        float: left;\n    }\n\n    .navbar-collapse {\n        width: auto;\n        border-top: 0;\n        -webkit-box-shadow: none;\n        box-shadow: none;\n    }\n\n    .navbar-collapse.collapse {\n        display: block !important;\n        height: auto !important;\n        padding-bottom: 0;\n        overflow: visible !important;\n    }\n}\n\n.container>.navbar-collapse,\n.container>.navbar-header {\n    margin-right: -15px;\n    margin-left: -15px;\n}\n\n.navbar-brand {\n    float: left;\n    height: 50px;\n    padding: 15px;\n    font-size: 18px;\n    line-height: 20px;\n}\n\n.navbar-brand:focus,\n.navbar-brand:hover {\n    text-decoration: none;\n}\n\n@media (min-width:768px) {\n\n    .container>.navbar-collapse,\n    .container>.navbar-header {\n        margin-right: 0;\n        margin-left: 0;\n    }\n\n    .navbar>.container .navbar-brand {\n        margin-left: -15px;\n    }\n}\n\n.navbar-toggle {\n    position: relative;\n    float: right;\n    padding: 9px 10px;\n    margin-top: 8px;\n    margin-right: 15px;\n    margin-bottom: 8px;\n    background-color: transparent;\n    border: 1px solid transparent;\n    border-radius: 4px;\n}\n\n.navbar-toggle:focus {\n    outline: 0;\n}\n\n.navbar-toggle .icon-bar {\n    display: block;\n    width: 22px;\n    height: 2px;\n    border-radius: 1px;\n}\n\n.navbar-toggle .icon-bar+.icon-bar {\n    margin-top: 4px;\n}\n\n.navbar-nav {\n    margin: 7.5px -15px;\n}\n\n.navbar-nav>li>a {\n    padding-top: 10px;\n    padding-bottom: 10px;\n    line-height: 20px;\n}\n\n@media (min-width:768px) {\n    .navbar-toggle {\n        display: none;\n    }\n\n    .navbar-nav {\n        float: left;\n        margin: 0;\n    }\n\n    .navbar-nav>li {\n        float: left;\n    }\n\n    .navbar-nav>li>a {\n        padding-top: 15px;\n        padding-bottom: 15px;\n    }\n}\n\n.navbar-form {\n    padding: 10px 15px;\n    border-top: 1px solid transparent;\n    border-bottom: 1px solid transparent;\n    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n    margin: 8px -15px;\n}\n\n@media (min-width:768px) {\n    .navbar-form .form-group {\n        display: inline-block;\n    }\n\n    .navbar-form .form-group {\n        margin-bottom: 0;\n        vertical-align: middle;\n    }\n\n    .navbar-form .form-control {\n        display: inline-block;\n        width: auto;\n        vertical-align: middle;\n    }\n\n    .navbar-form {\n        width: auto;\n        padding-top: 0;\n        padding-bottom: 0;\n        margin-right: 0;\n        margin-left: 0;\n        border: 0;\n        -webkit-box-shadow: none;\n        box-shadow: none;\n    }\n}\n\n.breadcrumb>li {\n    display: inline-block;\n}\n\n@media (max-width:767px) {\n    .navbar-form .form-group {\n        margin-bottom: 5px;\n    }\n\n    .navbar-form .form-group:last-child {\n        margin-bottom: 0;\n    }\n}\n\n@media (min-width:768px) {\n    .navbar-right {\n        float: right !important;\n        margin-right: -15px;\n    }\n}\n\n.navbar-default {\n    background-color: #f8f8f8;\n    border-color: #e7e7e7;\n}\n\n.navbar-inverse {\n    background-color: #222;\n    border-color: #080808;\n}\n\n.navbar-inverse .navbar-brand {\n    color: #9d9d9d;\n}\n\n.navbar-inverse .navbar-brand:focus,\n.navbar-inverse .navbar-brand:hover {\n    color: #fff;\n    background-color: transparent;\n}\n\n.navbar-inverse .navbar-nav>li>a {\n    color: #9d9d9d;\n}\n\n.navbar-inverse .navbar-nav>li>a:focus,\n.navbar-inverse .navbar-nav>li>a:hover {\n    color: #fff;\n    background-color: transparent;\n}\n\n.navbar-inverse .navbar-nav>.active>a,\n.navbar-inverse .navbar-nav>.active>a:focus,\n.navbar-inverse .navbar-nav>.active>a:hover {\n    color: #fff;\n    background-color: #080808;\n}\n\n.navbar-inverse .navbar-toggle {\n    border-color: #333;\n}\n\n.navbar-inverse .navbar-toggle:focus,\n.navbar-inverse .navbar-toggle:hover {\n    background-color: #333;\n}\n\n.navbar-inverse .navbar-toggle .icon-bar {\n    background-color: #fff;\n}\n\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n    border-color: #101010;\n}\n\n.breadcrumb {\n    padding: 8px 15px;\n    margin-bottom: 20px;\n    list-style: none;\n    background-color: #f5f5f5;\n    border-radius: 4px;\n}\n\n.breadcrumb>li+li:before {\n    padding: 0 5px;\n    color: #ccc;\n    content: \"/\\00a0\";\n}\n\n.alert {\n    margin-bottom: 20px;\n}\n\n.alert {\n    padding: 15px;\n    border: 1px solid transparent;\n    border-radius: 4px;\n}\n\n.alert>p {\n    margin-bottom: 0;\n}\n\n.container:after,\n.container:before,\n.nav:after,\n.nav:before,\n.navbar-collapse:after,\n.navbar-collapse:before,\n.navbar-header:after,\n.navbar-header:before,\n.navbar:after,\n.navbar:before,\n.row:after,\n.row:before {\n    display: table;\n    content: \" \";\n}\n\n.container:after,\n.nav:after,\n.navbar-collapse:after,\n.navbar-header:after,\n.navbar:after,\n.row:after {\n    clear: both;\n}\n\n.pull-right {\n    float: right !important;\n}\n\n.affix {\n    position: fixed;\n}\n\n@media (max-width:767px) {\n    .hidden-xs {\n        display: none !important;\n    }\n}\n\n@media (min-width:768px) and (max-width:991px) {\n    .hidden-sm {\n        display: none !important;\n    }\n}\n\n@media print {\n    .hidden-print {\n        display: none !important;\n    }\n}\n\n.hide {\n    display: none !important;\n}\n\n.show {\n    display: block !important;\n}\n\n.pagination {\n    display: inline-block;\n}\n\n.pagination {\n    padding-left: 0;\n    margin: 20px 0;\n    border-radius: 4px;\n}\n\n.pagination>li {\n    display: inline;\n}\n\n.pagination>li>a {\n    position: relative;\n    float: left;\n    padding: 6px 12px;\n    margin-left: -1px;\n    line-height: 1.42857143;\n    color: #337ab7;\n    text-decoration: none;\n    background-color: #fff;\n    border: 1px solid #ddd;\n}\n\n.pagination>li:first-child>a {\n    margin-left: 0;\n    border-top-left-radius: 4px;\n    border-bottom-left-radius: 4px;\n}\n\n.pagination>li:last-child>a {\n    border-top-right-radius: 4px;\n    border-bottom-right-radius: 4px;\n}\n\n.pagination>li>a:focus,\n.pagination>li>a:hover {\n    z-index: 2;\n    color: #23527c;\n    background-color: #eee;\n    border-color: #ddd;\n}\n\n.pagination>.active>a,\n.pagination>.active>a:focus,\n.pagination>.active>a:hover {\n    z-index: 3;\n    color: #fff;\n    cursor: default;\n    background-color: #337ab7;\n    border-color: #337ab7;\n}\n\n.pagination>.disabled>a,\n.pagination>.disabled>a:focus,\n.pagination>.disabled>a:hover {\n    color: #777;\n    cursor: not-allowed;\n    background-color: #fff;\n    border-color: #ddd;\n}\n"
  },
  {
    "path": "docs/styles/gray.css",
    "content": "/* Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information. */\n\n@import url('vs2015.css');\nhtml,\nbody {\n    background: #23272A;\n    color: #dddddd;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n    color: #EEEEEE;\n}\n\nbutton,\na {\n    color: #64B5F6;\n}\n\n.sidenav{\n  background-color: rgb(30, 30, 30);\n}\n\nbutton:hover,\nbutton:focus,\na:hover,\na:focus,\n.btn:focus,\n.btn:hover{\n    color: #2196F3;\n}\n\na.disable,\na.disable:hover {\n    color: #EEEEEE;\n}\n\n.divider {\n    color: #37474F;\n}\n\nhr {\n    border-color: #37474F;\n}\n\n/* top navbar */\n/*.navbar-inverse[role=\"navigation\"] {\n    background-color: #2C2F33;\n}*/\n\n/* sub navbar (below top) */\n.subnav {\n    background: rgb(69, 75, 82)\n}\n\n\n.inheritance h5,\n.inheritedMembers h5 {\n    border-bottom: 1px solid #37474F;\n}\n\narticle h4 {\n    border-bottom: 1px solid #37474F;\n}\n\n.docs-search {\n    background: #424242;\n}\n\n.search-results-group-heading {\n    color: #424242;\n}\n\n.search-close {\n    color: #424242;\n}\n\n.sidetoc {\n    background-color: #1b1b1b;\n    border-left: 0px solid #37474F;\n    border-right: 0px solid #37474F;\n}\n\n.sideaffix {\n    overflow: visible;\n}\n\n.sideaffix>div.contribution>ul>li>a.contribution-link:hover {\n    background-color: #333333;\n}\n\n/* toc */\n\n.toc .nav>li>a {\n    color: rgb(218, 218, 218);\n}\n\n.toc .nav>li>a:hover,\n.toc .nav>li>a:focus {\n    color: #E0E0E0;\n}\n\n.toc .nav>li.active>a {\n    color: #90CAF9;\n}\n\n.toc .nav>li.active>a:hover,\n.toc .nav>li.active>a:focus {\n    background-color: #37474F;\n    color: #4FC3F7;\n}\n\n.sidefilter {\n    background-color: #1b1b1b;\n    border-left: 0px solid #37474F;\n    border-right: 0px solid #37474F;\n}\n\n.affix ul>li>a:hover {\n    background: none;\n    color: #EEEEEE;\n}\n\n.affix ul>li.active>a,\n.affix ul>li.active>a:before {\n    color: #B3E5FC;\n}\n\n.affix ul>li>a {\n    color: #EEEEEE;\n}\n\n.affix>ul>li.active>a,\n.affix>ul>li.active>a:before {\n    color: #B3E5FC;\n}\n\n.tryspan {\n    border-color: #37474F;\n}\n\n.footer {\n    border-top: 1px solid #5F5F5F;\n    background: #2C2F33;\n}\n\n/* alert */\n.alert-info {\n    color: #f3fdff;\n    background: #40788A;\n    border-color: #2F7A95;\n}\n\n.alert-warning {\n    color: #fffaf2;\n    background: #936C36;\n    border-color: #AE8443;\n}\n\n.alert-danger {\n    color: #fff4f4;\n    background: #834040;\n    border-color: #8C2F2F\n}\n\n/* For tabbed content */\n\n.tabGroup {\n    margin-top: 1rem;\n}\n\n.tabGroup ul[role=\"tablist\"] {\n    margin: 0;\n    padding: 0;\n    list-style: none;\n}\n\n.tabGroup ul[role=\"tablist\"]>li {\n    list-style: none;\n    display: inline-block;\n}\n\n.tabGroup a[role=\"tab\"] {\n    color: white;\n    box-sizing: border-box;\n    display: inline-block;\n    padding: 5px 7.5px;\n    text-decoration: none;\n    border-bottom: 2px solid #fff;\n}\n\n.tabGroup a[role=\"tab\"]:hover,\n.tabGroup a[role=\"tab\"]:focus,\n.tabGroup a[role=\"tab\"][aria-selected=\"true\"] {\n    border-bottom: 2px solid #607D8B;\n}\n\n.tabGroup a[role=\"tab\"][aria-selected=\"true\"] {\n    color: #81D4FA;\n}\n\n.tabGroup a[role=\"tab\"]:hover,\n.tabGroup a[role=\"tab\"]:focus {\n    color: #29B6F6;\n}\n\n.tabGroup a[role=\"tab\"]:focus {\n    outline: 1px solid #607D8B;\n    outline-offset: -1px;\n}\n\n@media (min-width: 768px) {\n    .tabGroup a[role=\"tab\"] {\n        padding: 5px 15px;\n    }\n}\n\n.tabGroup section[role=\"tabpanel\"] {\n    border: 1px solid #607D8B;\n    padding: 15px;\n    margin: 0;\n    overflow: hidden;\n}\n\n.tabGroup section[role=\"tabpanel\"]>.codeHeader,\n.tabGroup section[role=\"tabpanel\"]>pre {\n    margin-left: -16px;\n    margin-right: -16px;\n}\n\n.tabGroup section[role=\"tabpanel\"]> :first-child {\n    margin-top: 0;\n}\n\n.tabGroup section[role=\"tabpanel\"]>pre:last-child {\n    display: block;\n    margin-bottom: -16px;\n}\n\n.mainContainer[dir='rtl'] main ul[role=\"tablist\"] {\n    margin: 0;\n}\n\n/* code */\n\ncode {\n    color: white;\n    background-color: #5B646B;\n    border-radius: 4px;\n    padding: 3px 7px;\n}\n\npre {\n    background-color: #282a36;\n}\n\n/* table */\n\n.table-striped>tbody>tr:nth-of-type(odd) {\n    background-color: #333333;\n    color: #d3d3d3\n}\n\ntbody>tr {\n    background-color: #424242;\n    color: #c0c0c0\n}\n\n.table>tbody+tbody {\n    border-top: 2px solid rgb(173, 173, 173)\n}\n\n/* select */\n\nselect {\n    background-color: #3b3b3b;\n    border-color: #2e2e2e;\n}\n\n/* \n    Following code regarding collapse container are fetched \n    or modified from the Materialize project.\n\n    The MIT License (MIT)\n    Copyright (c) 2014-2018 Materialize\n    https://github.com/Dogfalo/materialize\n*/\n\n/* all collapse container */\n.collapse-container.last-modified {\n    -webkit-box-shadow: 0 2px 2px 0 rgba(50, 50, 50, 0.64), 0 3px 1px -2px rgba(50, 50, 50, 0.62), 0 1px 5px 0 rgba(50, 50, 50, 0.7);\n    box-shadow: 0 2px 2px 0 rgba(50, 50, 50, 0.64), 0 3px 1px -2px rgba(50, 50, 50, 0.62), 0 1px 5px 0 rgba(50, 50, 50, 0.7);\n    border-top: 1px solid rgba(96, 96, 96, 0.7);\n    border-right: 1px solid rgba(96, 96, 96, 0.7);\n    border-left: 1px solid rgba(96, 96, 96, 0.7);\n}\n\n/* header */\n.collapse-container.last-modified>:nth-child(odd) {\n    background-color: #3f3f3f;\n    border-bottom: 1px solid rgba(96, 96, 96, 0.7);\n}\n\n/* body */\n.collapse-container.last-modified>:nth-child(even) {\n    border-bottom: 1px solid rgba(96, 96, 96, 0.7);\n    background-color: inherit;\n}\n\nspan.arrow-d{\n    border-top: 5px solid white\n}\n\nspan.arrow-r{\n    border-left: 5px solid white\n}\n\n.logo-switcher {\n    background: url(\"../marketing/logo/SVG/Combinationmark White.svg\") no-repeat;\n}\n"
  },
  {
    "path": "docs/styles/light.css",
    "content": "/* Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License.txt in the project root for license information. */\n\n@import url('tomorrow.css');\nhtml,\nbody {\n    background: #fff;\n    color: #000;\n}\n\n.sideaffix {\n    overflow: visible;\n}\n\n/* links */\n\na:active, a:hover, a:visited {\n    color: #0078d7;\n}\n\na {\n    color: #0050c5;\n    cursor: pointer;\n    text-decoration: none;\n    word-wrap: break-word;\n}\n\n/* alert */\n.alert-info {\n    color: #165e82;\n    background-color: #c1e0ef;\n    border-color: #8cbfd8;\n}\n\n.alert-warning {\n    color: #825e16;\n    background-color: #efe0c1;\n    border-color: #d8bf8c;\n}\n\n.alert-danger {\n    color: #821616;\n    background-color: #efc1c1;\n    border-color: #d88c8c;\n}\n\n/* code */\n\ncode {\n    color: #9c3a3f;\n    background-color: #ececec;\n    border-radius: 4px;\n    padding: 3px 7px;\n}\n\n/* table */\n\n.table-striped>tbody>tr:nth-of-type(odd) {\n    color: #333333;\n    background-color: #d3d3d3\n}\n\ntbody>tr {\n    color: #424242;\n    background-color: #c0c0c0\n}\n\n.table>tbody+tbody {\n    border-top: 2px solid rgb(173, 173, 173)\n}\n\n/* select */\n\nselect {\n    background-color: #fcfcfc;\n    border-color: #aeb1b5;\n}\n\n/* \n    Following code regarding collapse container are fetched \n    or modified from the Materialize project.\n\n    The MIT License (MIT)\n    Copyright (c) 2014-2018 Materialize\n    https://github.com/Dogfalo/materialize\n*/\n\n/* all collapse container */\n.collapse-container.last-modified {\n    -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);\n    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);\n    border-top: 1px solid #ddd;\n    border-right: 1px solid #ddd;\n    border-left: 1px solid #ddd;\n}\n\n/* header */\n.collapse-container.last-modified>:nth-child(odd) {\n    background-color: #fff;\n    border-bottom: 1px solid #ddd;\n}\n\n/* body */\n.collapse-container.last-modified>:nth-child(even) {\n    border-bottom: 1px solid #ddd;\n}\n\nspan.arrow-d{\n    border-top: 5px solid black\n}\n\nspan.arrow-r{\n    border-left: 5px solid black\n}\n\n.logo-switcher {\n    background: url(\"../marketing/logo/SVG/Combinationmark.svg\") no-repeat;\n}\n"
  },
  {
    "path": "docs/styles/lunr.js",
    "content": "/**\n * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.1.2\n * Copyright (C) 2017 Oliver Nightingale\n * @license MIT\n */\n\n;(function(){\n\n/**\n * A convenience function for configuring and constructing\n * a new lunr Index.\n *\n * A lunr.Builder instance is created and the pipeline setup\n * with a trimmer, stop word filter and stemmer.\n *\n * This builder object is yielded to the configuration function\n * that is passed as a parameter, allowing the list of fields\n * and other builder parameters to be customised.\n *\n * All documents _must_ be added within the passed config function.\n *\n * @example\n * var idx = lunr(function () {\n *   this.field('title')\n *   this.field('body')\n *   this.ref('id')\n *\n *   documents.forEach(function (doc) {\n *     this.add(doc)\n *   }, this)\n * })\n *\n * @see {@link lunr.Builder}\n * @see {@link lunr.Pipeline}\n * @see {@link lunr.trimmer}\n * @see {@link lunr.stopWordFilter}\n * @see {@link lunr.stemmer}\n * @namespace {function} lunr\n */\nvar lunr = function (config) {\n  var builder = new lunr.Builder\n\n  builder.pipeline.add(\n    lunr.trimmer,\n    lunr.stopWordFilter,\n    lunr.stemmer\n  )\n\n  builder.searchPipeline.add(\n    lunr.stemmer\n  )\n\n  config.call(builder, builder)\n  return builder.build()\n}\n\nlunr.version = \"2.1.2\"\n/*!\n * lunr.utils\n * Copyright (C) 2017 Oliver Nightingale\n */\n\n/**\n * A namespace containing utils for the rest of the lunr library\n */\nlunr.utils = {}\n\n/**\n * Print a warning message to the console.\n *\n * @param {String} message The message to be printed.\n * @memberOf Utils\n */\nlunr.utils.warn = (function (global) {\n  /* eslint-disable no-console */\n  return function (message) {\n    if (global.console && console.warn) {\n      console.warn(message)\n    }\n  }\n  /* eslint-enable no-console */\n})(this)\n\n/**\n * Convert an object to a string.\n *\n * In the case of `null` and `undefined` the function returns\n * the empty string, in all other cases the result of calling\n * `toString` on the passed object is returned.\n *\n * @param {Any} obj The object to convert to a string.\n * @return {String} string representation of the passed object.\n * @memberOf Utils\n */\nlunr.utils.asString = function (obj) {\n  if (obj === void 0 || obj === null) {\n    return \"\"\n  } else {\n    return obj.toString()\n  }\n}\nlunr.FieldRef = function (docRef, fieldName) {\n  this.docRef = docRef\n  this.fieldName = fieldName\n  this._stringValue = fieldName + lunr.FieldRef.joiner + docRef\n}\n\nlunr.FieldRef.joiner = \"/\"\n\nlunr.FieldRef.fromString = function (s) {\n  var n = s.indexOf(lunr.FieldRef.joiner)\n\n  if (n === -1) {\n    throw \"malformed field ref string\"\n  }\n\n  var fieldRef = s.slice(0, n),\n      docRef = s.slice(n + 1)\n\n  return new lunr.FieldRef (docRef, fieldRef)\n}\n\nlunr.FieldRef.prototype.toString = function () {\n  return this._stringValue\n}\n/**\n * A function to calculate the inverse document frequency for\n * a posting. This is shared between the builder and the index\n *\n * @private\n * @param {object} posting - The posting for a given term\n * @param {number} documentCount - The total number of documents.\n */\nlunr.idf = function (posting, documentCount) {\n  var documentsWithTerm = 0\n\n  for (var fieldName in posting) {\n    if (fieldName == '_index') continue // Ignore the term index, its not a field\n    documentsWithTerm += Object.keys(posting[fieldName]).length\n  }\n\n  var x = (documentCount - documentsWithTerm + 0.5) / (documentsWithTerm + 0.5)\n\n  return Math.log(1 + Math.abs(x))\n}\n\n/**\n * A token wraps a string representation of a token\n * as it is passed through the text processing pipeline.\n *\n * @constructor\n * @param {string} [str=''] - The string token being wrapped.\n * @param {object} [metadata={}] - Metadata associated with this token.\n */\nlunr.Token = function (str, metadata) {\n  this.str = str || \"\"\n  this.metadata = metadata || {}\n}\n\n/**\n * Returns the token string that is being wrapped by this object.\n *\n * @returns {string}\n */\nlunr.Token.prototype.toString = function () {\n  return this.str\n}\n\n/**\n * A token update function is used when updating or optionally\n * when cloning a token.\n *\n * @callback lunr.Token~updateFunction\n * @param {string} str - The string representation of the token.\n * @param {Object} metadata - All metadata associated with this token.\n */\n\n/**\n * Applies the given function to the wrapped string token.\n *\n * @example\n * token.update(function (str, metadata) {\n *   return str.toUpperCase()\n * })\n *\n * @param {lunr.Token~updateFunction} fn - A function to apply to the token string.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.update = function (fn) {\n  this.str = fn(this.str, this.metadata)\n  return this\n}\n\n/**\n * Creates a clone of this token. Optionally a function can be\n * applied to the cloned token.\n *\n * @param {lunr.Token~updateFunction} [fn] - An optional function to apply to the cloned token.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.clone = function (fn) {\n  fn = fn || function (s) { return s }\n  return new lunr.Token (fn(this.str, this.metadata), this.metadata)\n}\n/*!\n * lunr.tokenizer\n * Copyright (C) 2017 Oliver Nightingale\n */\n\n/**\n * A function for splitting a string into tokens ready to be inserted into\n * the search index. Uses `lunr.tokenizer.separator` to split strings, change\n * the value of this property to change how strings are split into tokens.\n *\n * This tokenizer will convert its parameter to a string by calling `toString` and\n * then will split this string on the character in `lunr.tokenizer.separator`.\n * Arrays will have their elements converted to strings and wrapped in a lunr.Token.\n *\n * @static\n * @param {?(string|object|object[])} obj - The object to convert into tokens\n * @returns {lunr.Token[]}\n */\nlunr.tokenizer = function (obj) {\n  if (obj == null || obj == undefined) {\n    return []\n  }\n\n  if (Array.isArray(obj)) {\n    return obj.map(function (t) {\n      return new lunr.Token(lunr.utils.asString(t).toLowerCase())\n    })\n  }\n\n  var str = obj.toString().trim().toLowerCase(),\n      len = str.length,\n      tokens = []\n\n  for (var sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) {\n    var char = str.charAt(sliceEnd),\n        sliceLength = sliceEnd - sliceStart\n\n    if ((char.match(lunr.tokenizer.separator) || sliceEnd == len)) {\n\n      if (sliceLength > 0) {\n        tokens.push(\n          new lunr.Token (str.slice(sliceStart, sliceEnd), {\n            position: [sliceStart, sliceLength],\n            index: tokens.length\n          })\n        )\n      }\n\n      sliceStart = sliceEnd + 1\n    }\n\n  }\n\n  return tokens\n}\n\n/**\n * The separator used to split a string into tokens. Override this property to change the behaviour of\n * `lunr.tokenizer` behaviour when tokenizing strings. By default this splits on whitespace and hyphens.\n *\n * @static\n * @see lunr.tokenizer\n */\nlunr.tokenizer.separator = /[\\s\\-]+/\n/*!\n * lunr.Pipeline\n * Copyright (C) 2017 Oliver Nightingale\n */\n\n/**\n * lunr.Pipelines maintain an ordered list of functions to be applied to all\n * tokens in documents entering the search index and queries being ran against\n * the index.\n *\n * An instance of lunr.Index created with the lunr shortcut will contain a\n * pipeline with a stop word filter and an English language stemmer. Extra\n * functions can be added before or after either of these functions or these\n * default functions can be removed.\n *\n * When run the pipeline will call each function in turn, passing a token, the\n * index of that token in the original list of all tokens and finally a list of\n * all the original tokens.\n *\n * The output of functions in the pipeline will be passed to the next function\n * in the pipeline. To exclude a token from entering the index the function\n * should return undefined, the rest of the pipeline will not be called with\n * this token.\n *\n * For serialisation of pipelines to work, all functions used in an instance of\n * a pipeline should be registered with lunr.Pipeline. Registered functions can\n * then be loaded. If trying to load a serialised pipeline that uses functions\n * that are not registered an error will be thrown.\n *\n * If not planning on serialising the pipeline then registering pipeline functions\n * is not necessary.\n *\n * @constructor\n */\nlunr.Pipeline = function () {\n  this._stack = []\n}\n\nlunr.Pipeline.registeredFunctions = Object.create(null)\n\n/**\n * A pipeline function maps lunr.Token to lunr.Token. A lunr.Token contains the token\n * string as well as all known metadata. A pipeline function can mutate the token string\n * or mutate (or add) metadata for a given token.\n *\n * A pipeline function can indicate that the passed token should be discarded by returning\n * null. This token will not be passed to any downstream pipeline functions and will not be\n * added to the index.\n *\n * Multiple tokens can be returned by returning an array of tokens. Each token will be passed\n * to any downstream pipeline functions and all will returned tokens will be added to the index.\n *\n * Any number of pipeline functions may be chained together using a lunr.Pipeline.\n *\n * @interface lunr.PipelineFunction\n * @param {lunr.Token} token - A token from the document being processed.\n * @param {number} i - The index of this token in the complete list of tokens for this document/field.\n * @param {lunr.Token[]} tokens - All tokens for this document/field.\n * @returns {(?lunr.Token|lunr.Token[])}\n */\n\n/**\n * Register a function with the pipeline.\n *\n * Functions that are used in the pipeline should be registered if the pipeline\n * needs to be serialised, or a serialised pipeline needs to be loaded.\n *\n * Registering a function does not add it to a pipeline, functions must still be\n * added to instances of the pipeline for them to be used when running a pipeline.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @param {String} label - The label to register this function with\n */\nlunr.Pipeline.registerFunction = function (fn, label) {\n  if (label in this.registeredFunctions) {\n    lunr.utils.warn('Overwriting existing registered function: ' + label)\n  }\n\n  fn.label = label\n  lunr.Pipeline.registeredFunctions[fn.label] = fn\n}\n\n/**\n * Warns if the function is not registered as a Pipeline function.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @private\n */\nlunr.Pipeline.warnIfFunctionNotRegistered = function (fn) {\n  var isRegistered = fn.label && (fn.label in this.registeredFunctions)\n\n  if (!isRegistered) {\n    lunr.utils.warn('Function is not registered with pipeline. This may cause problems when serialising the index.\\n', fn)\n  }\n}\n\n/**\n * Loads a previously serialised pipeline.\n *\n * All functions to be loaded must already be registered with lunr.Pipeline.\n * If any function from the serialised data has not been registered then an\n * error will be thrown.\n *\n * @param {Object} serialised - The serialised pipeline to load.\n * @returns {lunr.Pipeline}\n */\nlunr.Pipeline.load = function (serialised) {\n  var pipeline = new lunr.Pipeline\n\n  serialised.forEach(function (fnName) {\n    var fn = lunr.Pipeline.registeredFunctions[fnName]\n\n    if (fn) {\n      pipeline.add(fn)\n    } else {\n      throw new Error('Cannot load unregistered function: ' + fnName)\n    }\n  })\n\n  return pipeline\n}\n\n/**\n * Adds new functions to the end of the pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction[]} functions - Any number of functions to add to the pipeline.\n */\nlunr.Pipeline.prototype.add = function () {\n  var fns = Array.prototype.slice.call(arguments)\n\n  fns.forEach(function (fn) {\n    lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n    this._stack.push(fn)\n  }, this)\n}\n\n/**\n * Adds a single function after a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.after = function (existingFn, newFn) {\n  lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n  var pos = this._stack.indexOf(existingFn)\n  if (pos == -1) {\n    throw new Error('Cannot find existingFn')\n  }\n\n  pos = pos + 1\n  this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Adds a single function before a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.before = function (existingFn, newFn) {\n  lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n  var pos = this._stack.indexOf(existingFn)\n  if (pos == -1) {\n    throw new Error('Cannot find existingFn')\n  }\n\n  this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Removes a function from the pipeline.\n *\n * @param {lunr.PipelineFunction} fn The function to remove from the pipeline.\n */\nlunr.Pipeline.prototype.remove = function (fn) {\n  var pos = this._stack.indexOf(fn)\n  if (pos == -1) {\n    return\n  }\n\n  this._stack.splice(pos, 1)\n}\n\n/**\n * Runs the current list of functions that make up the pipeline against the\n * passed tokens.\n *\n * @param {Array} tokens The tokens to run through the pipeline.\n * @returns {Array}\n */\nlunr.Pipeline.prototype.run = function (tokens) {\n  var stackLength = this._stack.length\n\n  for (var i = 0; i < stackLength; i++) {\n    var fn = this._stack[i]\n\n    tokens = tokens.reduce(function (memo, token, j) {\n      var result = fn(token, j, tokens)\n\n      if (result === void 0 || result === '') return memo\n\n      return memo.concat(result)\n    }, [])\n  }\n\n  return tokens\n}\n\n/**\n * Convenience method for passing a string through a pipeline and getting\n * strings out. This method takes care of wrapping the passed string in a\n * token and mapping the resulting tokens back to strings.\n *\n * @param {string} str - The string to pass through the pipeline.\n * @returns {string[]}\n */\nlunr.Pipeline.prototype.runString = function (str) {\n  var token = new lunr.Token (str)\n\n  return this.run([token]).map(function (t) {\n    return t.toString()\n  })\n}\n\n/**\n * Resets the pipeline by removing any existing processors.\n *\n */\nlunr.Pipeline.prototype.reset = function () {\n  this._stack = []\n}\n\n/**\n * Returns a representation of the pipeline ready for serialisation.\n *\n * Logs a warning if the function has not been registered.\n *\n * @returns {Array}\n */\nlunr.Pipeline.prototype.toJSON = function () {\n  return this._stack.map(function (fn) {\n    lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n\n    return fn.label\n  })\n}\n/*!\n * lunr.Vector\n * Copyright (C) 2017 Oliver Nightingale\n */\n\n/**\n * A vector is used to construct the vector space of documents and queries. These\n * vectors support operations to determine the similarity between two documents or\n * a document and a query.\n *\n * Normally no parameters are required for initializing a vector, but in the case of\n * loading a previously dumped vector the raw elements can be provided to the constructor.\n *\n * For performance reasons vectors are implemented with a flat array, where an elements\n * index is immediately followed by its value. E.g. [index, value, index, value]. This\n * allows the underlying array to be as sparse as possible and still offer decent\n * performance when being used for vector calculations.\n *\n * @constructor\n * @param {Number[]} [elements] - The flat list of element index and element value pairs.\n */\nlunr.Vector = function (elements) {\n  this._magnitude = 0\n  this.elements = elements || []\n}\n\n\n/**\n * Calculates the position within the vector to insert a given index.\n *\n * This is used internally by insert and upsert. If there are duplicate indexes then\n * the position is returned as if the value for that index were to be updated, but it\n * is the callers responsibility to check whether there is a duplicate at that index\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @returns {Number}\n */\nlunr.Vector.prototype.positionForIndex = function (index) {\n  // For an empty vector the tuple can be inserted at the beginning\n  if (this.elements.length == 0) {\n    return 0\n  }\n\n  var start = 0,\n      end = this.elements.length / 2,\n      sliceLength = end - start,\n      pivotPoint = Math.floor(sliceLength / 2),\n      pivotIndex = this.elements[pivotPoint * 2]\n\n  while (sliceLength > 1) {\n    if (pivotIndex < index) {\n      start = pivotPoint\n    }\n\n    if (pivotIndex > index) {\n      end = pivotPoint\n    }\n\n    if (pivotIndex == index) {\n      break\n    }\n\n    sliceLength = end - start\n    pivotPoint = start + Math.floor(sliceLength / 2)\n    pivotIndex = this.elements[pivotPoint * 2]\n  }\n\n  if (pivotIndex == index) {\n    return pivotPoint * 2\n  }\n\n  if (pivotIndex > index) {\n    return pivotPoint * 2\n  }\n\n  if (pivotIndex < index) {\n    return (pivotPoint + 1) * 2\n  }\n}\n\n/**\n * Inserts an element at an index within the vector.\n *\n * Does not allow duplicates, will throw an error if there is already an entry\n * for this index.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n */\nlunr.Vector.prototype.insert = function (insertIdx, val) {\n  this.upsert(insertIdx, val, function () {\n    throw \"duplicate index\"\n  })\n}\n\n/**\n * Inserts or updates an existing index within the vector.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n * @param {function} fn - A function that is called for updates, the existing value and the\n * requested value are passed as arguments\n */\nlunr.Vector.prototype.upsert = function (insertIdx, val, fn) {\n  this._magnitude = 0\n  var position = this.positionForIndex(insertIdx)\n\n  if (this.elements[position] == insertIdx) {\n    this.elements[position + 1] = fn(this.elements[position + 1], val)\n  } else {\n    this.elements.splice(position, 0, insertIdx, val)\n  }\n}\n\n/**\n * Calculates the magnitude of this vector.\n *\n * @returns {Number}\n */\nlunr.Vector.prototype.magnitude = function () {\n  if (this._magnitude) return this._magnitude\n\n  var sumOfSquares = 0,\n      elementsLength = this.elements.length\n\n  for (var i = 1; i < elementsLength; i += 2) {\n    var val = this.elements[i]\n    sumOfSquares += val * val\n  }\n\n  return this._magnitude = Math.sqrt(sumOfSquares)\n}\n\n/**\n * Calculates the dot product of this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The vector to compute the dot product with.\n * @returns {Number}\n */\nlunr.Vector.prototype.dot = function (otherVector) {\n  var dotProduct = 0,\n      a = this.elements, b = otherVector.elements,\n      aLen = a.length, bLen = b.length,\n      aVal = 0, bVal = 0,\n      i = 0, j = 0\n\n  while (i < aLen && j < bLen) {\n    aVal = a[i], bVal = b[j]\n    if (aVal < bVal) {\n      i += 2\n    } else if (aVal > bVal) {\n      j += 2\n    } else if (aVal == bVal) {\n      dotProduct += a[i + 1] * b[j + 1]\n      i += 2\n      j += 2\n    }\n  }\n\n  return dotProduct\n}\n\n/**\n * Calculates the cosine similarity between this vector and another\n * vector.\n *\n * @param {lunr.Vector} otherVector - The other vector to calculate the\n * similarity with.\n * @returns {Number}\n */\nlunr.Vector.prototype.similarity = function (otherVector) {\n  return this.dot(otherVector) / (this.magnitude() * otherVector.magnitude())\n}\n\n/**\n * Converts the vector to an array of the elements within the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toArray = function () {\n  var output = new Array (this.elements.length / 2)\n\n  for (var i = 1, j = 0; i < this.elements.length; i += 2, j++) {\n    output[j] = this.elements[i]\n  }\n\n  return output\n}\n\n/**\n * A JSON serializable representation of the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toJSON = function () {\n  return this.elements\n}\n/* eslint-disable */\n/*!\n * lunr.stemmer\n * Copyright (C) 2017 Oliver Nightingale\n * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt\n */\n\n/**\n * lunr.stemmer is an english language stemmer, this is a JavaScript\n * implementation of the PorterStemmer taken from http://tartarus.org/~martin\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token - The string to stem\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n */\nlunr.stemmer = (function(){\n  var step2list = {\n      \"ational\" : \"ate\",\n      \"tional\" : \"tion\",\n      \"enci\" : \"ence\",\n      \"anci\" : \"ance\",\n      \"izer\" : \"ize\",\n      \"bli\" : \"ble\",\n      \"alli\" : \"al\",\n      \"entli\" : \"ent\",\n      \"eli\" : \"e\",\n      \"ousli\" : \"ous\",\n      \"ization\" : \"ize\",\n      \"ation\" : \"ate\",\n      \"ator\" : \"ate\",\n      \"alism\" : \"al\",\n      \"iveness\" : \"ive\",\n      \"fulness\" : \"ful\",\n      \"ousness\" : \"ous\",\n      \"aliti\" : \"al\",\n      \"iviti\" : \"ive\",\n      \"biliti\" : \"ble\",\n      \"logi\" : \"log\"\n    },\n\n    step3list = {\n      \"icate\" : \"ic\",\n      \"ative\" : \"\",\n      \"alize\" : \"al\",\n      \"iciti\" : \"ic\",\n      \"ical\" : \"ic\",\n      \"ful\" : \"\",\n      \"ness\" : \"\"\n    },\n\n    c = \"[^aeiou]\",          // consonant\n    v = \"[aeiouy]\",          // vowel\n    C = c + \"[^aeiouy]*\",    // consonant sequence\n    V = v + \"[aeiou]*\",      // vowel sequence\n\n    mgr0 = \"^(\" + C + \")?\" + V + C,               // [C]VC... is m>0\n    meq1 = \"^(\" + C + \")?\" + V + C + \"(\" + V + \")?$\",  // [C]VC[V] is m=1\n    mgr1 = \"^(\" + C + \")?\" + V + C + V + C,       // [C]VCVC... is m>1\n    s_v = \"^(\" + C + \")?\" + v;                   // vowel in stem\n\n  var re_mgr0 = new RegExp(mgr0);\n  var re_mgr1 = new RegExp(mgr1);\n  var re_meq1 = new RegExp(meq1);\n  var re_s_v = new RegExp(s_v);\n\n  var re_1a = /^(.+?)(ss|i)es$/;\n  var re2_1a = /^(.+?)([^s])s$/;\n  var re_1b = /^(.+?)eed$/;\n  var re2_1b = /^(.+?)(ed|ing)$/;\n  var re_1b_2 = /.$/;\n  var re2_1b_2 = /(at|bl|iz)$/;\n  var re3_1b_2 = new RegExp(\"([^aeiouylsz])\\\\1$\");\n  var re4_1b_2 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n  var re_1c = /^(.+?[^aeiou])y$/;\n  var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;\n\n  var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;\n\n  var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;\n  var re2_4 = /^(.+?)(s|t)(ion)$/;\n\n  var re_5 = /^(.+?)e$/;\n  var re_5_1 = /ll$/;\n  var re3_5 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n  var porterStemmer = function porterStemmer(w) {\n    var stem,\n      suffix,\n      firstch,\n      re,\n      re2,\n      re3,\n      re4;\n\n    if (w.length < 3) { return w; }\n\n    firstch = w.substr(0,1);\n    if (firstch == \"y\") {\n      w = firstch.toUpperCase() + w.substr(1);\n    }\n\n    // Step 1a\n    re = re_1a\n    re2 = re2_1a;\n\n    if (re.test(w)) { w = w.replace(re,\"$1$2\"); }\n    else if (re2.test(w)) { w = w.replace(re2,\"$1$2\"); }\n\n    // Step 1b\n    re = re_1b;\n    re2 = re2_1b;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      re = re_mgr0;\n      if (re.test(fp[1])) {\n        re = re_1b_2;\n        w = w.replace(re,\"\");\n      }\n    } else if (re2.test(w)) {\n      var fp = re2.exec(w);\n      stem = fp[1];\n      re2 = re_s_v;\n      if (re2.test(stem)) {\n        w = stem;\n        re2 = re2_1b_2;\n        re3 = re3_1b_2;\n        re4 = re4_1b_2;\n        if (re2.test(w)) { w = w + \"e\"; }\n        else if (re3.test(w)) { re = re_1b_2; w = w.replace(re,\"\"); }\n        else if (re4.test(w)) { w = w + \"e\"; }\n      }\n    }\n\n    // Step 1c - replace suffix y or Y by i if preceded by a non-vowel which is not the first letter of the word (so cry -> cri, by -> by, say -> say)\n    re = re_1c;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      stem = fp[1];\n      w = stem + \"i\";\n    }\n\n    // Step 2\n    re = re_2;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      stem = fp[1];\n      suffix = fp[2];\n      re = re_mgr0;\n      if (re.test(stem)) {\n        w = stem + step2list[suffix];\n      }\n    }\n\n    // Step 3\n    re = re_3;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      stem = fp[1];\n      suffix = fp[2];\n      re = re_mgr0;\n      if (re.test(stem)) {\n        w = stem + step3list[suffix];\n      }\n    }\n\n    // Step 4\n    re = re_4;\n    re2 = re2_4;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      stem = fp[1];\n      re = re_mgr1;\n      if (re.test(stem)) {\n        w = stem;\n      }\n    } else if (re2.test(w)) {\n      var fp = re2.exec(w);\n      stem = fp[1] + fp[2];\n      re2 = re_mgr1;\n      if (re2.test(stem)) {\n        w = stem;\n      }\n    }\n\n    // Step 5\n    re = re_5;\n    if (re.test(w)) {\n      var fp = re.exec(w);\n      stem = fp[1];\n      re = re_mgr1;\n      re2 = re_meq1;\n      re3 = re3_5;\n      if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) {\n        w = stem;\n      }\n    }\n\n    re = re_5_1;\n    re2 = re_mgr1;\n    if (re.test(w) && re2.test(w)) {\n      re = re_1b_2;\n      w = w.replace(re,\"\");\n    }\n\n    // and turn initial Y back to y\n\n    if (firstch == \"y\") {\n      w = firstch.toLowerCase() + w.substr(1);\n    }\n\n    return w;\n  };\n\n  return function (token) {\n    return token.update(porterStemmer);\n  }\n})();\n\nlunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer')\n/*!\n * lunr.stopWordFilter\n * Copyright (C) 2017 Oliver Nightingale\n */\n\n/**\n * lunr.generateStopWordFilter builds a stopWordFilter function from the provided\n * list of stop words.\n *\n * The built in lunr.stopWordFilter is built using this generator and can be used\n * to generate custom stopWordFilters for applications or non English languages.\n *\n * @param {Array} token The token to pass through the filter\n * @returns {lunr.PipelineFunction}\n * @see lunr.Pipeline\n * @see lunr.stopWordFilter\n */\nlunr.generateStopWordFilter = function (stopWords) {\n  var words = stopWords.reduce(function (memo, stopWord) {\n    memo[stopWord] = stopWord\n    return memo\n  }, {})\n\n  return function (token) {\n    if (token && words[token.toString()] !== token.toString()) return token\n  }\n}\n\n/**\n * lunr.stopWordFilter is an English language stop word list filter, any words\n * contained in the list will not be passed through the filter.\n *\n * This is intended to be used in the Pipeline. If the token does not pass the\n * filter then undefined will be returned.\n *\n * @implements {lunr.PipelineFunction}\n * @params {lunr.Token} token - A token to check for being a stop word.\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n */\nlunr.stopWordFilter = lunr.generateStopWordFilter([\n  'a',\n  'able',\n  'about',\n  'across',\n  'after',\n  'all',\n  'almost',\n  'also',\n  'am',\n  'among',\n  'an',\n  'and',\n  'any',\n  'are',\n  'as',\n  'at',\n  'be',\n  'because',\n  'been',\n  'but',\n  'by',\n  'can',\n  'cannot',\n  'could',\n  'dear',\n  'did',\n  'do',\n  'does',\n  'either',\n  'else',\n  'ever',\n  'every',\n  'for',\n  'from',\n  'get',\n  'got',\n  'had',\n  'has',\n  'have',\n  'he',\n  'her',\n  'hers',\n  'him',\n  'his',\n  'how',\n  'however',\n  'i',\n  'if',\n  'in',\n  'into',\n  'is',\n  'it',\n  'its',\n  'just',\n  'least',\n  'let',\n  'like',\n  'likely',\n  'may',\n  'me',\n  'might',\n  'most',\n  'must',\n  'my',\n  'neither',\n  'no',\n  'nor',\n  'not',\n  'of',\n  'off',\n  'often',\n  'on',\n  'only',\n  'or',\n  'other',\n  'our',\n  'own',\n  'rather',\n  'said',\n  'say',\n  'says',\n  'she',\n  'should',\n  'since',\n  'so',\n  'some',\n  'than',\n  'that',\n  'the',\n  'their',\n  'them',\n  'then',\n  'there',\n  'these',\n  'they',\n  'this',\n  'tis',\n  'to',\n  'too',\n  'twas',\n  'us',\n  'wants',\n  'was',\n  'we',\n  'were',\n  'what',\n  'when',\n  'where',\n  'which',\n  'while',\n  'who',\n  'whom',\n  'why',\n  'will',\n  'with',\n  'would',\n  'yet',\n  'you',\n  'your'\n])\n\nlunr.Pipeline.registerFunction(lunr.stopWordFilter, 'stopWordFilter')\n/*!\n * lunr.trimmer\n * Copyright (C) 2017 Oliver Nightingale\n */\n\n/**\n * lunr.trimmer is a pipeline function for trimming non word\n * characters from the beginning and end of tokens before they\n * enter the index.\n *\n * This implementation may not work correctly for non latin\n * characters and should either be removed or adapted for use\n * with languages with non-latin characters.\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token The token to pass through the filter\n * @returns {lunr.Token}\n * @see lunr.Pipeline\n */\nlunr.trimmer = function (token) {\n  return token.update(function (s) {\n    return s.replace(/^\\W+/, '').replace(/\\W+$/, '')\n  })\n}\n\nlunr.Pipeline.registerFunction(lunr.trimmer, 'trimmer')\n/*!\n * lunr.TokenSet\n * Copyright (C) 2017 Oliver Nightingale\n */\n\n/**\n * A token set is used to store the unique list of all tokens\n * within an index. Token sets are also used to represent an\n * incoming query to the index, this query token set and index\n * token set are then intersected to find which tokens to look\n * up in the inverted index.\n *\n * A token set can hold multiple tokens, as in the case of the\n * index token set, or it can hold a single token as in the\n * case of a simple query token set.\n *\n * Additionally token sets are used to perform wildcard matching.\n * Leading, contained and trailing wildcards are supported, and\n * from this edit distance matching can also be provided.\n *\n * Token sets are implemented as a minimal finite state automata,\n * where both common prefixes and suffixes are shared between tokens.\n * This helps to reduce the space used for storing the token set.\n *\n * @constructor\n */\nlunr.TokenSet = function () {\n  this.final = false\n  this.edges = {}\n  this.id = lunr.TokenSet._nextId\n  lunr.TokenSet._nextId += 1\n}\n\n/**\n * Keeps track of the next, auto increment, identifier to assign\n * to a new tokenSet.\n *\n * TokenSets require a unique identifier to be correctly minimised.\n *\n * @private\n */\nlunr.TokenSet._nextId = 1\n\n/**\n * Creates a TokenSet instance from the given sorted array of words.\n *\n * @param {String[]} arr - A sorted array of strings to create the set from.\n * @returns {lunr.TokenSet}\n * @throws Will throw an error if the input array is not sorted.\n */\nlunr.TokenSet.fromArray = function (arr) {\n  var builder = new lunr.TokenSet.Builder\n\n  for (var i = 0, len = arr.length; i < len; i++) {\n    builder.insert(arr[i])\n  }\n\n  builder.finish()\n  return builder.root\n}\n\n/**\n * Creates a token set from a query clause.\n *\n * @private\n * @param {Object} clause - A single clause from lunr.Query.\n * @param {string} clause.term - The query clause term.\n * @param {number} [clause.editDistance] - The optional edit distance for the term.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromClause = function (clause) {\n  if ('editDistance' in clause) {\n    return lunr.TokenSet.fromFuzzyString(clause.term, clause.editDistance)\n  } else {\n    return lunr.TokenSet.fromString(clause.term)\n  }\n}\n\n/**\n * Creates a token set representing a single string with a specified\n * edit distance.\n *\n * Insertions, deletions, substitutions and transpositions are each\n * treated as an edit distance of 1.\n *\n * Increasing the allowed edit distance will have a dramatic impact\n * on the performance of both creating and intersecting these TokenSets.\n * It is advised to keep the edit distance less than 3.\n *\n * @param {string} str - The string to create the token set from.\n * @param {number} editDistance - The allowed edit distance to match.\n * @returns {lunr.Vector}\n */\nlunr.TokenSet.fromFuzzyString = function (str, editDistance) {\n  var root = new lunr.TokenSet\n\n  var stack = [{\n    node: root,\n    editsRemaining: editDistance,\n    str: str\n  }]\n\n  while (stack.length) {\n    var frame = stack.pop()\n\n    // no edit\n    if (frame.str.length > 0) {\n      var char = frame.str.charAt(0),\n          noEditNode\n\n      if (char in frame.node.edges) {\n        noEditNode = frame.node.edges[char]\n      } else {\n        noEditNode = new lunr.TokenSet\n        frame.node.edges[char] = noEditNode\n      }\n\n      if (frame.str.length == 1) {\n        noEditNode.final = true\n      } else {\n        stack.push({\n          node: noEditNode,\n          editsRemaining: frame.editsRemaining,\n          str: frame.str.slice(1)\n        })\n      }\n    }\n\n    // deletion\n    // can only do a deletion if we have enough edits remaining\n    // and if there are characters left to delete in the string\n    if (frame.editsRemaining > 0 && frame.str.length > 1) {\n      var char = frame.str.charAt(1),\n          deletionNode\n\n      if (char in frame.node.edges) {\n        deletionNode = frame.node.edges[char]\n      } else {\n        deletionNode = new lunr.TokenSet\n        frame.node.edges[char] = deletionNode\n      }\n\n      if (frame.str.length <= 2) {\n        deletionNode.final = true\n      } else {\n        stack.push({\n          node: deletionNode,\n          editsRemaining: frame.editsRemaining - 1,\n          str: frame.str.slice(2)\n        })\n      }\n    }\n\n    // deletion\n    // just removing the last character from the str\n    if (frame.editsRemaining > 0 && frame.str.length == 1) {\n      frame.node.final = true\n    }\n\n    // substitution\n    // can only do a substitution if we have enough edits remaining\n    // and if there are characters left to substitute\n    if (frame.editsRemaining > 0 && frame.str.length >= 1) {\n      if (\"*\" in frame.node.edges) {\n        var substitutionNode = frame.node.edges[\"*\"]\n      } else {\n        var substitutionNode = new lunr.TokenSet\n        frame.node.edges[\"*\"] = substitutionNode\n      }\n\n      if (frame.str.length == 1) {\n        substitutionNode.final = true\n      } else {\n        stack.push({\n          node: substitutionNode,\n          editsRemaining: frame.editsRemaining - 1,\n          str: frame.str.slice(1)\n        })\n      }\n    }\n\n    // insertion\n    // can only do insertion if there are edits remaining\n    if (frame.editsRemaining > 0) {\n      if (\"*\" in frame.node.edges) {\n        var insertionNode = frame.node.edges[\"*\"]\n      } else {\n        var insertionNode = new lunr.TokenSet\n        frame.node.edges[\"*\"] = insertionNode\n      }\n\n      if (frame.str.length == 0) {\n        insertionNode.final = true\n      } else {\n        stack.push({\n          node: insertionNode,\n          editsRemaining: frame.editsRemaining - 1,\n          str: frame.str\n        })\n      }\n    }\n\n    // transposition\n    // can only do a transposition if there are edits remaining\n    // and there are enough characters to transpose\n    if (frame.editsRemaining > 0 && frame.str.length > 1) {\n      var charA = frame.str.charAt(0),\n          charB = frame.str.charAt(1),\n          transposeNode\n\n      if (charB in frame.node.edges) {\n        transposeNode = frame.node.edges[charB]\n      } else {\n        transposeNode = new lunr.TokenSet\n        frame.node.edges[charB] = transposeNode\n      }\n\n      if (frame.str.length == 1) {\n        transposeNode.final = true\n      } else {\n        stack.push({\n          node: transposeNode,\n          editsRemaining: frame.editsRemaining - 1,\n          str: charA + frame.str.slice(2)\n        })\n      }\n    }\n  }\n\n  return root\n}\n\n/**\n * Creates a TokenSet from a string.\n *\n * The string may contain one or more wildcard characters (*)\n * that will allow wildcard matching when intersecting with\n * another TokenSet.\n *\n * @param {string} str - The string to create a TokenSet from.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromString = function (str) {\n  var node = new lunr.TokenSet,\n      root = node,\n      wildcardFound = false\n\n  /*\n   * Iterates through all characters within the passed string\n   * appending a node for each character.\n   *\n   * As soon as a wildcard character is found then a self\n   * referencing edge is introduced to continually match\n   * any number of any characters.\n   */\n  for (var i = 0, len = str.length; i < len; i++) {\n    var char = str[i],\n        final = (i == len - 1)\n\n    if (char == \"*\") {\n      wildcardFound = true\n      node.edges[char] = node\n      node.final = final\n\n    } else {\n      var next = new lunr.TokenSet\n      next.final = final\n\n      node.edges[char] = next\n      node = next\n\n      // TODO: is this needed anymore?\n      if (wildcardFound) {\n        node.edges[\"*\"] = root\n      }\n    }\n  }\n\n  return root\n}\n\n/**\n * Converts this TokenSet into an array of strings\n * contained within the TokenSet.\n *\n * @returns {string[]}\n */\nlunr.TokenSet.prototype.toArray = function () {\n  var words = []\n\n  var stack = [{\n    prefix: \"\",\n    node: this\n  }]\n\n  while (stack.length) {\n    var frame = stack.pop(),\n        edges = Object.keys(frame.node.edges),\n        len = edges.length\n\n    if (frame.node.final) {\n      words.push(frame.prefix)\n    }\n\n    for (var i = 0; i < len; i++) {\n      var edge = edges[i]\n\n      stack.push({\n        prefix: frame.prefix.concat(edge),\n        node: frame.node.edges[edge]\n      })\n    }\n  }\n\n  return words\n}\n\n/**\n * Generates a string representation of a TokenSet.\n *\n * This is intended to allow TokenSets to be used as keys\n * in objects, largely to aid the construction and minimisation\n * of a TokenSet. As such it is not designed to be a human\n * friendly representation of the TokenSet.\n *\n * @returns {string}\n */\nlunr.TokenSet.prototype.toString = function () {\n  // NOTE: Using Object.keys here as this.edges is very likely\n  // to enter 'hash-mode' with many keys being added\n  //\n  // avoiding a for-in loop here as it leads to the function\n  // being de-optimised (at least in V8). From some simple\n  // benchmarks the performance is comparable, but allowing\n  // V8 to optimize may mean easy performance wins in the future.\n\n  if (this._str) {\n    return this._str\n  }\n\n  var str = this.final ? '1' : '0',\n      labels = Object.keys(this.edges).sort(),\n      len = labels.length\n\n  for (var i = 0; i < len; i++) {\n    var label = labels[i],\n        node = this.edges[label]\n\n    str = str + label + node.id\n  }\n\n  return str\n}\n\n/**\n * Returns a new TokenSet that is the intersection of\n * this TokenSet and the passed TokenSet.\n *\n * This intersection will take into account any wildcards\n * contained within the TokenSet.\n *\n * @param {lunr.TokenSet} b - An other TokenSet to intersect with.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.prototype.intersect = function (b) {\n  var output = new lunr.TokenSet,\n      frame = undefined\n\n  var stack = [{\n    qNode: b,\n    output: output,\n    node: this\n  }]\n\n  while (stack.length) {\n    frame = stack.pop()\n\n    // NOTE: As with the #toString method, we are using\n    // Object.keys and a for loop instead of a for-in loop\n    // as both of these objects enter 'hash' mode, causing\n    // the function to be de-optimised in V8\n    var qEdges = Object.keys(frame.qNode.edges),\n        qLen = qEdges.length,\n        nEdges = Object.keys(frame.node.edges),\n        nLen = nEdges.length\n\n    for (var q = 0; q < qLen; q++) {\n      var qEdge = qEdges[q]\n\n      for (var n = 0; n < nLen; n++) {\n        var nEdge = nEdges[n]\n\n        if (nEdge == qEdge || qEdge == '*') {\n          var node = frame.node.edges[nEdge],\n              qNode = frame.qNode.edges[qEdge],\n              final = node.final && qNode.final,\n              next = undefined\n\n          if (nEdge in frame.output.edges) {\n            // an edge already exists for this character\n            // no need to create a new node, just set the finality\n            // bit unless this node is already final\n            next = frame.output.edges[nEdge]\n            next.final = next.final || final\n\n          } else {\n            // no edge exists yet, must create one\n            // set the finality bit and insert it\n            // into the output\n            next = new lunr.TokenSet\n            next.final = final\n            frame.output.edges[nEdge] = next\n          }\n\n          stack.push({\n            qNode: qNode,\n            output: next,\n            node: node\n          })\n        }\n      }\n    }\n  }\n\n  return output\n}\nlunr.TokenSet.Builder = function () {\n  this.previousWord = \"\"\n  this.root = new lunr.TokenSet\n  this.uncheckedNodes = []\n  this.minimizedNodes = {}\n}\n\nlunr.TokenSet.Builder.prototype.insert = function (word) {\n  var node,\n      commonPrefix = 0\n\n  if (word < this.previousWord) {\n    throw new Error (\"Out of order word insertion\")\n  }\n\n  for (var i = 0; i < word.length && i < this.previousWord.length; i++) {\n    if (word[i] != this.previousWord[i]) break\n    commonPrefix++\n  }\n\n  this.minimize(commonPrefix)\n\n  if (this.uncheckedNodes.length == 0) {\n    node = this.root\n  } else {\n    node = this.uncheckedNodes[this.uncheckedNodes.length - 1].child\n  }\n\n  for (var i = commonPrefix; i < word.length; i++) {\n    var nextNode = new lunr.TokenSet,\n        char = word[i]\n\n    node.edges[char] = nextNode\n\n    this.uncheckedNodes.push({\n      parent: node,\n      char: char,\n      child: nextNode\n    })\n\n    node = nextNode\n  }\n\n  node.final = true\n  this.previousWord = word\n}\n\nlunr.TokenSet.Builder.prototype.finish = function () {\n  this.minimize(0)\n}\n\nlunr.TokenSet.Builder.prototype.minimize = function (downTo) {\n  for (var i = this.uncheckedNodes.length - 1; i >= downTo; i--) {\n    var node = this.uncheckedNodes[i],\n        childKey = node.child.toString()\n\n    if (childKey in this.minimizedNodes) {\n      node.parent.edges[node.char] = this.minimizedNodes[childKey]\n    } else {\n      // Cache the key for this node since\n      // we know it can't change anymore\n      node.child._str = childKey\n\n      this.minimizedNodes[childKey] = node.child\n    }\n\n    this.uncheckedNodes.pop()\n  }\n}\n/*!\n * lunr.Index\n * Copyright (C) 2017 Oliver Nightingale\n */\n\n/**\n * An index contains the built index of all documents and provides a query interface\n * to the index.\n *\n * Usually instances of lunr.Index will not be created using this constructor, instead\n * lunr.Builder should be used to construct new indexes, or lunr.Index.load should be\n * used to load previously built and serialized indexes.\n *\n * @constructor\n * @param {Object} attrs - The attributes of the built search index.\n * @param {Object} attrs.invertedIndex - An index of term/field to document reference.\n * @param {Object<string, lunr.Vector>} attrs.documentVectors - Document vectors keyed by document reference.\n * @param {lunr.TokenSet} attrs.tokenSet - An set of all corpus tokens.\n * @param {string[]} attrs.fields - The names of indexed document fields.\n * @param {lunr.Pipeline} attrs.pipeline - The pipeline to use for search terms.\n */\nlunr.Index = function (attrs) {\n  this.invertedIndex = attrs.invertedIndex\n  this.fieldVectors = attrs.fieldVectors\n  this.tokenSet = attrs.tokenSet\n  this.fields = attrs.fields\n  this.pipeline = attrs.pipeline\n}\n\n/**\n * A result contains details of a document matching a search query.\n * @typedef {Object} lunr.Index~Result\n * @property {string} ref - The reference of the document this result represents.\n * @property {number} score - A number between 0 and 1 representing how similar this document is to the query.\n * @property {lunr.MatchData} matchData - Contains metadata about this match including which term(s) caused the match.\n */\n\n/**\n * Although lunr provides the ability to create queries using lunr.Query, it also provides a simple\n * query language which itself is parsed into an instance of lunr.Query.\n *\n * For programmatically building queries it is advised to directly use lunr.Query, the query language\n * is best used for human entered text rather than program generated text.\n *\n * At its simplest queries can just be a single term, e.g. `hello`, multiple terms are also supported\n * and will be combined with OR, e.g `hello world` will match documents that contain either 'hello'\n * or 'world', though those that contain both will rank higher in the results.\n *\n * Wildcards can be included in terms to match one or more unspecified characters, these wildcards can\n * be inserted anywhere within the term, and more than one wildcard can exist in a single term. Adding\n * wildcards will increase the number of documents that will be found but can also have a negative\n * impact on query performance, especially with wildcards at the beginning of a term.\n *\n * Terms can be restricted to specific fields, e.g. `title:hello`, only documents with the term\n * hello in the title field will match this query. Using a field not present in the index will lead\n * to an error being thrown.\n *\n * Modifiers can also be added to terms, lunr supports edit distance and boost modifiers on terms. A term\n * boost will make documents matching that term score higher, e.g. `foo^5`. Edit distance is also supported\n * to provide fuzzy matching, e.g. 'hello~2' will match documents with hello with an edit distance of 2.\n * Avoid large values for edit distance to improve query performance.\n *\n * To escape special characters the backslash character '\\' can be used, this allows searches to include\n * characters that would normally be considered modifiers, e.g. `foo\\~2` will search for a term \"foo~2\" instead\n * of attempting to apply a boost of 2 to the search term \"foo\".\n *\n * @typedef {string} lunr.Index~QueryString\n * @example <caption>Simple single term query</caption>\n * hello\n * @example <caption>Multiple term query</caption>\n * hello world\n * @example <caption>term scoped to a field</caption>\n * title:hello\n * @example <caption>term with a boost of 10</caption>\n * hello^10\n * @example <caption>term with an edit distance of 2</caption>\n * hello~2\n */\n\n/**\n * Performs a search against the index using lunr query syntax.\n *\n * Results will be returned sorted by their score, the most relevant results\n * will be returned first.\n *\n * For more programmatic querying use lunr.Index#query.\n *\n * @param {lunr.Index~QueryString} queryString - A string containing a lunr query.\n * @throws {lunr.QueryParseError} If the passed query string cannot be parsed.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.search = function (queryString) {\n  return this.query(function (query) {\n    var parser = new lunr.QueryParser(queryString, query)\n    parser.parse()\n  })\n}\n\n/**\n * A query builder callback provides a query object to be used to express\n * the query to perform on the index.\n *\n * @callback lunr.Index~queryBuilder\n * @param {lunr.Query} query - The query object to build up.\n * @this lunr.Query\n */\n\n/**\n * Performs a query against the index using the yielded lunr.Query object.\n *\n * If performing programmatic queries against the index, this method is preferred\n * over lunr.Index#search so as to avoid the additional query parsing overhead.\n *\n * A query object is yielded to the supplied function which should be used to\n * express the query to be run against the index.\n *\n * Note that although this function takes a callback parameter it is _not_ an\n * asynchronous operation, the callback is just yielded a query object to be\n * customized.\n *\n * @param {lunr.Index~queryBuilder} fn - A function that is used to build the query.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.query = function (fn) {\n  // for each query clause\n  // * process terms\n  // * expand terms from token set\n  // * find matching documents and metadata\n  // * get document vectors\n  // * score documents\n\n  var query = new lunr.Query(this.fields),\n      matchingFields = Object.create(null),\n      queryVectors = Object.create(null)\n\n  fn.call(query, query)\n\n  for (var i = 0; i < query.clauses.length; i++) {\n    /*\n     * Unless the pipeline has been disabled for this term, which is\n     * the case for terms with wildcards, we need to pass the clause\n     * term through the search pipeline. A pipeline returns an array\n     * of processed terms. Pipeline functions may expand the passed\n     * term, which means we may end up performing multiple index lookups\n     * for a single query term.\n     */\n    var clause = query.clauses[i],\n        terms = null\n\n    if (clause.usePipeline) {\n      terms = this.pipeline.runString(clause.term)\n    } else {\n      terms = [clause.term]\n    }\n\n    for (var m = 0; m < terms.length; m++) {\n      var term = terms[m]\n\n      /*\n       * Each term returned from the pipeline needs to use the same query\n       * clause object, e.g. the same boost and or edit distance. The\n       * simplest way to do this is to re-use the clause object but mutate\n       * its term property.\n       */\n      clause.term = term\n\n      /*\n       * From the term in the clause we create a token set which will then\n       * be used to intersect the indexes token set to get a list of terms\n       * to lookup in the inverted index\n       */\n      var termTokenSet = lunr.TokenSet.fromClause(clause),\n          expandedTerms = this.tokenSet.intersect(termTokenSet).toArray()\n\n      for (var j = 0; j < expandedTerms.length; j++) {\n        /*\n         * For each term get the posting and termIndex, this is required for\n         * building the query vector.\n         */\n        var expandedTerm = expandedTerms[j],\n            posting = this.invertedIndex[expandedTerm],\n            termIndex = posting._index\n\n        for (var k = 0; k < clause.fields.length; k++) {\n          /*\n           * For each field that this query term is scoped by (by default\n           * all fields are in scope) we need to get all the document refs\n           * that have this term in that field.\n           *\n           * The posting is the entry in the invertedIndex for the matching\n           * term from above.\n           */\n          var field = clause.fields[k],\n              fieldPosting = posting[field],\n              matchingDocumentRefs = Object.keys(fieldPosting)\n\n          /*\n           * To support field level boosts a query vector is created per\n           * field. This vector is populated using the termIndex found for\n           * the term and a unit value with the appropriate boost applied.\n           *\n           * If the query vector for this field does not exist yet it needs\n           * to be created.\n           */\n          if (!(field in queryVectors)) {\n            queryVectors[field] = new lunr.Vector\n          }\n\n          /*\n           * Using upsert because there could already be an entry in the vector\n           * for the term we are working with. In that case we just add the scores\n           * together.\n           */\n          queryVectors[field].upsert(termIndex, 1 * clause.boost, function (a, b) { return a + b })\n\n          for (var l = 0; l < matchingDocumentRefs.length; l++) {\n            /*\n             * All metadata for this term/field/document triple\n             * are then extracted and collected into an instance\n             * of lunr.MatchData ready to be returned in the query\n             * results\n             */\n            var matchingDocumentRef = matchingDocumentRefs[l],\n                matchingFieldRef = new lunr.FieldRef (matchingDocumentRef, field),\n                documentMetadata, matchData\n\n            documentMetadata = fieldPosting[matchingDocumentRef]\n            matchData = new lunr.MatchData (expandedTerm, field, documentMetadata)\n\n            if (matchingFieldRef in matchingFields) {\n              matchingFields[matchingFieldRef].combine(matchData)\n            } else {\n              matchingFields[matchingFieldRef] = matchData\n            }\n\n          }\n        }\n      }\n    }\n  }\n\n  var matchingFieldRefs = Object.keys(matchingFields),\n      results = {}\n\n  for (var i = 0; i < matchingFieldRefs.length; i++) {\n    /*\n     * Currently we have document fields that match the query, but we\n     * need to return documents. The matchData and scores are combined\n     * from multiple fields belonging to the same document.\n     *\n     * Scores are calculated by field, using the query vectors created\n     * above, and combined into a final document score using addition.\n     */\n    var fieldRef = lunr.FieldRef.fromString(matchingFieldRefs[i]),\n        docRef = fieldRef.docRef,\n        fieldVector = this.fieldVectors[fieldRef],\n        score = queryVectors[fieldRef.fieldName].similarity(fieldVector)\n\n    if (docRef in results) {\n      results[docRef].score += score\n      results[docRef].matchData.combine(matchingFields[fieldRef])\n    } else {\n      results[docRef] = {\n        ref: docRef,\n        score: score,\n        matchData: matchingFields[fieldRef]\n      }\n    }\n  }\n\n  /*\n   * The results object needs to be converted into a list\n   * of results, sorted by score before being returned.\n   */\n  return Object.keys(results)\n    .map(function (key) {\n      return results[key]\n    })\n    .sort(function (a, b) {\n      return b.score - a.score\n    })\n}\n\n/**\n * Prepares the index for JSON serialization.\n *\n * The schema for this JSON blob will be described in a\n * separate JSON schema file.\n *\n * @returns {Object}\n */\nlunr.Index.prototype.toJSON = function () {\n  var invertedIndex = Object.keys(this.invertedIndex)\n    .sort()\n    .map(function (term) {\n      return [term, this.invertedIndex[term]]\n    }, this)\n\n  var fieldVectors = Object.keys(this.fieldVectors)\n    .map(function (ref) {\n      return [ref, this.fieldVectors[ref].toJSON()]\n    }, this)\n\n  return {\n    version: lunr.version,\n    fields: this.fields,\n    fieldVectors: fieldVectors,\n    invertedIndex: invertedIndex,\n    pipeline: this.pipeline.toJSON()\n  }\n}\n\n/**\n * Loads a previously serialized lunr.Index\n *\n * @param {Object} serializedIndex - A previously serialized lunr.Index\n * @returns {lunr.Index}\n */\nlunr.Index.load = function (serializedIndex) {\n  var attrs = {},\n      fieldVectors = {},\n      serializedVectors = serializedIndex.fieldVectors,\n      invertedIndex = {},\n      serializedInvertedIndex = serializedIndex.invertedIndex,\n      tokenSetBuilder = new lunr.TokenSet.Builder,\n      pipeline = lunr.Pipeline.load(serializedIndex.pipeline)\n\n  if (serializedIndex.version != lunr.version) {\n    lunr.utils.warn(\"Version mismatch when loading serialised index. Current version of lunr '\" + lunr.version + \"' does not match serialized index '\" + serializedIndex.version + \"'\")\n  }\n\n  for (var i = 0; i < serializedVectors.length; i++) {\n    var tuple = serializedVectors[i],\n        ref = tuple[0],\n        elements = tuple[1]\n\n    fieldVectors[ref] = new lunr.Vector(elements)\n  }\n\n  for (var i = 0; i < serializedInvertedIndex.length; i++) {\n    var tuple = serializedInvertedIndex[i],\n        term = tuple[0],\n        posting = tuple[1]\n\n    tokenSetBuilder.insert(term)\n    invertedIndex[term] = posting\n  }\n\n  tokenSetBuilder.finish()\n\n  attrs.fields = serializedIndex.fields\n\n  attrs.fieldVectors = fieldVectors\n  attrs.invertedIndex = invertedIndex\n  attrs.tokenSet = tokenSetBuilder.root\n  attrs.pipeline = pipeline\n\n  return new lunr.Index(attrs)\n}\n/*!\n * lunr.Builder\n * Copyright (C) 2017 Oliver Nightingale\n */\n\n/**\n * lunr.Builder performs indexing on a set of documents and\n * returns instances of lunr.Index ready for querying.\n *\n * All configuration of the index is done via the builder, the\n * fields to index, the document reference, the text processing\n * pipeline and document scoring parameters are all set on the\n * builder before indexing.\n *\n * @constructor\n * @property {string} _ref - Internal reference to the document reference field.\n * @property {string[]} _fields - Internal reference to the document fields to index.\n * @property {object} invertedIndex - The inverted index maps terms to document fields.\n * @property {object} documentTermFrequencies - Keeps track of document term frequencies.\n * @property {object} documentLengths - Keeps track of the length of documents added to the index.\n * @property {lunr.tokenizer} tokenizer - Function for splitting strings into tokens for indexing.\n * @property {lunr.Pipeline} pipeline - The pipeline performs text processing on tokens before indexing.\n * @property {lunr.Pipeline} searchPipeline - A pipeline for processing search terms before querying the index.\n * @property {number} documentCount - Keeps track of the total number of documents indexed.\n * @property {number} _b - A parameter to control field length normalization, setting this to 0 disabled normalization, 1 fully normalizes field lengths, the default value is 0.75.\n * @property {number} _k1 - A parameter to control how quickly an increase in term frequency results in term frequency saturation, the default value is 1.2.\n * @property {number} termIndex - A counter incremented for each unique term, used to identify a terms position in the vector space.\n * @property {array} metadataWhitelist - A list of metadata keys that have been whitelisted for entry in the index.\n */\nlunr.Builder = function () {\n  this._ref = \"id\"\n  this._fields = []\n  this.invertedIndex = Object.create(null)\n  this.fieldTermFrequencies = {}\n  this.fieldLengths = {}\n  this.tokenizer = lunr.tokenizer\n  this.pipeline = new lunr.Pipeline\n  this.searchPipeline = new lunr.Pipeline\n  this.documentCount = 0\n  this._b = 0.75\n  this._k1 = 1.2\n  this.termIndex = 0\n  this.metadataWhitelist = []\n}\n\n/**\n * Sets the document field used as the document reference. Every document must have this field.\n * The type of this field in the document should be a string, if it is not a string it will be\n * coerced into a string by calling toString.\n *\n * The default ref is 'id'.\n *\n * The ref should _not_ be changed during indexing, it should be set before any documents are\n * added to the index. Changing it during indexing can lead to inconsistent results.\n *\n * @param {string} ref - The name of the reference field in the document.\n */\nlunr.Builder.prototype.ref = function (ref) {\n  this._ref = ref\n}\n\n/**\n * Adds a field to the list of document fields that will be indexed. Every document being\n * indexed should have this field. Null values for this field in indexed documents will\n * not cause errors but will limit the chance of that document being retrieved by searches.\n *\n * All fields should be added before adding documents to the index. Adding fields after\n * a document has been indexed will have no effect on already indexed documents.\n *\n * @param {string} field - The name of a field to index in all documents.\n */\nlunr.Builder.prototype.field = function (field) {\n  this._fields.push(field)\n}\n\n/**\n * A parameter to tune the amount of field length normalisation that is applied when\n * calculating relevance scores. A value of 0 will completely disable any normalisation\n * and a value of 1 will fully normalise field lengths. The default is 0.75. Values of b\n * will be clamped to the range 0 - 1.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.b = function (number) {\n  if (number < 0) {\n    this._b = 0\n  } else if (number > 1) {\n    this._b = 1\n  } else {\n    this._b = number\n  }\n}\n\n/**\n * A parameter that controls the speed at which a rise in term frequency results in term\n * frequency saturation. The default value is 1.2. Setting this to a higher value will give\n * slower saturation levels, a lower value will result in quicker saturation.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.k1 = function (number) {\n  this._k1 = number\n}\n\n/**\n * Adds a document to the index.\n *\n * Before adding fields to the index the index should have been fully setup, with the document\n * ref and all fields to index already having been specified.\n *\n * The document must have a field name as specified by the ref (by default this is 'id') and\n * it should have all fields defined for indexing, though null or undefined values will not\n * cause errors.\n *\n * @param {object} doc - The document to add to the index.\n */\nlunr.Builder.prototype.add = function (doc) {\n  var docRef = doc[this._ref]\n\n  this.documentCount += 1\n\n  for (var i = 0; i < this._fields.length; i++) {\n    var fieldName = this._fields[i],\n        field = doc[fieldName],\n        tokens = this.tokenizer(field),\n        terms = this.pipeline.run(tokens),\n        fieldRef = new lunr.FieldRef (docRef, fieldName),\n        fieldTerms = Object.create(null)\n\n    this.fieldTermFrequencies[fieldRef] = fieldTerms\n    this.fieldLengths[fieldRef] = 0\n\n    // store the length of this field for this document\n    this.fieldLengths[fieldRef] += terms.length\n\n    // calculate term frequencies for this field\n    for (var j = 0; j < terms.length; j++) {\n      var term = terms[j]\n\n      if (fieldTerms[term] == undefined) {\n        fieldTerms[term] = 0\n      }\n\n      fieldTerms[term] += 1\n\n      // add to inverted index\n      // create an initial posting if one doesn't exist\n      if (this.invertedIndex[term] == undefined) {\n        var posting = Object.create(null)\n        posting[\"_index\"] = this.termIndex\n        this.termIndex += 1\n\n        for (var k = 0; k < this._fields.length; k++) {\n          posting[this._fields[k]] = Object.create(null)\n        }\n\n        this.invertedIndex[term] = posting\n      }\n\n      // add an entry for this term/fieldName/docRef to the invertedIndex\n      if (this.invertedIndex[term][fieldName][docRef] == undefined) {\n        this.invertedIndex[term][fieldName][docRef] = Object.create(null)\n      }\n\n      // store all whitelisted metadata about this token in the\n      // inverted index\n      for (var l = 0; l < this.metadataWhitelist.length; l++) {\n        var metadataKey = this.metadataWhitelist[l],\n            metadata = term.metadata[metadataKey]\n\n        if (this.invertedIndex[term][fieldName][docRef][metadataKey] == undefined) {\n          this.invertedIndex[term][fieldName][docRef][metadataKey] = []\n        }\n\n        this.invertedIndex[term][fieldName][docRef][metadataKey].push(metadata)\n      }\n    }\n\n  }\n}\n\n/**\n * Calculates the average document length for this index\n *\n * @private\n */\nlunr.Builder.prototype.calculateAverageFieldLengths = function () {\n\n  var fieldRefs = Object.keys(this.fieldLengths),\n      numberOfFields = fieldRefs.length,\n      accumulator = {},\n      documentsWithField = {}\n\n  for (var i = 0; i < numberOfFields; i++) {\n    var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n        field = fieldRef.fieldName\n\n    documentsWithField[field] || (documentsWithField[field] = 0)\n    documentsWithField[field] += 1\n\n    accumulator[field] || (accumulator[field] = 0)\n    accumulator[field] += this.fieldLengths[fieldRef]\n  }\n\n  for (var i = 0; i < this._fields.length; i++) {\n    var field = this._fields[i]\n    accumulator[field] = accumulator[field] / documentsWithField[field]\n  }\n\n  this.averageFieldLength = accumulator\n}\n\n/**\n * Builds a vector space model of every document using lunr.Vector\n *\n * @private\n */\nlunr.Builder.prototype.createFieldVectors = function () {\n  var fieldVectors = {},\n      fieldRefs = Object.keys(this.fieldTermFrequencies),\n      fieldRefsLength = fieldRefs.length\n\n  for (var i = 0; i < fieldRefsLength; i++) {\n    var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n        field = fieldRef.fieldName,\n        fieldLength = this.fieldLengths[fieldRef],\n        fieldVector = new lunr.Vector,\n        termFrequencies = this.fieldTermFrequencies[fieldRef],\n        terms = Object.keys(termFrequencies),\n        termsLength = terms.length\n\n    for (var j = 0; j < termsLength; j++) {\n      var term = terms[j],\n          tf = termFrequencies[term],\n          termIndex = this.invertedIndex[term]._index,\n          idf = lunr.idf(this.invertedIndex[term], this.documentCount),\n          score = idf * ((this._k1 + 1) * tf) / (this._k1 * (1 - this._b + this._b * (fieldLength / this.averageFieldLength[field])) + tf),\n          scoreWithPrecision = Math.round(score * 1000) / 1000\n          // Converts 1.23456789 to 1.234.\n          // Reducing the precision so that the vectors take up less\n          // space when serialised. Doing it now so that they behave\n          // the same before and after serialisation. Also, this is\n          // the fastest approach to reducing a number's precision in\n          // JavaScript.\n\n      fieldVector.insert(termIndex, scoreWithPrecision)\n    }\n\n    fieldVectors[fieldRef] = fieldVector\n  }\n\n  this.fieldVectors = fieldVectors\n}\n\n/**\n * Creates a token set of all tokens in the index using lunr.TokenSet\n *\n * @private\n */\nlunr.Builder.prototype.createTokenSet = function () {\n  this.tokenSet = lunr.TokenSet.fromArray(\n    Object.keys(this.invertedIndex).sort()\n  )\n}\n\n/**\n * Builds the index, creating an instance of lunr.Index.\n *\n * This completes the indexing process and should only be called\n * once all documents have been added to the index.\n *\n * @private\n * @returns {lunr.Index}\n */\nlunr.Builder.prototype.build = function () {\n  this.calculateAverageFieldLengths()\n  this.createFieldVectors()\n  this.createTokenSet()\n\n  return new lunr.Index({\n    invertedIndex: this.invertedIndex,\n    fieldVectors: this.fieldVectors,\n    tokenSet: this.tokenSet,\n    fields: this._fields,\n    pipeline: this.searchPipeline\n  })\n}\n\n/**\n * Applies a plugin to the index builder.\n *\n * A plugin is a function that is called with the index builder as its context.\n * Plugins can be used to customise or extend the behaviour of the index\n * in some way. A plugin is just a function, that encapsulated the custom\n * behaviour that should be applied when building the index.\n *\n * The plugin function will be called with the index builder as its argument, additional\n * arguments can also be passed when calling use. The function will be called\n * with the index builder as its context.\n *\n * @param {Function} plugin The plugin to apply.\n */\nlunr.Builder.prototype.use = function (fn) {\n  var args = Array.prototype.slice.call(arguments, 1)\n  args.unshift(this)\n  fn.apply(this, args)\n}\n/**\n * Contains and collects metadata about a matching document.\n * A single instance of lunr.MatchData is returned as part of every\n * lunr.Index~Result.\n *\n * @constructor\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n * @property {object} metadata - A cloned collection of metadata associated with this document.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData = function (term, field, metadata) {\n  var clonedMetadata = Object.create(null),\n      metadataKeys = Object.keys(metadata)\n\n  // Cloning the metadata to prevent the original\n  // being mutated during match data combination.\n  // Metadata is kept in an array within the inverted\n  // index so cloning the data can be done with\n  // Array#slice\n  for (var i = 0; i < metadataKeys.length; i++) {\n    var key = metadataKeys[i]\n    clonedMetadata[key] = metadata[key].slice()\n  }\n\n  this.metadata = Object.create(null)\n  this.metadata[term] = Object.create(null)\n  this.metadata[term][field] = clonedMetadata\n}\n\n/**\n * An instance of lunr.MatchData will be created for every term that matches a\n * document. However only one instance is required in a lunr.Index~Result. This\n * method combines metadata from another instance of lunr.MatchData with this\n * objects metadata.\n *\n * @param {lunr.MatchData} otherMatchData - Another instance of match data to merge with this one.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData.prototype.combine = function (otherMatchData) {\n  var terms = Object.keys(otherMatchData.metadata)\n\n  for (var i = 0; i < terms.length; i++) {\n    var term = terms[i],\n        fields = Object.keys(otherMatchData.metadata[term])\n\n    if (this.metadata[term] == undefined) {\n      this.metadata[term] = Object.create(null)\n    }\n\n    for (var j = 0; j < fields.length; j++) {\n      var field = fields[j],\n          keys = Object.keys(otherMatchData.metadata[term][field])\n\n      if (this.metadata[term][field] == undefined) {\n        this.metadata[term][field] = Object.create(null)\n      }\n\n      for (var k = 0; k < keys.length; k++) {\n        var key = keys[k]\n\n        if (this.metadata[term][field][key] == undefined) {\n          this.metadata[term][field][key] = otherMatchData.metadata[term][field][key]\n        } else {\n          this.metadata[term][field][key] = this.metadata[term][field][key].concat(otherMatchData.metadata[term][field][key])\n        }\n\n      }\n    }\n  }\n}\n/**\n * A lunr.Query provides a programmatic way of defining queries to be performed\n * against a {@link lunr.Index}.\n *\n * Prefer constructing a lunr.Query using the {@link lunr.Index#query} method\n * so the query object is pre-initialized with the right index fields.\n *\n * @constructor\n * @property {lunr.Query~Clause[]} clauses - An array of query clauses.\n * @property {string[]} allFields - An array of all available fields in a lunr.Index.\n */\nlunr.Query = function (allFields) {\n  this.clauses = []\n  this.allFields = allFields\n}\n\n/**\n * Constants for indicating what kind of automatic wildcard insertion will be used when constructing a query clause.\n *\n * This allows wildcards to be added to the beginning and end of a term without having to manually do any string\n * concatenation.\n *\n * The wildcard constants can be bitwise combined to select both leading and trailing wildcards.\n *\n * @constant\n * @default\n * @property {number} wildcard.NONE - The term will have no wildcards inserted, this is the default behaviour\n * @property {number} wildcard.LEADING - Prepend the term with a wildcard, unless a leading wildcard already exists\n * @property {number} wildcard.TRAILING - Append a wildcard to the term, unless a trailing wildcard already exists\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example <caption>query term with trailing wildcard</caption>\n * query.term('foo', { wildcard: lunr.Query.wildcard.TRAILING })\n * @example <caption>query term with leading and trailing wildcard</caption>\n * query.term('foo', {\n *   wildcard: lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING\n * })\n */\nlunr.Query.wildcard = new String (\"*\")\nlunr.Query.wildcard.NONE = 0\nlunr.Query.wildcard.LEADING = 1\nlunr.Query.wildcard.TRAILING = 2\n\n/**\n * A single clause in a {@link lunr.Query} contains a term and details on how to\n * match that term against a {@link lunr.Index}.\n *\n * @typedef {Object} lunr.Query~Clause\n * @property {string[]} fields - The fields in an index this clause should be matched against.\n * @property {number} [boost=1] - Any boost that should be applied when matching this clause.\n * @property {number} [editDistance] - Whether the term should have fuzzy matching applied, and how fuzzy the match should be.\n * @property {boolean} [usePipeline] - Whether the term should be passed through the search pipeline.\n * @property {number} [wildcard=0] - Whether the term should have wildcards appended or prepended.\n */\n\n/**\n * Adds a {@link lunr.Query~Clause} to this query.\n *\n * Unless the clause contains the fields to be matched all fields will be matched. In addition\n * a default boost of 1 is applied to the clause.\n *\n * @param {lunr.Query~Clause} clause - The clause to add to this query.\n * @see lunr.Query~Clause\n * @returns {lunr.Query}\n */\nlunr.Query.prototype.clause = function (clause) {\n  if (!('fields' in clause)) {\n    clause.fields = this.allFields\n  }\n\n  if (!('boost' in clause)) {\n    clause.boost = 1\n  }\n\n  if (!('usePipeline' in clause)) {\n    clause.usePipeline = true\n  }\n\n  if (!('wildcard' in clause)) {\n    clause.wildcard = lunr.Query.wildcard.NONE\n  }\n\n  if ((clause.wildcard & lunr.Query.wildcard.LEADING) && (clause.term.charAt(0) != lunr.Query.wildcard)) {\n    clause.term = \"*\" + clause.term\n  }\n\n  if ((clause.wildcard & lunr.Query.wildcard.TRAILING) && (clause.term.slice(-1) != lunr.Query.wildcard)) {\n    clause.term = \"\" + clause.term + \"*\"\n  }\n\n  this.clauses.push(clause)\n\n  return this\n}\n\n/**\n * Adds a term to the current query, under the covers this will create a {@link lunr.Query~Clause}\n * to the list of clauses that make up this query.\n *\n * @param {string} term - The term to add to the query.\n * @param {Object} [options] - Any additional properties to add to the query clause.\n * @returns {lunr.Query}\n * @see lunr.Query#clause\n * @see lunr.Query~Clause\n * @example <caption>adding a single term to a query</caption>\n * query.term(\"foo\")\n * @example <caption>adding a single term to a query and specifying search fields, term boost and automatic trailing wildcard</caption>\n * query.term(\"foo\", {\n *   fields: [\"title\"],\n *   boost: 10,\n *   wildcard: lunr.Query.wildcard.TRAILING\n * })\n */\nlunr.Query.prototype.term = function (term, options) {\n  var clause = options || {}\n  clause.term = term\n\n  this.clause(clause)\n\n  return this\n}\nlunr.QueryParseError = function (message, start, end) {\n  this.name = \"QueryParseError\"\n  this.message = message\n  this.start = start\n  this.end = end\n}\n\nlunr.QueryParseError.prototype = new Error\nlunr.QueryLexer = function (str) {\n  this.lexemes = []\n  this.str = str\n  this.length = str.length\n  this.pos = 0\n  this.start = 0\n  this.escapeCharPositions = []\n}\n\nlunr.QueryLexer.prototype.run = function () {\n  var state = lunr.QueryLexer.lexText\n\n  while (state) {\n    state = state(this)\n  }\n}\n\nlunr.QueryLexer.prototype.sliceString = function () {\n  var subSlices = [],\n      sliceStart = this.start,\n      sliceEnd = this.pos\n\n  for (var i = 0; i < this.escapeCharPositions.length; i++) {\n    sliceEnd = this.escapeCharPositions[i]\n    subSlices.push(this.str.slice(sliceStart, sliceEnd))\n    sliceStart = sliceEnd + 1\n  }\n\n  subSlices.push(this.str.slice(sliceStart, this.pos))\n  this.escapeCharPositions.length = 0\n\n  return subSlices.join('')\n}\n\nlunr.QueryLexer.prototype.emit = function (type) {\n  this.lexemes.push({\n    type: type,\n    str: this.sliceString(),\n    start: this.start,\n    end: this.pos\n  })\n\n  this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.escapeCharacter = function () {\n  this.escapeCharPositions.push(this.pos - 1)\n  this.pos += 1\n}\n\nlunr.QueryLexer.prototype.next = function () {\n  if (this.pos >= this.length) {\n    return lunr.QueryLexer.EOS\n  }\n\n  var char = this.str.charAt(this.pos)\n  this.pos += 1\n  return char\n}\n\nlunr.QueryLexer.prototype.width = function () {\n  return this.pos - this.start\n}\n\nlunr.QueryLexer.prototype.ignore = function () {\n  if (this.start == this.pos) {\n    this.pos += 1\n  }\n\n  this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.backup = function () {\n  this.pos -= 1\n}\n\nlunr.QueryLexer.prototype.acceptDigitRun = function () {\n  var char, charCode\n\n  do {\n    char = this.next()\n    charCode = char.charCodeAt(0)\n  } while (charCode > 47 && charCode < 58)\n\n  if (char != lunr.QueryLexer.EOS) {\n    this.backup()\n  }\n}\n\nlunr.QueryLexer.prototype.more = function () {\n  return this.pos < this.length\n}\n\nlunr.QueryLexer.EOS = 'EOS'\nlunr.QueryLexer.FIELD = 'FIELD'\nlunr.QueryLexer.TERM = 'TERM'\nlunr.QueryLexer.EDIT_DISTANCE = 'EDIT_DISTANCE'\nlunr.QueryLexer.BOOST = 'BOOST'\n\nlunr.QueryLexer.lexField = function (lexer) {\n  lexer.backup()\n  lexer.emit(lunr.QueryLexer.FIELD)\n  lexer.ignore()\n  return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexTerm = function (lexer) {\n  if (lexer.width() > 1) {\n    lexer.backup()\n    lexer.emit(lunr.QueryLexer.TERM)\n  }\n\n  lexer.ignore()\n\n  if (lexer.more()) {\n    return lunr.QueryLexer.lexText\n  }\n}\n\nlunr.QueryLexer.lexEditDistance = function (lexer) {\n  lexer.ignore()\n  lexer.acceptDigitRun()\n  lexer.emit(lunr.QueryLexer.EDIT_DISTANCE)\n  return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexBoost = function (lexer) {\n  lexer.ignore()\n  lexer.acceptDigitRun()\n  lexer.emit(lunr.QueryLexer.BOOST)\n  return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexEOS = function (lexer) {\n  if (lexer.width() > 0) {\n    lexer.emit(lunr.QueryLexer.TERM)\n  }\n}\n\n// This matches the separator used when tokenising fields\n// within a document. These should match otherwise it is\n// not possible to search for some tokens within a document.\n//\n// It is possible for the user to change the separator on the\n// tokenizer so it _might_ clash with any other of the special\n// characters already used within the search string, e.g. :.\n//\n// This means that it is possible to change the separator in\n// such a way that makes some words unsearchable using a search\n// string.\nlunr.QueryLexer.termSeparator = lunr.tokenizer.separator\n\nlunr.QueryLexer.lexText = function (lexer) {\n  while (true) {\n    var char = lexer.next()\n\n    if (char == lunr.QueryLexer.EOS) {\n      return lunr.QueryLexer.lexEOS\n    }\n\n    // Escape character is '\\'\n    if (char.charCodeAt(0) == 92) {\n      lexer.escapeCharacter()\n      continue\n    }\n\n    if (char == \":\") {\n      return lunr.QueryLexer.lexField\n    }\n\n    if (char == \"~\") {\n      lexer.backup()\n      if (lexer.width() > 0) {\n        lexer.emit(lunr.QueryLexer.TERM)\n      }\n      return lunr.QueryLexer.lexEditDistance\n    }\n\n    if (char == \"^\") {\n      lexer.backup()\n      if (lexer.width() > 0) {\n        lexer.emit(lunr.QueryLexer.TERM)\n      }\n      return lunr.QueryLexer.lexBoost\n    }\n\n    if (char.match(lunr.QueryLexer.termSeparator)) {\n      return lunr.QueryLexer.lexTerm\n    }\n  }\n}\n\nlunr.QueryParser = function (str, query) {\n  this.lexer = new lunr.QueryLexer (str)\n  this.query = query\n  this.currentClause = {}\n  this.lexemeIdx = 0\n}\n\nlunr.QueryParser.prototype.parse = function () {\n  this.lexer.run()\n  this.lexemes = this.lexer.lexemes\n\n  var state = lunr.QueryParser.parseFieldOrTerm\n\n  while (state) {\n    state = state(this)\n  }\n\n  return this.query\n}\n\nlunr.QueryParser.prototype.peekLexeme = function () {\n  return this.lexemes[this.lexemeIdx]\n}\n\nlunr.QueryParser.prototype.consumeLexeme = function () {\n  var lexeme = this.peekLexeme()\n  this.lexemeIdx += 1\n  return lexeme\n}\n\nlunr.QueryParser.prototype.nextClause = function () {\n  var completedClause = this.currentClause\n  this.query.clause(completedClause)\n  this.currentClause = {}\n}\n\nlunr.QueryParser.parseFieldOrTerm = function (parser) {\n  var lexeme = parser.peekLexeme()\n\n  if (lexeme == undefined) {\n    return\n  }\n\n  switch (lexeme.type) {\n    case lunr.QueryLexer.FIELD:\n      return lunr.QueryParser.parseField\n    case lunr.QueryLexer.TERM:\n      return lunr.QueryParser.parseTerm\n    default:\n      var errorMessage = \"expected either a field or a term, found \" + lexeme.type\n\n      if (lexeme.str.length >= 1) {\n        errorMessage += \" with value '\" + lexeme.str + \"'\"\n      }\n\n      throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n  }\n}\n\nlunr.QueryParser.parseField = function (parser) {\n  var lexeme = parser.consumeLexeme()\n\n  if (lexeme == undefined) {\n    return\n  }\n\n  if (parser.query.allFields.indexOf(lexeme.str) == -1) {\n    var possibleFields = parser.query.allFields.map(function (f) { return \"'\" + f + \"'\" }).join(', '),\n        errorMessage = \"unrecognised field '\" + lexeme.str + \"', possible fields: \" + possibleFields\n\n    throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n  }\n\n  parser.currentClause.fields = [lexeme.str]\n\n  var nextLexeme = parser.peekLexeme()\n\n  if (nextLexeme == undefined) {\n    var errorMessage = \"expecting term, found nothing\"\n    throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n  }\n\n  switch (nextLexeme.type) {\n    case lunr.QueryLexer.TERM:\n      return lunr.QueryParser.parseTerm\n    default:\n      var errorMessage = \"expecting term, found '\" + nextLexeme.type + \"'\"\n      throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n  }\n}\n\nlunr.QueryParser.parseTerm = function (parser) {\n  var lexeme = parser.consumeLexeme()\n\n  if (lexeme == undefined) {\n    return\n  }\n\n  parser.currentClause.term = lexeme.str.toLowerCase()\n\n  if (lexeme.str.indexOf(\"*\") != -1) {\n    parser.currentClause.usePipeline = false\n  }\n\n  var nextLexeme = parser.peekLexeme()\n\n  if (nextLexeme == undefined) {\n    parser.nextClause()\n    return\n  }\n\n  switch (nextLexeme.type) {\n    case lunr.QueryLexer.TERM:\n      parser.nextClause()\n      return lunr.QueryParser.parseTerm\n    case lunr.QueryLexer.FIELD:\n      parser.nextClause()\n      return lunr.QueryParser.parseField\n    case lunr.QueryLexer.EDIT_DISTANCE:\n      return lunr.QueryParser.parseEditDistance\n    case lunr.QueryLexer.BOOST:\n      return lunr.QueryParser.parseBoost\n    default:\n      var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n      throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n  }\n}\n\nlunr.QueryParser.parseEditDistance = function (parser) {\n  var lexeme = parser.consumeLexeme()\n\n  if (lexeme == undefined) {\n    return\n  }\n\n  var editDistance = parseInt(lexeme.str, 10)\n\n  if (isNaN(editDistance)) {\n    var errorMessage = \"edit distance must be numeric\"\n    throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n  }\n\n  parser.currentClause.editDistance = editDistance\n\n  var nextLexeme = parser.peekLexeme()\n\n  if (nextLexeme == undefined) {\n    parser.nextClause()\n    return\n  }\n\n  switch (nextLexeme.type) {\n    case lunr.QueryLexer.TERM:\n      parser.nextClause()\n      return lunr.QueryParser.parseTerm\n    case lunr.QueryLexer.FIELD:\n      parser.nextClause()\n      return lunr.QueryParser.parseField\n    case lunr.QueryLexer.EDIT_DISTANCE:\n      return lunr.QueryParser.parseEditDistance\n    case lunr.QueryLexer.BOOST:\n      return lunr.QueryParser.parseBoost\n    default:\n      var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n      throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n  }\n}\n\nlunr.QueryParser.parseBoost = function (parser) {\n  var lexeme = parser.consumeLexeme()\n\n  if (lexeme == undefined) {\n    return\n  }\n\n  var boost = parseInt(lexeme.str, 10)\n\n  if (isNaN(boost)) {\n    var errorMessage = \"boost must be numeric\"\n    throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n  }\n\n  parser.currentClause.boost = boost\n\n  var nextLexeme = parser.peekLexeme()\n\n  if (nextLexeme == undefined) {\n    parser.nextClause()\n    return\n  }\n\n  switch (nextLexeme.type) {\n    case lunr.QueryLexer.TERM:\n      parser.nextClause()\n      return lunr.QueryParser.parseTerm\n    case lunr.QueryLexer.FIELD:\n      parser.nextClause()\n      return lunr.QueryParser.parseField\n    case lunr.QueryLexer.EDIT_DISTANCE:\n      return lunr.QueryParser.parseEditDistance\n    case lunr.QueryLexer.BOOST:\n      return lunr.QueryParser.parseBoost\n    default:\n      var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n      throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n  }\n}\n\n  /**\n   * export the module via AMD, CommonJS or as a browser global\n   * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n   */\n  ;(function (root, factory) {\n    if (typeof define === 'function' && define.amd) {\n      // AMD. Register as an anonymous module.\n      define(factory)\n    } else if (typeof exports === 'object') {\n      /**\n       * Node. Does not work with strict CommonJS, but\n       * only CommonJS-like enviroments that support module.exports,\n       * like Node.\n       */\n      module.exports = factory()\n    } else {\n      // Browser globals (root is window)\n      root.lunr = factory()\n    }\n  }(this, function () {\n    /**\n     * Just return a value to define the module export.\n     * This example returns an object, but the module\n     * can return a function as the exported value.\n     */\n    return lunr\n  }))\n})();\n"
  },
  {
    "path": "docs/styles/main.css",
    "content": ""
  },
  {
    "path": "docs/styles/main.js",
    "content": "// Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.\n"
  },
  {
    "path": "docs/styles/master.css",
    "content": "@import url('https://fonts.googleapis.com/css?family=Roboto|Muli|Fira+Mono');\n\nhtml,\nbody {\n    font-family: 'Roboto', 'Segoe UI', Tahoma, Helvetica, sans-serif;\n    font-display: optional;\n    height: 100%;\n    font-size: 15px;\n}\n\ncode{\n    font-family: 'Fira Mono', 'Courier New', Courier, monospace\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n    font-family: 'Muli', Verdana, Geneva, Tahoma, sans-serif;\n    line-height: 130%;\n}\n\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n  font-weight: 600;\n}\n\n#logo\n{\n    max-width: 100px;\n    max-height: 100px;\n    width: 38pt;\n    height: 38pt;\n    padding: 8pt;\n}\n\np,\nli,\n.toc {\n    text-rendering: optimizeLegibility;\n    line-height: 160%;\n}\n\n.toc-filter{\n    background: inherit !important;\n}\n\n.affix ul>li.active>ul, .affix ul>li.active>a:before, .affix ul>li>a:hover:before{\n    white-space: normal;\n}\n\nimg {\n    box-shadow: 0px 0px 3px 0px rgb(66, 66, 66);\n    max-width: 95% !important;\n    margin-top: 15px;\n    margin-bottom: 15px;\n}\n\n.big-logo {\n    display: block;\n    box-shadow: none !important;\n    /* Width value was taken from the original size of the combomark svg */\n    width: 951pt;\n    /* Height was arbitrarily determined */\n    min-height: 100pt;\n    max-width: 90%;\n}\n\narticle.content p{\n    -webkit-transition: all .75s ease-in-out;\n    transition: all .75s ease-in-out;\n}\n\narticle.content h1,\narticle.content h2,\narticle.content h3,\narticle.content h4,\narticle.content h5,\narticle.content h6{\n    -webkit-transition: all .25s ease-in-out;\n    transition: all .25s ease-in-out;\n}\n\n.sideaffix {\n    line-height: 140%;\n}\n\n.sideaffix > div.contribution {\n    margin-bottom: 0;\n}\n\nheader .navbar {\n    border-width: 0 0 0px;\n    border-radius: 0;\n}\n\nbody .toc {\n    background-color: inherit;\n    overflow: visible;\n}\n\nselect {\n    display: inline-block;\n    overflow: auto;\n    -webkit-box-sizing: border-box;\n    box-sizing: border-box;\n    margin: 0;\n    padding: 0 30px 0 6px;\n    vertical-align: middle;\n    height: 28px;\n    border: 1px solid #e3e3e3;\n    line-height: 16px;\n    outline: 0;\n    text-overflow: ellipsis;\n    -webkit-appearance: none;\n    -moz-appearance: none;\n    cursor: pointer;\n    background-image: linear-gradient(45deg, transparent 50%, #707070 0), linear-gradient(135deg, #707070 50%, transparent 0);\n    background-position: calc(100% - 13px) 11px, calc(100% - 8px) 11px;\n    background-size: 5px 5px, 5px 6px;\n    background-repeat: no-repeat;\n}\n\n/* \n    Following code are fetched or modified from \n    the Materialize project.\n\n    The MIT License (MIT)\n    Copyright (c) 2014-2018 Materialize\n    https://github.com/Dogfalo/materialize\n*/\n\n/* all collapse container */\n\n.collapse-container.last-modified {\n    margin: 0.5rem 0 1rem 0;\n}\n\n/* header */\n\n.collapse-container.last-modified>:nth-child(odd):focus {\n    outline: 0;\n}\n\n.collapse-container.last-modified>:nth-child(odd) {\n    display: -webkit-box;\n    display: -webkit-flex;\n    display: -ms-flexbox;\n    display: flex;\n    cursor: pointer;\n    -webkit-tap-highlight-color: transparent;\n    line-height: 1.5;\n    padding: 0.75rem;\n    background-image: none;\n    border: 0px;\n}\n\n/* body */\n\n.collapse-container.last-modified>:nth-child(even) {\n    display: none;\n    -webkit-box-sizing: border-box;\n    box-sizing: border-box;\n    padding: 1rem;\n    border: 0px;\n}\n\n/* nav bar */\n\n.nav {\n    margin: 0;\n}\n\n.nav li {\n    -webkit-transition: background-color .3s, color .3s;\n    transition: background-color .3s, color .3s;\n}\n\n.nav a {\n    -webkit-transition: background-color .3s, color .3s;\n    transition: background-color .3s, color .3s;\n    cursor: pointer;\n}\n\n/* arrow */\n\nspan.arrow-d{\n    top: 6px; position: relative;\n}\n\nspan.arrow-r{\n    top: 6px; position: relative;\n}\n\n/* widen viewport */\n\n@media (min-width: 1085px) {\n    .container {\n        width: calc(100% - 15vw);\n        max-width: calc(100% - 15vw);\n    }\n}\n\n/* fix level indentation */\n\n.level2 {\n    padding: 0 5px;\n}\n\n.level3 {\n    padding: 0 5px;\n    font-size: 90%;\n}\n\n.level4 {\n    padding: 0 5px;\n    font-size: 85%;\n}\n\n.level5 {\n    padding: 0 5px;\n    font-size: 80%;\n}\n\n.level6 {\n    padding: 0 5px;\n    font-size: 75%;\n}"
  },
  {
    "path": "docs/styles/material.css",
    "content": "body {\n    color: #34393e;\n    line-height: 1.5;\n    /*font-size: 16px;*/\n    -ms-text-size-adjust: 100%;\n    -webkit-text-size-adjust: 100%;\n    word-wrap: break-word\n}\n\n/* HEADINGS */\n\nh1 {\n    font-weight: 600;\n    font-size: 32px;\n}\n\nh2 {\n    font-weight: 600;\n    font-size: 24px;\n    line-height: 1.8;\n}\n\nh3 {\n    font-weight: 600;\n    font-size: 20px;\n    line-height: 1.8;\n}\n\nh5 {\n    font-size: 14px;\n    padding: 10px 0px;\n}\n\narticle h1,\narticle h2,\narticle h3,\narticle h4 {\n    margin-top: 35px;\n    margin-bottom: 15px;\n}\n\narticle h4 {\n    padding-bottom: 8px;\n    border-bottom: 2px solid #ddd;\n}\n\n/* NAVBAR */\n\n.navbar-brand>img {\n    color: #fff;\n}\n\n.navbar {\n    border: none;\n    /* Both navbars use box-shadow */\n    -webkit-box-shadow: 0px 1px 3px 0px rgba(100, 100, 100, 0.5);\n    -moz-box-shadow: 0px 1px 3px 0px rgba(100, 100, 100, 0.5);\n    box-shadow: 0px 1px 3px 0px rgba(100, 100, 100, 0.5);\n}\n\n.subnav {\n    border-top: 1px solid #ddd;\n    background-color: #fff;\n}\n\n.navbar-inverse {\n    background-color: #0d47a1;\n    z-index: 100;\n}\n\n.navbar-inverse .navbar-nav>li>a,\n.navbar-inverse .navbar-text {\n    color: #fff;\n    /*background-color: #0d47a1;*/\n    border-bottom: 3px solid transparent;\n    padding-bottom: 12px;\n}\n\n.navbar-inverse .navbar-nav>li>a:focus,\n.navbar-inverse .navbar-nav>li>a:hover {\n    color: #fff;\n    background-color: #1157c0;\n    border-bottom: 3px solid white;\n}\n\n.navbar-inverse .navbar-nav>.active>a,\n.navbar-inverse .navbar-nav>.active>a:focus,\n.navbar-inverse .navbar-nav>.active>a:hover {\n    color: #fff;\n    background-color: #1157c0;\n    border-bottom: 3px solid white;\n}\n\n.navbar-form .form-control {\n    border: none;\n    border-radius: 20px;\n}\n\n/* SIDEBAR */\n\n/*.toc .level1>li {\n    font-weight: 400;\n}*/\n\n.toc .nav>li>a {\n    color: #34393e;\n}\n\n.sidefilter {\n    background-color: #fff;\n    border-left: none;\n    border-right: none;\n}\n\n.sidefilter {\n    background-color: #fff;\n    border-left: none;\n    border-right: none;\n}\n\n.toc-filter {\n    padding: 10px;\n    margin: 0;\n}\n\n.toc-filter>input {\n    border: 2px solid #ddd;\n    border-radius: 20px;\n}\n\n.toc-filter>.filter-icon {\n    display: none;\n}\n\n.sidetoc>.toc {\n    overflow-x: hidden;\n}\n\n.sidetoc {\n    border: none;\n}\n\n/* ALERTS */\n\n.alert {\n    padding: 0px 0px 5px 0px;\n    color: inherit;\n    background-color: inherit;\n    border: none;\n    box-shadow: 0px 2px 2px 0px rgba(100, 100, 100, 0.4);\n}\n\n.alert>p {\n    margin-bottom: 0;\n    padding: 5px 10px;\n}\n\n.alert>ul {\n    margin-bottom: 0;\n    padding: 5px 40px;\n}\n\n.alert>h5 {\n    padding: 10px 15px;\n    margin-top: 0;\n    text-transform: uppercase;\n    font-weight: bold;\n    border-radius: 4px 4px 0 0;\n}\n\n.alert-info>h5 {\n    color: #1976d2;\n    border-bottom: 4px solid #1976d2;\n    background-color: #e3f2fd;\n}\n\n.alert-warning>h5 {\n    color: #f57f17;\n    border-bottom: 4px solid #f57f17;\n    background-color: #fff3e0;\n}\n\n.alert-danger>h5 {\n    color: #d32f2f;\n    border-bottom: 4px solid #d32f2f;\n    background-color: #ffebee;\n}\n\n/* CODE HIGHLIGHT */\npre {\n\tpadding: 9.5px;\n\tmargin: 10px 10px 10px;\n\tfont-size: 13px;\n\tword-break: break-all;\n\tword-wrap: break-word;\n\t/*background-color: #fffaef;*/\n\tborder-radius: 4px;\n\tbox-shadow: 0px 1px 4px 1px rgba(100, 100, 100, 0.4);\n}\n"
  },
  {
    "path": "docs/styles/search-worker.js",
    "content": "(function () {\n  importScripts('lunr.min.js');\n\n  var lunrIndex;\n\n  var stopWords = null;\n  var searchData = {};\n\n  lunr.tokenizer.separator = /[\\s\\-\\.\\(\\)]+/;\n\n  var stopWordsRequest = new XMLHttpRequest();\n  stopWordsRequest.open('GET', '../search-stopwords.json');\n  stopWordsRequest.onload = function () {\n    if (this.status != 200) {\n      return;\n    }\n    stopWords = JSON.parse(this.responseText);\n    buildIndex();\n  }\n  stopWordsRequest.send();\n\n  var searchDataRequest = new XMLHttpRequest();\n\n  searchDataRequest.open('GET', '../index.json');\n  searchDataRequest.onload = function () {\n    if (this.status != 200) {\n      return;\n    }\n    searchData = JSON.parse(this.responseText);\n\n    buildIndex();\n\n    postMessage({ e: 'index-ready' });\n  }\n  searchDataRequest.send();\n\n  onmessage = function (oEvent) {\n    var q = oEvent.data.q;\n    var hits = lunrIndex.search(q);\n    var results = [];\n    hits.forEach(function (hit) {\n      var item = searchData[hit.ref];\n      results.push({ 'href': item.href, 'title': item.title, 'keywords': item.keywords });\n    });\n    postMessage({ e: 'query-ready', q: q, d: results });\n  }\n\n  function buildIndex() {\n    if (stopWords !== null && !isEmpty(searchData)) {\n      lunrIndex = lunr(function () {\n        this.pipeline.remove(lunr.stopWordFilter);\n        this.ref('href');\n        this.field('title', { boost: 50 });\n        this.field('keywords', { boost: 20 });\n\n        for (var prop in searchData) {\n          if (searchData.hasOwnProperty(prop)) {\n            this.add(searchData[prop]);\n          }\n        }\n\n        var docfxStopWordFilter = lunr.generateStopWordFilter(stopWords);\n        lunr.Pipeline.registerFunction(docfxStopWordFilter, 'docfxStopWordFilter');\n        this.pipeline.add(docfxStopWordFilter);\n        this.searchPipeline.add(docfxStopWordFilter);\n      });\n    }\n  }\n\n  function isEmpty(obj) {\n    if(!obj) return true;\n\n    for (var prop in obj) {\n      if (obj.hasOwnProperty(prop))\n        return false;\n    }\n\n    return true;\n  }\n})();\n"
  },
  {
    "path": "docs/styles/styleswitcher.js",
    "content": "const baseUrl = document.getElementById(\"docfx-style:rel\").content;\n\nfunction onThemeSelect(event) {\n    const theme = event.target.value;\n    window.localStorage.setItem(\"theme\", theme);\n    window.themeElement.href = getUrl(theme);\n}\n\nfunction getUrl(slug) {\n    return baseUrl + \"styles/\" + slug + \".css\";\n}\n\nconst themeElement = document.createElement(\"link\");\nthemeElement.rel = \"stylesheet\";\n\nconst theme = window.localStorage.getItem(\"theme\") || \"light\";\nthemeElement.href = getUrl(theme);\n\ndocument.head.appendChild(themeElement);\nwindow.themeElement = themeElement;\n\ndocument.addEventListener(\"DOMContentLoaded\", function() {\n    const themeSwitcher = document.getElementById(\"theme-switcher\");\n    themeSwitcher.onchange = onThemeSelect;\n    themeSwitcher.value = theme;\n}, false);\n"
  },
  {
    "path": "docs/styles/theme-switcher.css",
    "content": "div.theme-switch-field {\n    padding-left: 10px;\n    padding-bottom: 15px\n}\n\ndiv.theme-switch-field > p{\n    font-weight: bold;\n    font-size: 1.2em;\n}"
  },
  {
    "path": "docs/styles/tomorrow.css",
    "content": "/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */\n\n/* Tomorrow Comment */\n.hljs-comment,\n.hljs-quote {\n  color: #8e908c;\n}\n\n/* Tomorrow Red */\n.hljs-variable,\n.hljs-template-variable,\n.hljs-tag,\n.hljs-name,\n.hljs-selector-id,\n.hljs-selector-class,\n.hljs-regexp,\n.hljs-deletion {\n  color: #c82829;\n}\n\n/* Tomorrow Orange */\n.hljs-number,\n.hljs-built_in,\n.hljs-builtin-name,\n.hljs-literal,\n.hljs-type,\n.hljs-params,\n.hljs-meta,\n.hljs-link {\n  color: #f5871f;\n}\n\n/* Tomorrow Yellow */\n.hljs-attribute {\n  color: #eab700;\n}\n\n/* Tomorrow Green */\n.hljs-string,\n.hljs-symbol,\n.hljs-bullet,\n.hljs-addition {\n  color: #718c00;\n}\n\n/* Tomorrow Blue */\n.hljs-title,\n.hljs-section {\n  color: #4271ae;\n}\n\n/* Tomorrow Purple */\n.hljs-keyword,\n.hljs-selector-tag {\n  color: #8959a8;\n}\n\n.hljs {\n  display: block;\n  overflow-x: auto;\n  background: white;\n  color: #4d4d4c;\n  padding: 0.5em;\n}\n\n.hljs-emphasis {\n  font-style: italic;\n}\n\n.hljs-strong {\n  font-weight: bold;\n}\n"
  },
  {
    "path": "docs/styles/vs2015.css",
    "content": "/*\n * Visual Studio 2015 dark style\n * Author: Nicolas LLOBERA <nllobera@gmail.com>\n */\n\n.hljs {\n  display: block;\n  overflow-x: auto;\n  padding: 0.5em;\n  background: #282a36;\n  color: #DCDCDC;\n}\n\n.hljs-keyword,\n.hljs-literal,\n.hljs-symbol,\n.hljs-name {\n  color: #569CD6;\n}\n.hljs-link {\n  color: #569CD6;\n  text-decoration: underline;\n}\n\n.hljs-built_in,\n.hljs-type {\n  color: #4EC9B0;\n}\n\n.hljs-number,\n.hljs-class {\n  color: #B8D7A3;\n}\n\n.hljs-string,\n.hljs-meta-string {\n  color: #D69D85;\n}\n\n.hljs-regexp,\n.hljs-template-tag {\n  color: #9A5334;\n}\n\n.hljs-subst,\n.hljs-function,\n.hljs-title,\n.hljs-params,\n.hljs-formula {\n  color: #DCDCDC;\n}\n\n.hljs-comment,\n.hljs-quote {\n  color: #57A64A;\n  font-style: italic;\n}\n\n.hljs-doctag {\n  color: #608B4E;\n}\n\n.hljs-meta,\n.hljs-meta-keyword,\n.hljs-tag {\n  color: #9B9B9B;\n}\n\n.hljs-variable,\n.hljs-template-variable {\n  color: #BD63C5;\n}\n\n.hljs-attr,\n.hljs-attribute,\n.hljs-builtin-name {\n  color: #9CDCFE;\n}\n\n.hljs-section {\n  color: gold;\n}\n\n.hljs-emphasis {\n  font-style: italic;\n}\n\n.hljs-strong {\n  font-weight: bold;\n}\n\n/*.hljs-code {\n  font-family:'Monospace';\n}*/\n\n.hljs-bullet,\n.hljs-selector-tag,\n.hljs-selector-id,\n.hljs-selector-class,\n.hljs-selector-attr,\n.hljs-selector-pseudo {\n  color: #D7BA7D;\n}\n\n.hljs-addition {\n  background-color: #144212;\n  display: inline-block;\n  width: 100%;\n}\n\n.hljs-deletion {\n  background-color: #600;\n  display: inline-block;\n  width: 100%;\n}\n"
  },
  {
    "path": "docs/toc.html",
    "content": "﻿\n<div id=\"sidetoggle\">\n  <div>\n    <div class=\"sidefilter\">\n      <form class=\"toc-filter\">\n        <span class=\"glyphicon glyphicon-filter filter-icon\"></span>\n        <span class=\"glyphicon glyphicon-remove clear-icon\" id=\"toc_filter_clear\"></span>\n        <input type=\"text\" id=\"toc_filter_input\" placeholder=\"Enter here to filter...\" onkeypress=\"if(event.keyCode==13) {return false;}\">\n      </form>\n    </div>\n    <div class=\"sidetoc\">\n      <div class=\"toc\" id=\"toc\">\n          \n          <ul class=\"nav level1\">\n                <li>\n                    <a href=\"guides/introduction/intro.html\" name=\"\" title=\"Guides\">Guides</a>\n                </li>\n                <li>\n                    <a href=\"api/index.html\" name=\"api/toc.html\" title=\"API Documentation\">API Documentation</a>\n                </li>\n          </ul>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "docs/xrefmap.yml",
    "content": "### YamlMime:XRefMap\nsorted: true\nreferences:\n- uid: API.Docs\n  name: The API Docs of Venflow\n  href: api/index.html\n- uid: Guides.Advanced.AspNetCore\n  name: Asp.Net Core with Venflow\n  href: guides/advanced/aspnetcore.html\n- uid: Guides.Advanced.CommandQueryCache\n  name: Caching Command Queries\n  href: guides/advanced/query_command_cache.html\n- uid: Guides.Advanced.Enums\n  name: Enums with Venflow\n  href: guides/advanced/enums.html\n- uid: Guides.Advanced.Interpolation\n  name: Interpolation with Venflow\n  href: guides/advanced/interpolation.html\n- uid: Guides.Advanced.Logging\n  name: Logging with Venflow\n  href: guides/advanced/logging.html\n- uid: Guides.Advanced.Logging.Extensions\n  name: Logging with Venflow and Microsoft.Extensions.Logging\n  href: guides/advanced/logging_extensions.html\n- uid: Guides.Advanced.Nullables\n  name: Nullables with Venflow\n  href: guides/advanced/nullables.html\n- uid: Guides.Advanced.Preparation\n  name: Statement Preparation with Venflow\n  href: guides/advanced/prepared_statements.html\n- uid: Guides.Advanced.StrongKeys\n  name: Strongly-typed Ids with Venflow\n  href: guides/advanced/strong_key.html\n- uid: Guides.Advanced.Validation\n  name: Validation with Venflow\n  href: guides/advanced/validation.html\n- uid: Guides.GettingStarted.Installation\n  name: Installing Venflow\n  href: guides/getting_started/installation.html\n- uid: Guides.GettingStarted.Setup\n  name: Setup Venflow\n  href: guides/getting_started/setup.html\n- uid: Guides.Introduction\n  name: Introduction to Venflow\n  href: guides/introduction/intro.html\n- uid: Guides.Operations.Count\n  name: Count with Venflow\n  href: guides/operations/count.html\n- uid: Guides.Operations.Delete\n  name: Delete with Venflow\n  href: guides/operations/delete.html\n- uid: Guides.Operations.Execute\n  name: Execute with Venflow\n  href: guides/operations/execute.html\n- uid: Guides.Operations.Insert\n  name: Insert with Venflow\n  href: guides/operations/insert.html\n- uid: Guides.Operations.Query\n  name: Query with Venflow\n  href: guides/operations/query.html\n- uid: Guides.Operations.Truncate\n  name: Truncate with Venflow\n  href: guides/operations/truncate.html\n- uid: Guides.Operations.Update\n  name: Update with Venflow\n  href: guides/operations/update.html\n- uid: System.Runtime.CompilerServices\n  name: System.Runtime.CompilerServices\n  href: api/System.Runtime.CompilerServices.html\n  commentId: N:System.Runtime.CompilerServices\n  fullName: System.Runtime.CompilerServices\n  nameWithType: System.Runtime.CompilerServices\n- uid: System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute\n  name: IgnoresAccessChecksToAttribute\n  href: api/System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.html\n  commentId: T:System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute\n  fullName: System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute\n  nameWithType: IgnoresAccessChecksToAttribute\n- uid: System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.#ctor(System.String)\n  name: IgnoresAccessChecksToAttribute(String)\n  href: api/System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.html#System_Runtime_CompilerServices_IgnoresAccessChecksToAttribute__ctor_System_String_\n  commentId: M:System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.#ctor(System.String)\n  fullName: System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.IgnoresAccessChecksToAttribute(System.String)\n  nameWithType: IgnoresAccessChecksToAttribute.IgnoresAccessChecksToAttribute(String)\n- uid: System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.#ctor*\n  name: IgnoresAccessChecksToAttribute\n  href: api/System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.html#System_Runtime_CompilerServices_IgnoresAccessChecksToAttribute__ctor_\n  commentId: Overload:System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.#ctor\n  isSpec: \"True\"\n  fullName: System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.IgnoresAccessChecksToAttribute\n  nameWithType: IgnoresAccessChecksToAttribute.IgnoresAccessChecksToAttribute\n- uid: System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.AssemblyName\n  name: AssemblyName\n  href: api/System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.html#System_Runtime_CompilerServices_IgnoresAccessChecksToAttribute_AssemblyName\n  commentId: P:System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.AssemblyName\n  fullName: System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.AssemblyName\n  nameWithType: IgnoresAccessChecksToAttribute.AssemblyName\n- uid: System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.AssemblyName*\n  name: AssemblyName\n  href: api/System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.html#System_Runtime_CompilerServices_IgnoresAccessChecksToAttribute_AssemblyName_\n  commentId: Overload:System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.AssemblyName\n  isSpec: \"True\"\n  fullName: System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute.AssemblyName\n  nameWithType: IgnoresAccessChecksToAttribute.AssemblyName\n- uid: System.Runtime.CompilerServices.NullableAttribute\n  name: NullableAttribute\n  href: api/System.Runtime.CompilerServices.NullableAttribute.html\n  commentId: T:System.Runtime.CompilerServices.NullableAttribute\n  fullName: System.Runtime.CompilerServices.NullableAttribute\n  nameWithType: NullableAttribute\n- uid: System.Runtime.CompilerServices.NullableAttribute.#ctor(System.Byte)\n  name: NullableAttribute(Byte)\n  href: api/System.Runtime.CompilerServices.NullableAttribute.html#System_Runtime_CompilerServices_NullableAttribute__ctor_System_Byte_\n  commentId: M:System.Runtime.CompilerServices.NullableAttribute.#ctor(System.Byte)\n  fullName: System.Runtime.CompilerServices.NullableAttribute.NullableAttribute(System.Byte)\n  nameWithType: NullableAttribute.NullableAttribute(Byte)\n- uid: System.Runtime.CompilerServices.NullableAttribute.#ctor(System.Byte[])\n  name: NullableAttribute(Byte[])\n  href: api/System.Runtime.CompilerServices.NullableAttribute.html#System_Runtime_CompilerServices_NullableAttribute__ctor_System_Byte___\n  commentId: M:System.Runtime.CompilerServices.NullableAttribute.#ctor(System.Byte[])\n  name.vb: NullableAttribute(Byte())\n  fullName: System.Runtime.CompilerServices.NullableAttribute.NullableAttribute(System.Byte[])\n  fullName.vb: System.Runtime.CompilerServices.NullableAttribute.NullableAttribute(System.Byte())\n  nameWithType: NullableAttribute.NullableAttribute(Byte[])\n  nameWithType.vb: NullableAttribute.NullableAttribute(Byte())\n- uid: System.Runtime.CompilerServices.NullableAttribute.#ctor*\n  name: NullableAttribute\n  href: api/System.Runtime.CompilerServices.NullableAttribute.html#System_Runtime_CompilerServices_NullableAttribute__ctor_\n  commentId: Overload:System.Runtime.CompilerServices.NullableAttribute.#ctor\n  isSpec: \"True\"\n  fullName: System.Runtime.CompilerServices.NullableAttribute.NullableAttribute\n  nameWithType: NullableAttribute.NullableAttribute\n- uid: System.Runtime.CompilerServices.NullableAttribute.NullableFlags\n  name: NullableFlags\n  href: api/System.Runtime.CompilerServices.NullableAttribute.html#System_Runtime_CompilerServices_NullableAttribute_NullableFlags\n  commentId: F:System.Runtime.CompilerServices.NullableAttribute.NullableFlags\n  fullName: System.Runtime.CompilerServices.NullableAttribute.NullableFlags\n  nameWithType: NullableAttribute.NullableFlags\n- uid: System.Runtime.CompilerServices.NullableContextAttribute\n  name: NullableContextAttribute\n  href: api/System.Runtime.CompilerServices.NullableContextAttribute.html\n  commentId: T:System.Runtime.CompilerServices.NullableContextAttribute\n  fullName: System.Runtime.CompilerServices.NullableContextAttribute\n  nameWithType: NullableContextAttribute\n- uid: System.Runtime.CompilerServices.NullableContextAttribute.#ctor(System.Byte)\n  name: NullableContextAttribute(Byte)\n  href: api/System.Runtime.CompilerServices.NullableContextAttribute.html#System_Runtime_CompilerServices_NullableContextAttribute__ctor_System_Byte_\n  commentId: M:System.Runtime.CompilerServices.NullableContextAttribute.#ctor(System.Byte)\n  fullName: System.Runtime.CompilerServices.NullableContextAttribute.NullableContextAttribute(System.Byte)\n  nameWithType: NullableContextAttribute.NullableContextAttribute(Byte)\n- uid: System.Runtime.CompilerServices.NullableContextAttribute.#ctor*\n  name: NullableContextAttribute\n  href: api/System.Runtime.CompilerServices.NullableContextAttribute.html#System_Runtime_CompilerServices_NullableContextAttribute__ctor_\n  commentId: Overload:System.Runtime.CompilerServices.NullableContextAttribute.#ctor\n  isSpec: \"True\"\n  fullName: System.Runtime.CompilerServices.NullableContextAttribute.NullableContextAttribute\n  nameWithType: NullableContextAttribute.NullableContextAttribute\n- uid: System.Runtime.CompilerServices.NullableContextAttribute.Flag\n  name: Flag\n  href: api/System.Runtime.CompilerServices.NullableContextAttribute.html#System_Runtime_CompilerServices_NullableContextAttribute_Flag\n  commentId: F:System.Runtime.CompilerServices.NullableContextAttribute.Flag\n  fullName: System.Runtime.CompilerServices.NullableContextAttribute.Flag\n  nameWithType: NullableContextAttribute.Flag\n- uid: Venflow\n  name: Venflow\n  href: api/Venflow.html\n  commentId: N:Venflow\n  fullName: Venflow\n  nameWithType: Venflow\n- uid: Venflow.AspNetCore\n  name: Venflow.AspNetCore\n  href: api/Venflow.AspNetCore.html\n  commentId: N:Venflow.AspNetCore\n  fullName: Venflow.AspNetCore\n  nameWithType: Venflow.AspNetCore\n- uid: Venflow.AspNetCore.VenflowServiceCollectionExtensions\n  name: VenflowServiceCollectionExtensions\n  href: api/Venflow.AspNetCore.VenflowServiceCollectionExtensions.html\n  commentId: T:Venflow.AspNetCore.VenflowServiceCollectionExtensions\n  fullName: Venflow.AspNetCore.VenflowServiceCollectionExtensions\n  nameWithType: VenflowServiceCollectionExtensions\n- uid: Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase*\n  name: AddDatabase\n  href: api/Venflow.AspNetCore.VenflowServiceCollectionExtensions.html#Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddDatabase_\n  commentId: Overload:Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase\n  isSpec: \"True\"\n  fullName: Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase\n  nameWithType: VenflowServiceCollectionExtensions.AddDatabase\n- uid: Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase``1(IServiceCollection,System.Nullable{Action{IServiceProvider,Venflow.DatabaseOptionsBuilder{``0}}},ServiceLifetime)\n  name: AddDatabase<TDatabase>(IServiceCollection, Nullable<Action<IServiceProvider, DatabaseOptionsBuilder<TDatabase>>>, ServiceLifetime)\n  href: api/Venflow.AspNetCore.VenflowServiceCollectionExtensions.html#Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddDatabase__1_IServiceCollection_System_Nullable_Action_IServiceProvider_Venflow_DatabaseOptionsBuilder___0____ServiceLifetime_\n  commentId: M:Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase``1(IServiceCollection,System.Nullable{Action{IServiceProvider,Venflow.DatabaseOptionsBuilder{``0}}},ServiceLifetime)\n  name.vb: AddDatabase(Of TDatabase)(IServiceCollection, Nullable(Of Action(Of IServiceProvider, DatabaseOptionsBuilder(Of TDatabase))), ServiceLifetime)\n  fullName: Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase<TDatabase>(IServiceCollection, System.Nullable<Action<IServiceProvider, Venflow.DatabaseOptionsBuilder<TDatabase>>>, ServiceLifetime)\n  fullName.vb: Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase(Of TDatabase)(IServiceCollection, System.Nullable(Of Action(Of IServiceProvider, Venflow.DatabaseOptionsBuilder(Of TDatabase))), ServiceLifetime)\n  nameWithType: VenflowServiceCollectionExtensions.AddDatabase<TDatabase>(IServiceCollection, Nullable<Action<IServiceProvider, DatabaseOptionsBuilder<TDatabase>>>, ServiceLifetime)\n  nameWithType.vb: VenflowServiceCollectionExtensions.AddDatabase(Of TDatabase)(IServiceCollection, Nullable(Of Action(Of IServiceProvider, DatabaseOptionsBuilder(Of TDatabase))), ServiceLifetime)\n- uid: Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase``1(IServiceCollection,System.Nullable{Action{IServiceProvider,Venflow.DatabaseOptionsBuilder{``0}}},ServiceLifetime,ServiceLifetime)\n  name: AddDatabase<TDatabase>(IServiceCollection, Nullable<Action<IServiceProvider, DatabaseOptionsBuilder<TDatabase>>>, ServiceLifetime, ServiceLifetime)\n  href: api/Venflow.AspNetCore.VenflowServiceCollectionExtensions.html#Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddDatabase__1_IServiceCollection_System_Nullable_Action_IServiceProvider_Venflow_DatabaseOptionsBuilder___0____ServiceLifetime_ServiceLifetime_\n  commentId: M:Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase``1(IServiceCollection,System.Nullable{Action{IServiceProvider,Venflow.DatabaseOptionsBuilder{``0}}},ServiceLifetime,ServiceLifetime)\n  name.vb: AddDatabase(Of TDatabase)(IServiceCollection, Nullable(Of Action(Of IServiceProvider, DatabaseOptionsBuilder(Of TDatabase))), ServiceLifetime, ServiceLifetime)\n  fullName: Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase<TDatabase>(IServiceCollection, System.Nullable<Action<IServiceProvider, Venflow.DatabaseOptionsBuilder<TDatabase>>>, ServiceLifetime, ServiceLifetime)\n  fullName.vb: Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase(Of TDatabase)(IServiceCollection, System.Nullable(Of Action(Of IServiceProvider, Venflow.DatabaseOptionsBuilder(Of TDatabase))), ServiceLifetime, ServiceLifetime)\n  nameWithType: VenflowServiceCollectionExtensions.AddDatabase<TDatabase>(IServiceCollection, Nullable<Action<IServiceProvider, DatabaseOptionsBuilder<TDatabase>>>, ServiceLifetime, ServiceLifetime)\n  nameWithType.vb: VenflowServiceCollectionExtensions.AddDatabase(Of TDatabase)(IServiceCollection, Nullable(Of Action(Of IServiceProvider, DatabaseOptionsBuilder(Of TDatabase))), ServiceLifetime, ServiceLifetime)\n- uid: Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase``1(IServiceCollection,System.Nullable{Action{Venflow.DatabaseOptionsBuilder{``0}}},ServiceLifetime)\n  name: AddDatabase<TDatabase>(IServiceCollection, Nullable<Action<DatabaseOptionsBuilder<TDatabase>>>, ServiceLifetime)\n  href: api/Venflow.AspNetCore.VenflowServiceCollectionExtensions.html#Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddDatabase__1_IServiceCollection_System_Nullable_Action_Venflow_DatabaseOptionsBuilder___0____ServiceLifetime_\n  commentId: M:Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase``1(IServiceCollection,System.Nullable{Action{Venflow.DatabaseOptionsBuilder{``0}}},ServiceLifetime)\n  name.vb: AddDatabase(Of TDatabase)(IServiceCollection, Nullable(Of Action(Of DatabaseOptionsBuilder(Of TDatabase))), ServiceLifetime)\n  fullName: Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase<TDatabase>(IServiceCollection, System.Nullable<Action<Venflow.DatabaseOptionsBuilder<TDatabase>>>, ServiceLifetime)\n  fullName.vb: Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase(Of TDatabase)(IServiceCollection, System.Nullable(Of Action(Of Venflow.DatabaseOptionsBuilder(Of TDatabase))), ServiceLifetime)\n  nameWithType: VenflowServiceCollectionExtensions.AddDatabase<TDatabase>(IServiceCollection, Nullable<Action<DatabaseOptionsBuilder<TDatabase>>>, ServiceLifetime)\n  nameWithType.vb: VenflowServiceCollectionExtensions.AddDatabase(Of TDatabase)(IServiceCollection, Nullable(Of Action(Of DatabaseOptionsBuilder(Of TDatabase))), ServiceLifetime)\n- uid: Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddVenflowJson(IServiceCollection)\n  name: AddVenflowJson(IServiceCollection)\n  href: api/Venflow.AspNetCore.VenflowServiceCollectionExtensions.html#Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddVenflowJson_IServiceCollection_\n  commentId: M:Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddVenflowJson(IServiceCollection)\n  fullName: Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddVenflowJson(IServiceCollection)\n  nameWithType: VenflowServiceCollectionExtensions.AddVenflowJson(IServiceCollection)\n- uid: Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddVenflowJson*\n  name: AddVenflowJson\n  href: api/Venflow.AspNetCore.VenflowServiceCollectionExtensions.html#Venflow_AspNetCore_VenflowServiceCollectionExtensions_AddVenflowJson_\n  commentId: Overload:Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddVenflowJson\n  isSpec: \"True\"\n  fullName: Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddVenflowJson\n  nameWithType: VenflowServiceCollectionExtensions.AddVenflowJson\n- uid: Venflow.Commands\n  name: Venflow.Commands\n  href: api/Venflow.Commands.html\n  commentId: N:Venflow.Commands\n  fullName: Venflow.Commands\n  nameWithType: Venflow.Commands\n- uid: Venflow.Commands.IBaseInsertRelationBuilder`2\n  name: IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>\n  href: api/Venflow.Commands.IBaseInsertRelationBuilder-2.html\n  commentId: T:Venflow.Commands.IBaseInsertRelationBuilder`2\n  name.vb: IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity)\n  fullName: Venflow.Commands.IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>\n  fullName.vb: Venflow.Commands.IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity)\n  nameWithType: IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>\n  nameWithType.vb: IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity)\n- uid: Venflow.Commands.IBaseInsertRelationBuilder`2.With*\n  name: With\n  href: api/Venflow.Commands.IBaseInsertRelationBuilder-2.html#Venflow_Commands_IBaseInsertRelationBuilder_2_With_\n  commentId: Overload:Venflow.Commands.IBaseInsertRelationBuilder`2.With\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.With\n  fullName.vb: Venflow.Commands.IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).With\n  nameWithType: IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.With\n  nameWithType.vb: IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).With\n- uid: Venflow.Commands.IBaseInsertRelationBuilder`2.With``1(Expression{Func{`1,``0}})\n  name: With<TToEntity>(Expression<Func<TRootEntity, TToEntity>>)\n  href: api/Venflow.Commands.IBaseInsertRelationBuilder-2.html#Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_Expression_Func__1___0___\n  commentId: M:Venflow.Commands.IBaseInsertRelationBuilder`2.With``1(Expression{Func{`1,``0}})\n  name.vb: With(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)))\n  fullName: Venflow.Commands.IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.With<TToEntity>(Expression<Func<TRootEntity, TToEntity>>)\n  fullName.vb: Venflow.Commands.IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).With(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)))\n  nameWithType: IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.With<TToEntity>(Expression<Func<TRootEntity, TToEntity>>)\n  nameWithType.vb: IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).With(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)))\n- uid: Venflow.Commands.IBaseInsertRelationBuilder`2.With``1(Expression{Func{`1,IList{``0}}})\n  name: With<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>)\n  href: api/Venflow.Commands.IBaseInsertRelationBuilder-2.html#Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_Expression_Func__1_IList___0____\n  commentId: M:Venflow.Commands.IBaseInsertRelationBuilder`2.With``1(Expression{Func{`1,IList{``0}}})\n  name.vb: With(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))))\n  fullName: Venflow.Commands.IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.With<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).With(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))))\n  nameWithType: IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.With<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>)\n  nameWithType.vb: IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).With(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))))\n- uid: Venflow.Commands.IBaseInsertRelationBuilder`2.With``1(Expression{Func{`1,List{``0}}})\n  name: With<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>)\n  href: api/Venflow.Commands.IBaseInsertRelationBuilder-2.html#Venflow_Commands_IBaseInsertRelationBuilder_2_With__1_Expression_Func__1_List___0____\n  commentId: M:Venflow.Commands.IBaseInsertRelationBuilder`2.With``1(Expression{Func{`1,List{``0}}})\n  name.vb: With(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))))\n  fullName: Venflow.Commands.IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.With<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).With(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))))\n  nameWithType: IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.With<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>)\n  nameWithType.vb: IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).With(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))))\n- uid: Venflow.Commands.IBaseInsertRelationBuilder`2.WithAll\n  name: WithAll()\n  href: api/Venflow.Commands.IBaseInsertRelationBuilder-2.html#Venflow_Commands_IBaseInsertRelationBuilder_2_WithAll\n  commentId: M:Venflow.Commands.IBaseInsertRelationBuilder`2.WithAll\n  fullName: Venflow.Commands.IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.WithAll()\n  fullName.vb: Venflow.Commands.IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).WithAll()\n  nameWithType: IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.WithAll()\n  nameWithType.vb: IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).WithAll()\n- uid: Venflow.Commands.IBaseInsertRelationBuilder`2.WithAll*\n  name: WithAll\n  href: api/Venflow.Commands.IBaseInsertRelationBuilder-2.html#Venflow_Commands_IBaseInsertRelationBuilder_2_WithAll_\n  commentId: Overload:Venflow.Commands.IBaseInsertRelationBuilder`2.WithAll\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.WithAll\n  fullName.vb: Venflow.Commands.IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).WithAll\n  nameWithType: IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.WithAll\n  nameWithType.vb: IBaseInsertRelationBuilder(Of TRelationEntity, TRootEntity).WithAll\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3\n  name: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html\n  commentId: T:Venflow.Commands.IBaseQueryRelationBuilder`3\n  name.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn)\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn)\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn)\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith*\n  name: FullJoinWith\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith_\n  commentId: Overload:Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).FullJoinWith\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).FullJoinWith\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith``1(Expression{Func{`1,``0}})\n  name: FullJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1___0___\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith``1(Expression{Func{`1,``0}})\n  name.vb: FullJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)))\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).FullJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)))\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).FullJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)))\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith``1(Expression{Func{`1,IList{``0}}})\n  name: FullJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1_IList___0____\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith``1(Expression{Func{`1,IList{``0}}})\n  name.vb: FullJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))))\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).FullJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))))\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).FullJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))))\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith``1(Expression{Func{`1,List{``0}}})\n  name: FullJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_FullJoinWith__1_Expression_Func__1_List___0____\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith``1(Expression{Func{`1,List{``0}}})\n  name.vb: FullJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))))\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).FullJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))))\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).FullJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))))\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith*\n  name: JoinWith\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith_\n  commentId: Overload:Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.JoinWith\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).JoinWith\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.JoinWith\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).JoinWith\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith``1(Expression{Func{`1,``0}},Venflow.Enums.JoinBehaviour)\n  name: JoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>, JoinBehaviour)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_Expression_Func__1___0___Venflow_Enums_JoinBehaviour_\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith``1(Expression{Func{`1,``0}},Venflow.Enums.JoinBehaviour)\n  name.vb: JoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)), JoinBehaviour)\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.JoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>, Venflow.Enums.JoinBehaviour)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).JoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)), Venflow.Enums.JoinBehaviour)\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.JoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>, JoinBehaviour)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).JoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)), JoinBehaviour)\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith``1(Expression{Func{`1,IList{``0}}},Venflow.Enums.JoinBehaviour)\n  name: JoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>, JoinBehaviour)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_Expression_Func__1_IList___0____Venflow_Enums_JoinBehaviour_\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith``1(Expression{Func{`1,IList{``0}}},Venflow.Enums.JoinBehaviour)\n  name.vb: JoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))), JoinBehaviour)\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.JoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>, Venflow.Enums.JoinBehaviour)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).JoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))), Venflow.Enums.JoinBehaviour)\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.JoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>, JoinBehaviour)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).JoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))), JoinBehaviour)\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith``1(Expression{Func{`1,List{``0}}},Venflow.Enums.JoinBehaviour)\n  name: JoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>, JoinBehaviour)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_JoinWith__1_Expression_Func__1_List___0____Venflow_Enums_JoinBehaviour_\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith``1(Expression{Func{`1,List{``0}}},Venflow.Enums.JoinBehaviour)\n  name.vb: JoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))), JoinBehaviour)\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.JoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>, Venflow.Enums.JoinBehaviour)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).JoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))), Venflow.Enums.JoinBehaviour)\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.JoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>, JoinBehaviour)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).JoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))), JoinBehaviour)\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith*\n  name: LeftJoinWith\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith_\n  commentId: Overload:Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).LeftJoinWith\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).LeftJoinWith\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith``1(Expression{Func{`1,``0}})\n  name: LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1___0___\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith``1(Expression{Func{`1,``0}})\n  name.vb: LeftJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)))\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).LeftJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)))\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).LeftJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)))\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith``1(Expression{Func{`1,IList{``0}}})\n  name: LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1_IList___0____\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith``1(Expression{Func{`1,IList{``0}}})\n  name.vb: LeftJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))))\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).LeftJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))))\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).LeftJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))))\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith``1(Expression{Func{`1,List{``0}}})\n  name: LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_LeftJoinWith__1_Expression_Func__1_List___0____\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith``1(Expression{Func{`1,List{``0}}})\n  name.vb: LeftJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))))\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).LeftJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))))\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).LeftJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))))\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith*\n  name: RightJoinWith\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith_\n  commentId: Overload:Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).RightJoinWith\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).RightJoinWith\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith``1(Expression{Func{`1,``0}})\n  name: RightJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1___0___\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith``1(Expression{Func{`1,``0}})\n  name.vb: RightJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)))\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).RightJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)))\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>>)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).RightJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, TToEntity)))\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith``1(Expression{Func{`1,IList{``0}}})\n  name: RightJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1_IList___0____\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith``1(Expression{Func{`1,IList{``0}}})\n  name.vb: RightJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))))\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).RightJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))))\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>>)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).RightJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, IList(Of TToEntity))))\n- uid: Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith``1(Expression{Func{`1,List{``0}}})\n  name: RightJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>)\n  href: api/Venflow.Commands.IBaseQueryRelationBuilder-3.html#Venflow_Commands_IBaseQueryRelationBuilder_3_RightJoinWith__1_Expression_Func__1_List___0____\n  commentId: M:Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith``1(Expression{Func{`1,List{``0}}})\n  name.vb: RightJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))))\n  fullName: Venflow.Commands.IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).RightJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))))\n  nameWithType: IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>>)\n  nameWithType.vb: IBaseQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).RightJoinWith(Of TToEntity)(Expression(Of Func(Of TRootEntity, List(Of TToEntity))))\n- uid: Venflow.Commands.IDeleteCommand`1\n  name: IDeleteCommand<TEntity>\n  href: api/Venflow.Commands.IDeleteCommand-1.html\n  commentId: T:Venflow.Commands.IDeleteCommand`1\n  name.vb: IDeleteCommand(Of TEntity)\n  fullName: Venflow.Commands.IDeleteCommand<TEntity>\n  fullName.vb: Venflow.Commands.IDeleteCommand(Of TEntity)\n  nameWithType: IDeleteCommand<TEntity>\n  nameWithType.vb: IDeleteCommand(Of TEntity)\n- uid: Venflow.Commands.IDeleteCommand`1.DeleteAsync(`0,CancellationToken)\n  name: DeleteAsync(TEntity, CancellationToken)\n  href: api/Venflow.Commands.IDeleteCommand-1.html#Venflow_Commands_IDeleteCommand_1_DeleteAsync__0_CancellationToken_\n  commentId: M:Venflow.Commands.IDeleteCommand`1.DeleteAsync(`0,CancellationToken)\n  fullName: Venflow.Commands.IDeleteCommand<TEntity>.DeleteAsync(TEntity, CancellationToken)\n  fullName.vb: Venflow.Commands.IDeleteCommand(Of TEntity).DeleteAsync(TEntity, CancellationToken)\n  nameWithType: IDeleteCommand<TEntity>.DeleteAsync(TEntity, CancellationToken)\n  nameWithType.vb: IDeleteCommand(Of TEntity).DeleteAsync(TEntity, CancellationToken)\n- uid: Venflow.Commands.IDeleteCommand`1.DeleteAsync(`0[],CancellationToken)\n  name: DeleteAsync(TEntity[], CancellationToken)\n  href: api/Venflow.Commands.IDeleteCommand-1.html#Venflow_Commands_IDeleteCommand_1_DeleteAsync__0___CancellationToken_\n  commentId: M:Venflow.Commands.IDeleteCommand`1.DeleteAsync(`0[],CancellationToken)\n  name.vb: DeleteAsync(TEntity(), CancellationToken)\n  fullName: Venflow.Commands.IDeleteCommand<TEntity>.DeleteAsync(TEntity[], CancellationToken)\n  fullName.vb: Venflow.Commands.IDeleteCommand(Of TEntity).DeleteAsync(TEntity(), CancellationToken)\n  nameWithType: IDeleteCommand<TEntity>.DeleteAsync(TEntity[], CancellationToken)\n  nameWithType.vb: IDeleteCommand(Of TEntity).DeleteAsync(TEntity(), CancellationToken)\n- uid: Venflow.Commands.IDeleteCommand`1.DeleteAsync(IEnumerable{`0},CancellationToken)\n  name: DeleteAsync(IEnumerable<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IDeleteCommand-1.html#Venflow_Commands_IDeleteCommand_1_DeleteAsync_IEnumerable__0__CancellationToken_\n  commentId: M:Venflow.Commands.IDeleteCommand`1.DeleteAsync(IEnumerable{`0},CancellationToken)\n  name.vb: DeleteAsync(IEnumerable(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IDeleteCommand<TEntity>.DeleteAsync(IEnumerable<TEntity>, CancellationToken)\n  fullName.vb: Venflow.Commands.IDeleteCommand(Of TEntity).DeleteAsync(IEnumerable(Of TEntity), CancellationToken)\n  nameWithType: IDeleteCommand<TEntity>.DeleteAsync(IEnumerable<TEntity>, CancellationToken)\n  nameWithType.vb: IDeleteCommand(Of TEntity).DeleteAsync(IEnumerable(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IDeleteCommand`1.DeleteAsync(IList{`0},CancellationToken)\n  name: DeleteAsync(IList<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IDeleteCommand-1.html#Venflow_Commands_IDeleteCommand_1_DeleteAsync_IList__0__CancellationToken_\n  commentId: M:Venflow.Commands.IDeleteCommand`1.DeleteAsync(IList{`0},CancellationToken)\n  name.vb: DeleteAsync(IList(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IDeleteCommand<TEntity>.DeleteAsync(IList<TEntity>, CancellationToken)\n  fullName.vb: Venflow.Commands.IDeleteCommand(Of TEntity).DeleteAsync(IList(Of TEntity), CancellationToken)\n  nameWithType: IDeleteCommand<TEntity>.DeleteAsync(IList<TEntity>, CancellationToken)\n  nameWithType.vb: IDeleteCommand(Of TEntity).DeleteAsync(IList(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IDeleteCommand`1.DeleteAsync(List{`0},CancellationToken)\n  name: DeleteAsync(List<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IDeleteCommand-1.html#Venflow_Commands_IDeleteCommand_1_DeleteAsync_List__0__CancellationToken_\n  commentId: M:Venflow.Commands.IDeleteCommand`1.DeleteAsync(List{`0},CancellationToken)\n  name.vb: DeleteAsync(List(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IDeleteCommand<TEntity>.DeleteAsync(List<TEntity>, CancellationToken)\n  fullName.vb: Venflow.Commands.IDeleteCommand(Of TEntity).DeleteAsync(List(Of TEntity), CancellationToken)\n  nameWithType: IDeleteCommand<TEntity>.DeleteAsync(List<TEntity>, CancellationToken)\n  nameWithType.vb: IDeleteCommand(Of TEntity).DeleteAsync(List(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IDeleteCommand`1.DeleteAsync*\n  name: DeleteAsync\n  href: api/Venflow.Commands.IDeleteCommand-1.html#Venflow_Commands_IDeleteCommand_1_DeleteAsync_\n  commentId: Overload:Venflow.Commands.IDeleteCommand`1.DeleteAsync\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IDeleteCommand<TEntity>.DeleteAsync\n  fullName.vb: Venflow.Commands.IDeleteCommand(Of TEntity).DeleteAsync\n  nameWithType: IDeleteCommand<TEntity>.DeleteAsync\n  nameWithType.vb: IDeleteCommand(Of TEntity).DeleteAsync\n- uid: Venflow.Commands.IDeleteCommandBuilder`1\n  name: IDeleteCommandBuilder<TEntity>\n  href: api/Venflow.Commands.IDeleteCommandBuilder-1.html\n  commentId: T:Venflow.Commands.IDeleteCommandBuilder`1\n  name.vb: IDeleteCommandBuilder(Of TEntity)\n  fullName: Venflow.Commands.IDeleteCommandBuilder<TEntity>\n  fullName.vb: Venflow.Commands.IDeleteCommandBuilder(Of TEntity)\n  nameWithType: IDeleteCommandBuilder<TEntity>\n  nameWithType.vb: IDeleteCommandBuilder(Of TEntity)\n- uid: Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(`0,CancellationToken)\n  name: DeleteAsync(TEntity, CancellationToken)\n  href: api/Venflow.Commands.IDeleteCommandBuilder-1.html#Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync__0_CancellationToken_\n  commentId: M:Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(`0,CancellationToken)\n  fullName: Venflow.Commands.IDeleteCommandBuilder<TEntity>.DeleteAsync(TEntity, CancellationToken)\n  fullName.vb: Venflow.Commands.IDeleteCommandBuilder(Of TEntity).DeleteAsync(TEntity, CancellationToken)\n  nameWithType: IDeleteCommandBuilder<TEntity>.DeleteAsync(TEntity, CancellationToken)\n  nameWithType.vb: IDeleteCommandBuilder(Of TEntity).DeleteAsync(TEntity, CancellationToken)\n- uid: Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(`0[],CancellationToken)\n  name: DeleteAsync(TEntity[], CancellationToken)\n  href: api/Venflow.Commands.IDeleteCommandBuilder-1.html#Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync__0___CancellationToken_\n  commentId: M:Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(`0[],CancellationToken)\n  name.vb: DeleteAsync(TEntity(), CancellationToken)\n  fullName: Venflow.Commands.IDeleteCommandBuilder<TEntity>.DeleteAsync(TEntity[], CancellationToken)\n  fullName.vb: Venflow.Commands.IDeleteCommandBuilder(Of TEntity).DeleteAsync(TEntity(), CancellationToken)\n  nameWithType: IDeleteCommandBuilder<TEntity>.DeleteAsync(TEntity[], CancellationToken)\n  nameWithType.vb: IDeleteCommandBuilder(Of TEntity).DeleteAsync(TEntity(), CancellationToken)\n- uid: Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(IEnumerable{`0},CancellationToken)\n  name: DeleteAsync(IEnumerable<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IDeleteCommandBuilder-1.html#Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_IEnumerable__0__CancellationToken_\n  commentId: M:Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(IEnumerable{`0},CancellationToken)\n  name.vb: DeleteAsync(IEnumerable(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IDeleteCommandBuilder<TEntity>.DeleteAsync(IEnumerable<TEntity>, CancellationToken)\n  fullName.vb: Venflow.Commands.IDeleteCommandBuilder(Of TEntity).DeleteAsync(IEnumerable(Of TEntity), CancellationToken)\n  nameWithType: IDeleteCommandBuilder<TEntity>.DeleteAsync(IEnumerable<TEntity>, CancellationToken)\n  nameWithType.vb: IDeleteCommandBuilder(Of TEntity).DeleteAsync(IEnumerable(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(IList{`0},CancellationToken)\n  name: DeleteAsync(IList<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IDeleteCommandBuilder-1.html#Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_IList__0__CancellationToken_\n  commentId: M:Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(IList{`0},CancellationToken)\n  name.vb: DeleteAsync(IList(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IDeleteCommandBuilder<TEntity>.DeleteAsync(IList<TEntity>, CancellationToken)\n  fullName.vb: Venflow.Commands.IDeleteCommandBuilder(Of TEntity).DeleteAsync(IList(Of TEntity), CancellationToken)\n  nameWithType: IDeleteCommandBuilder<TEntity>.DeleteAsync(IList<TEntity>, CancellationToken)\n  nameWithType.vb: IDeleteCommandBuilder(Of TEntity).DeleteAsync(IList(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(List{`0},CancellationToken)\n  name: DeleteAsync(List<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IDeleteCommandBuilder-1.html#Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_List__0__CancellationToken_\n  commentId: M:Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(List{`0},CancellationToken)\n  name.vb: DeleteAsync(List(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IDeleteCommandBuilder<TEntity>.DeleteAsync(List<TEntity>, CancellationToken)\n  fullName.vb: Venflow.Commands.IDeleteCommandBuilder(Of TEntity).DeleteAsync(List(Of TEntity), CancellationToken)\n  nameWithType: IDeleteCommandBuilder<TEntity>.DeleteAsync(List<TEntity>, CancellationToken)\n  nameWithType.vb: IDeleteCommandBuilder(Of TEntity).DeleteAsync(List(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync*\n  name: DeleteAsync\n  href: api/Venflow.Commands.IDeleteCommandBuilder-1.html#Venflow_Commands_IDeleteCommandBuilder_1_DeleteAsync_\n  commentId: Overload:Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IDeleteCommandBuilder<TEntity>.DeleteAsync\n  fullName.vb: Venflow.Commands.IDeleteCommandBuilder(Of TEntity).DeleteAsync\n  nameWithType: IDeleteCommandBuilder<TEntity>.DeleteAsync\n  nameWithType.vb: IDeleteCommandBuilder(Of TEntity).DeleteAsync\n- uid: Venflow.Commands.IInsertCommand`1\n  name: IInsertCommand<TEntity>\n  href: api/Venflow.Commands.IInsertCommand-1.html\n  commentId: T:Venflow.Commands.IInsertCommand`1\n  name.vb: IInsertCommand(Of TEntity)\n  fullName: Venflow.Commands.IInsertCommand<TEntity>\n  fullName.vb: Venflow.Commands.IInsertCommand(Of TEntity)\n  nameWithType: IInsertCommand<TEntity>\n  nameWithType.vb: IInsertCommand(Of TEntity)\n- uid: Venflow.Commands.IInsertCommand`1.InsertAsync(`0,CancellationToken)\n  name: InsertAsync(TEntity, CancellationToken)\n  href: api/Venflow.Commands.IInsertCommand-1.html#Venflow_Commands_IInsertCommand_1_InsertAsync__0_CancellationToken_\n  commentId: M:Venflow.Commands.IInsertCommand`1.InsertAsync(`0,CancellationToken)\n  fullName: Venflow.Commands.IInsertCommand<TEntity>.InsertAsync(TEntity, CancellationToken)\n  fullName.vb: Venflow.Commands.IInsertCommand(Of TEntity).InsertAsync(TEntity, CancellationToken)\n  nameWithType: IInsertCommand<TEntity>.InsertAsync(TEntity, CancellationToken)\n  nameWithType.vb: IInsertCommand(Of TEntity).InsertAsync(TEntity, CancellationToken)\n- uid: Venflow.Commands.IInsertCommand`1.InsertAsync(IList{`0},CancellationToken)\n  name: InsertAsync(IList<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IInsertCommand-1.html#Venflow_Commands_IInsertCommand_1_InsertAsync_IList__0__CancellationToken_\n  commentId: M:Venflow.Commands.IInsertCommand`1.InsertAsync(IList{`0},CancellationToken)\n  name.vb: InsertAsync(IList(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IInsertCommand<TEntity>.InsertAsync(IList<TEntity>, CancellationToken)\n  fullName.vb: Venflow.Commands.IInsertCommand(Of TEntity).InsertAsync(IList(Of TEntity), CancellationToken)\n  nameWithType: IInsertCommand<TEntity>.InsertAsync(IList<TEntity>, CancellationToken)\n  nameWithType.vb: IInsertCommand(Of TEntity).InsertAsync(IList(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IInsertCommand`1.InsertAsync*\n  name: InsertAsync\n  href: api/Venflow.Commands.IInsertCommand-1.html#Venflow_Commands_IInsertCommand_1_InsertAsync_\n  commentId: Overload:Venflow.Commands.IInsertCommand`1.InsertAsync\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IInsertCommand<TEntity>.InsertAsync\n  fullName.vb: Venflow.Commands.IInsertCommand(Of TEntity).InsertAsync\n  nameWithType: IInsertCommand<TEntity>.InsertAsync\n  nameWithType.vb: IInsertCommand(Of TEntity).InsertAsync\n- uid: Venflow.Commands.IInsertCommandBuilder`1\n  name: IInsertCommandBuilder<TEntity>\n  href: api/Venflow.Commands.IInsertCommandBuilder-1.html\n  commentId: T:Venflow.Commands.IInsertCommandBuilder`1\n  name.vb: IInsertCommandBuilder(Of TEntity)\n  fullName: Venflow.Commands.IInsertCommandBuilder<TEntity>\n  fullName.vb: Venflow.Commands.IInsertCommandBuilder(Of TEntity)\n  nameWithType: IInsertCommandBuilder<TEntity>\n  nameWithType.vb: IInsertCommandBuilder(Of TEntity)\n- uid: Venflow.Commands.IInsertCommandBuilder`1.InsertAsync(`0,CancellationToken)\n  name: InsertAsync(TEntity, CancellationToken)\n  href: api/Venflow.Commands.IInsertCommandBuilder-1.html#Venflow_Commands_IInsertCommandBuilder_1_InsertAsync__0_CancellationToken_\n  commentId: M:Venflow.Commands.IInsertCommandBuilder`1.InsertAsync(`0,CancellationToken)\n  fullName: Venflow.Commands.IInsertCommandBuilder<TEntity>.InsertAsync(TEntity, CancellationToken)\n  fullName.vb: Venflow.Commands.IInsertCommandBuilder(Of TEntity).InsertAsync(TEntity, CancellationToken)\n  nameWithType: IInsertCommandBuilder<TEntity>.InsertAsync(TEntity, CancellationToken)\n  nameWithType.vb: IInsertCommandBuilder(Of TEntity).InsertAsync(TEntity, CancellationToken)\n- uid: Venflow.Commands.IInsertCommandBuilder`1.InsertAsync(IList{`0},CancellationToken)\n  name: InsertAsync(IList<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IInsertCommandBuilder-1.html#Venflow_Commands_IInsertCommandBuilder_1_InsertAsync_IList__0__CancellationToken_\n  commentId: M:Venflow.Commands.IInsertCommandBuilder`1.InsertAsync(IList{`0},CancellationToken)\n  name.vb: InsertAsync(IList(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IInsertCommandBuilder<TEntity>.InsertAsync(IList<TEntity>, CancellationToken)\n  fullName.vb: Venflow.Commands.IInsertCommandBuilder(Of TEntity).InsertAsync(IList(Of TEntity), CancellationToken)\n  nameWithType: IInsertCommandBuilder<TEntity>.InsertAsync(IList<TEntity>, CancellationToken)\n  nameWithType.vb: IInsertCommandBuilder(Of TEntity).InsertAsync(IList(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IInsertCommandBuilder`1.InsertAsync*\n  name: InsertAsync\n  href: api/Venflow.Commands.IInsertCommandBuilder-1.html#Venflow_Commands_IInsertCommandBuilder_1_InsertAsync_\n  commentId: Overload:Venflow.Commands.IInsertCommandBuilder`1.InsertAsync\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IInsertCommandBuilder<TEntity>.InsertAsync\n  fullName.vb: Venflow.Commands.IInsertCommandBuilder(Of TEntity).InsertAsync\n  nameWithType: IInsertCommandBuilder<TEntity>.InsertAsync\n  nameWithType.vb: IInsertCommandBuilder(Of TEntity).InsertAsync\n- uid: Venflow.Commands.IInsertRelationBuilder`2\n  name: IInsertRelationBuilder<TRelationEntity, TRootEntity>\n  href: api/Venflow.Commands.IInsertRelationBuilder-2.html\n  commentId: T:Venflow.Commands.IInsertRelationBuilder`2\n  name.vb: IInsertRelationBuilder(Of TRelationEntity, TRootEntity)\n  fullName: Venflow.Commands.IInsertRelationBuilder<TRelationEntity, TRootEntity>\n  fullName.vb: Venflow.Commands.IInsertRelationBuilder(Of TRelationEntity, TRootEntity)\n  nameWithType: IInsertRelationBuilder<TRelationEntity, TRootEntity>\n  nameWithType.vb: IInsertRelationBuilder(Of TRelationEntity, TRootEntity)\n- uid: Venflow.Commands.IInsertRelationBuilder`2.AndWith*\n  name: AndWith\n  href: api/Venflow.Commands.IInsertRelationBuilder-2.html#Venflow_Commands_IInsertRelationBuilder_2_AndWith_\n  commentId: Overload:Venflow.Commands.IInsertRelationBuilder`2.AndWith\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IInsertRelationBuilder<TRelationEntity, TRootEntity>.AndWith\n  fullName.vb: Venflow.Commands.IInsertRelationBuilder(Of TRelationEntity, TRootEntity).AndWith\n  nameWithType: IInsertRelationBuilder<TRelationEntity, TRootEntity>.AndWith\n  nameWithType.vb: IInsertRelationBuilder(Of TRelationEntity, TRootEntity).AndWith\n- uid: Venflow.Commands.IInsertRelationBuilder`2.AndWith``1(Expression{Func{`0,``0}})\n  name: AndWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>)\n  href: api/Venflow.Commands.IInsertRelationBuilder-2.html#Venflow_Commands_IInsertRelationBuilder_2_AndWith__1_Expression_Func__0___0___\n  commentId: M:Venflow.Commands.IInsertRelationBuilder`2.AndWith``1(Expression{Func{`0,``0}})\n  name.vb: AndWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)))\n  fullName: Venflow.Commands.IInsertRelationBuilder<TRelationEntity, TRootEntity>.AndWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>)\n  fullName.vb: Venflow.Commands.IInsertRelationBuilder(Of TRelationEntity, TRootEntity).AndWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)))\n  nameWithType: IInsertRelationBuilder<TRelationEntity, TRootEntity>.AndWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>)\n  nameWithType.vb: IInsertRelationBuilder(Of TRelationEntity, TRootEntity).AndWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)))\n- uid: Venflow.Commands.IInsertRelationBuilder`2.AndWith``1(Expression{Func{`0,IList{``0}}})\n  name: AndWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>)\n  href: api/Venflow.Commands.IInsertRelationBuilder-2.html#Venflow_Commands_IInsertRelationBuilder_2_AndWith__1_Expression_Func__0_IList___0____\n  commentId: M:Venflow.Commands.IInsertRelationBuilder`2.AndWith``1(Expression{Func{`0,IList{``0}}})\n  name.vb: AndWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))))\n  fullName: Venflow.Commands.IInsertRelationBuilder<TRelationEntity, TRootEntity>.AndWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IInsertRelationBuilder(Of TRelationEntity, TRootEntity).AndWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))))\n  nameWithType: IInsertRelationBuilder<TRelationEntity, TRootEntity>.AndWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>)\n  nameWithType.vb: IInsertRelationBuilder(Of TRelationEntity, TRootEntity).AndWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))))\n- uid: Venflow.Commands.IInsertRelationBuilder`2.AndWith``1(Expression{Func{`0,List{``0}}})\n  name: AndWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>)\n  href: api/Venflow.Commands.IInsertRelationBuilder-2.html#Venflow_Commands_IInsertRelationBuilder_2_AndWith__1_Expression_Func__0_List___0____\n  commentId: M:Venflow.Commands.IInsertRelationBuilder`2.AndWith``1(Expression{Func{`0,List{``0}}})\n  name.vb: AndWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))))\n  fullName: Venflow.Commands.IInsertRelationBuilder<TRelationEntity, TRootEntity>.AndWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IInsertRelationBuilder(Of TRelationEntity, TRootEntity).AndWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))))\n  nameWithType: IInsertRelationBuilder<TRelationEntity, TRootEntity>.AndWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>)\n  nameWithType.vb: IInsertRelationBuilder(Of TRelationEntity, TRootEntity).AndWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))))\n- uid: Venflow.Commands.IPreCommandBuilder`2\n  name: IPreCommandBuilder<TEntity, TReturn>\n  href: api/Venflow.Commands.IPreCommandBuilder-2.html\n  commentId: T:Venflow.Commands.IPreCommandBuilder`2\n  name.vb: IPreCommandBuilder(Of TEntity, TReturn)\n  fullName: Venflow.Commands.IPreCommandBuilder<TEntity, TReturn>\n  fullName.vb: Venflow.Commands.IPreCommandBuilder(Of TEntity, TReturn)\n  nameWithType: IPreCommandBuilder<TEntity, TReturn>\n  nameWithType.vb: IPreCommandBuilder(Of TEntity, TReturn)\n- uid: Venflow.Commands.IPreCommandBuilder`2.AddFormatter\n  name: AddFormatter()\n  href: api/Venflow.Commands.IPreCommandBuilder-2.html#Venflow_Commands_IPreCommandBuilder_2_AddFormatter\n  commentId: M:Venflow.Commands.IPreCommandBuilder`2.AddFormatter\n  fullName: Venflow.Commands.IPreCommandBuilder<TEntity, TReturn>.AddFormatter()\n  fullName.vb: Venflow.Commands.IPreCommandBuilder(Of TEntity, TReturn).AddFormatter()\n  nameWithType: IPreCommandBuilder<TEntity, TReturn>.AddFormatter()\n  nameWithType.vb: IPreCommandBuilder(Of TEntity, TReturn).AddFormatter()\n- uid: Venflow.Commands.IPreCommandBuilder`2.AddFormatter*\n  name: AddFormatter\n  href: api/Venflow.Commands.IPreCommandBuilder-2.html#Venflow_Commands_IPreCommandBuilder_2_AddFormatter_\n  commentId: Overload:Venflow.Commands.IPreCommandBuilder`2.AddFormatter\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IPreCommandBuilder<TEntity, TReturn>.AddFormatter\n  fullName.vb: Venflow.Commands.IPreCommandBuilder(Of TEntity, TReturn).AddFormatter\n  nameWithType: IPreCommandBuilder<TEntity, TReturn>.AddFormatter\n  nameWithType.vb: IPreCommandBuilder(Of TEntity, TReturn).AddFormatter\n- uid: Venflow.Commands.IQueryCommand`2\n  name: IQueryCommand<TEntity, TReturn>\n  href: api/Venflow.Commands.IQueryCommand-2.html\n  commentId: T:Venflow.Commands.IQueryCommand`2\n  name.vb: IQueryCommand(Of TEntity, TReturn)\n  fullName: Venflow.Commands.IQueryCommand<TEntity, TReturn>\n  fullName.vb: Venflow.Commands.IQueryCommand(Of TEntity, TReturn)\n  nameWithType: IQueryCommand<TEntity, TReturn>\n  nameWithType.vb: IQueryCommand(Of TEntity, TReturn)\n- uid: Venflow.Commands.IQueryCommand`2.PrepareAsync(CancellationToken)\n  name: PrepareAsync(CancellationToken)\n  href: api/Venflow.Commands.IQueryCommand-2.html#Venflow_Commands_IQueryCommand_2_PrepareAsync_CancellationToken_\n  commentId: M:Venflow.Commands.IQueryCommand`2.PrepareAsync(CancellationToken)\n  fullName: Venflow.Commands.IQueryCommand<TEntity, TReturn>.PrepareAsync(CancellationToken)\n  fullName.vb: Venflow.Commands.IQueryCommand(Of TEntity, TReturn).PrepareAsync(CancellationToken)\n  nameWithType: IQueryCommand<TEntity, TReturn>.PrepareAsync(CancellationToken)\n  nameWithType.vb: IQueryCommand(Of TEntity, TReturn).PrepareAsync(CancellationToken)\n- uid: Venflow.Commands.IQueryCommand`2.PrepareAsync*\n  name: PrepareAsync\n  href: api/Venflow.Commands.IQueryCommand-2.html#Venflow_Commands_IQueryCommand_2_PrepareAsync_\n  commentId: Overload:Venflow.Commands.IQueryCommand`2.PrepareAsync\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IQueryCommand<TEntity, TReturn>.PrepareAsync\n  fullName.vb: Venflow.Commands.IQueryCommand(Of TEntity, TReturn).PrepareAsync\n  nameWithType: IQueryCommand<TEntity, TReturn>.PrepareAsync\n  nameWithType.vb: IQueryCommand(Of TEntity, TReturn).PrepareAsync\n- uid: Venflow.Commands.IQueryCommand`2.QueryAsync(CancellationToken)\n  name: QueryAsync(CancellationToken)\n  href: api/Venflow.Commands.IQueryCommand-2.html#Venflow_Commands_IQueryCommand_2_QueryAsync_CancellationToken_\n  commentId: M:Venflow.Commands.IQueryCommand`2.QueryAsync(CancellationToken)\n  fullName: Venflow.Commands.IQueryCommand<TEntity, TReturn>.QueryAsync(CancellationToken)\n  fullName.vb: Venflow.Commands.IQueryCommand(Of TEntity, TReturn).QueryAsync(CancellationToken)\n  nameWithType: IQueryCommand<TEntity, TReturn>.QueryAsync(CancellationToken)\n  nameWithType.vb: IQueryCommand(Of TEntity, TReturn).QueryAsync(CancellationToken)\n- uid: Venflow.Commands.IQueryCommand`2.QueryAsync*\n  name: QueryAsync\n  href: api/Venflow.Commands.IQueryCommand-2.html#Venflow_Commands_IQueryCommand_2_QueryAsync_\n  commentId: Overload:Venflow.Commands.IQueryCommand`2.QueryAsync\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IQueryCommand<TEntity, TReturn>.QueryAsync\n  fullName.vb: Venflow.Commands.IQueryCommand(Of TEntity, TReturn).QueryAsync\n  nameWithType: IQueryCommand<TEntity, TReturn>.QueryAsync\n  nameWithType.vb: IQueryCommand(Of TEntity, TReturn).QueryAsync\n- uid: Venflow.Commands.IQueryCommand`2.UnprepareAsync(CancellationToken)\n  name: UnprepareAsync(CancellationToken)\n  href: api/Venflow.Commands.IQueryCommand-2.html#Venflow_Commands_IQueryCommand_2_UnprepareAsync_CancellationToken_\n  commentId: M:Venflow.Commands.IQueryCommand`2.UnprepareAsync(CancellationToken)\n  fullName: Venflow.Commands.IQueryCommand<TEntity, TReturn>.UnprepareAsync(CancellationToken)\n  fullName.vb: Venflow.Commands.IQueryCommand(Of TEntity, TReturn).UnprepareAsync(CancellationToken)\n  nameWithType: IQueryCommand<TEntity, TReturn>.UnprepareAsync(CancellationToken)\n  nameWithType.vb: IQueryCommand(Of TEntity, TReturn).UnprepareAsync(CancellationToken)\n- uid: Venflow.Commands.IQueryCommand`2.UnprepareAsync*\n  name: UnprepareAsync\n  href: api/Venflow.Commands.IQueryCommand-2.html#Venflow_Commands_IQueryCommand_2_UnprepareAsync_\n  commentId: Overload:Venflow.Commands.IQueryCommand`2.UnprepareAsync\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IQueryCommand<TEntity, TReturn>.UnprepareAsync\n  fullName.vb: Venflow.Commands.IQueryCommand(Of TEntity, TReturn).UnprepareAsync\n  nameWithType: IQueryCommand<TEntity, TReturn>.UnprepareAsync\n  nameWithType.vb: IQueryCommand(Of TEntity, TReturn).UnprepareAsync\n- uid: Venflow.Commands.IQueryCommandBuilder`2\n  name: IQueryCommandBuilder<TEntity, TReturn>\n  href: api/Venflow.Commands.IQueryCommandBuilder-2.html\n  commentId: T:Venflow.Commands.IQueryCommandBuilder`2\n  name.vb: IQueryCommandBuilder(Of TEntity, TReturn)\n  fullName: Venflow.Commands.IQueryCommandBuilder<TEntity, TReturn>\n  fullName.vb: Venflow.Commands.IQueryCommandBuilder(Of TEntity, TReturn)\n  nameWithType: IQueryCommandBuilder<TEntity, TReturn>\n  nameWithType.vb: IQueryCommandBuilder(Of TEntity, TReturn)\n- uid: Venflow.Commands.IQueryCommandBuilder`2.QueryAsync(CancellationToken)\n  name: QueryAsync(CancellationToken)\n  href: api/Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_QueryAsync_CancellationToken_\n  commentId: M:Venflow.Commands.IQueryCommandBuilder`2.QueryAsync(CancellationToken)\n  fullName: Venflow.Commands.IQueryCommandBuilder<TEntity, TReturn>.QueryAsync(CancellationToken)\n  fullName.vb: Venflow.Commands.IQueryCommandBuilder(Of TEntity, TReturn).QueryAsync(CancellationToken)\n  nameWithType: IQueryCommandBuilder<TEntity, TReturn>.QueryAsync(CancellationToken)\n  nameWithType.vb: IQueryCommandBuilder(Of TEntity, TReturn).QueryAsync(CancellationToken)\n- uid: Venflow.Commands.IQueryCommandBuilder`2.QueryAsync*\n  name: QueryAsync\n  href: api/Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_QueryAsync_\n  commentId: Overload:Venflow.Commands.IQueryCommandBuilder`2.QueryAsync\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IQueryCommandBuilder<TEntity, TReturn>.QueryAsync\n  fullName.vb: Venflow.Commands.IQueryCommandBuilder(Of TEntity, TReturn).QueryAsync\n  nameWithType: IQueryCommandBuilder<TEntity, TReturn>.QueryAsync\n  nameWithType.vb: IQueryCommandBuilder(Of TEntity, TReturn).QueryAsync\n- uid: Venflow.Commands.IQueryCommandBuilder`2.TrackChanges(System.Boolean)\n  name: TrackChanges(Boolean)\n  href: api/Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_TrackChanges_System_Boolean_\n  commentId: M:Venflow.Commands.IQueryCommandBuilder`2.TrackChanges(System.Boolean)\n  fullName: Venflow.Commands.IQueryCommandBuilder<TEntity, TReturn>.TrackChanges(System.Boolean)\n  fullName.vb: Venflow.Commands.IQueryCommandBuilder(Of TEntity, TReturn).TrackChanges(System.Boolean)\n  nameWithType: IQueryCommandBuilder<TEntity, TReturn>.TrackChanges(Boolean)\n  nameWithType.vb: IQueryCommandBuilder(Of TEntity, TReturn).TrackChanges(Boolean)\n- uid: Venflow.Commands.IQueryCommandBuilder`2.TrackChanges*\n  name: TrackChanges\n  href: api/Venflow.Commands.IQueryCommandBuilder-2.html#Venflow_Commands_IQueryCommandBuilder_2_TrackChanges_\n  commentId: Overload:Venflow.Commands.IQueryCommandBuilder`2.TrackChanges\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IQueryCommandBuilder<TEntity, TReturn>.TrackChanges\n  fullName.vb: Venflow.Commands.IQueryCommandBuilder(Of TEntity, TReturn).TrackChanges\n  nameWithType: IQueryCommandBuilder<TEntity, TReturn>.TrackChanges\n  nameWithType.vb: IQueryCommandBuilder(Of TEntity, TReturn).TrackChanges\n- uid: Venflow.Commands.IQueryRelationBuilder`3\n  name: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html\n  commentId: T:Venflow.Commands.IQueryRelationBuilder`3\n  name.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn)\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn)\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn)\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith*\n  name: ThenFullWith\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith_\n  commentId: Overload:Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenFullWith\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenFullWith\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenFullWith\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenFullWith\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith``1(Expression{Func{`0,``0}})\n  name: ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_Expression_Func__0___0___\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith``1(Expression{Func{`0,``0}})\n  name.vb: ThenFullWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)))\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenFullWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)))\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenFullWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)))\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith``1(Expression{Func{`0,IList{``0}}})\n  name: ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_Expression_Func__0_IList___0____\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith``1(Expression{Func{`0,IList{``0}}})\n  name.vb: ThenFullWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))))\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenFullWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))))\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenFullWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))))\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith``1(Expression{Func{`0,List{``0}}})\n  name: ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenFullWith__1_Expression_Func__0_List___0____\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith``1(Expression{Func{`0,List{``0}}})\n  name.vb: ThenFullWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))))\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenFullWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))))\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenFullWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))))\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith*\n  name: ThenLeftWith\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith_\n  commentId: Overload:Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenLeftWith\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenLeftWith\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenLeftWith\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenLeftWith\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith``1(Expression{Func{`0,``0}})\n  name: ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_Expression_Func__0___0___\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith``1(Expression{Func{`0,``0}})\n  name.vb: ThenLeftWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)))\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenLeftWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)))\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenLeftWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)))\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith``1(Expression{Func{`0,IList{``0}}})\n  name: ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_Expression_Func__0_IList___0____\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith``1(Expression{Func{`0,IList{``0}}})\n  name.vb: ThenLeftWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))))\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenLeftWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))))\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenLeftWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))))\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith``1(Expression{Func{`0,List{``0}}})\n  name: ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenLeftWith__1_Expression_Func__0_List___0____\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith``1(Expression{Func{`0,List{``0}}})\n  name.vb: ThenLeftWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))))\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenLeftWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))))\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenLeftWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))))\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith*\n  name: ThenRightWith\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith_\n  commentId: Overload:Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenRightWith\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenRightWith\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenRightWith\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenRightWith\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith``1(Expression{Func{`0,``0}})\n  name: ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_Expression_Func__0___0___\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith``1(Expression{Func{`0,``0}})\n  name.vb: ThenRightWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)))\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenRightWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)))\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenRightWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)))\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith``1(Expression{Func{`0,IList{``0}}})\n  name: ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_Expression_Func__0_IList___0____\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith``1(Expression{Func{`0,IList{``0}}})\n  name.vb: ThenRightWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))))\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenRightWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))))\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenRightWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))))\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith``1(Expression{Func{`0,List{``0}}})\n  name: ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenRightWith__1_Expression_Func__0_List___0____\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith``1(Expression{Func{`0,List{``0}}})\n  name.vb: ThenRightWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))))\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenRightWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))))\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenRightWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))))\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenWith*\n  name: ThenWith\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenWith_\n  commentId: Overload:Venflow.Commands.IQueryRelationBuilder`3.ThenWith\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenWith\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenWith\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenWith\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenWith\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenWith``1(Expression{Func{`0,``0}},Venflow.Enums.JoinBehaviour)\n  name: ThenWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>, JoinBehaviour)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenWith__1_Expression_Func__0___0___Venflow_Enums_JoinBehaviour_\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenWith``1(Expression{Func{`0,``0}},Venflow.Enums.JoinBehaviour)\n  name.vb: ThenWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)), JoinBehaviour)\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>, Venflow.Enums.JoinBehaviour)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)), Venflow.Enums.JoinBehaviour)\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>>, JoinBehaviour)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, TToEntity)), JoinBehaviour)\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenWith``1(Expression{Func{`0,IList{``0}}},Venflow.Enums.JoinBehaviour)\n  name: ThenWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>, JoinBehaviour)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenWith__1_Expression_Func__0_IList___0____Venflow_Enums_JoinBehaviour_\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenWith``1(Expression{Func{`0,IList{``0}}},Venflow.Enums.JoinBehaviour)\n  name.vb: ThenWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))), JoinBehaviour)\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>, Venflow.Enums.JoinBehaviour)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))), Venflow.Enums.JoinBehaviour)\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>>, JoinBehaviour)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, IList(Of TToEntity))), JoinBehaviour)\n- uid: Venflow.Commands.IQueryRelationBuilder`3.ThenWith``1(Expression{Func{`0,List{``0}}},Venflow.Enums.JoinBehaviour)\n  name: ThenWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>, JoinBehaviour)\n  href: api/Venflow.Commands.IQueryRelationBuilder-3.html#Venflow_Commands_IQueryRelationBuilder_3_ThenWith__1_Expression_Func__0_List___0____Venflow_Enums_JoinBehaviour_\n  commentId: M:Venflow.Commands.IQueryRelationBuilder`3.ThenWith``1(Expression{Func{`0,List{``0}}},Venflow.Enums.JoinBehaviour)\n  name.vb: ThenWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))), JoinBehaviour)\n  fullName: Venflow.Commands.IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>, Venflow.Enums.JoinBehaviour)\n  fullName.vb: Venflow.Commands.IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))), Venflow.Enums.JoinBehaviour)\n  nameWithType: IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>>, JoinBehaviour)\n  nameWithType.vb: IQueryRelationBuilder(Of TRelationEntity, TRootEntity, TReturn).ThenWith(Of TToEntity)(Expression(Of Func(Of TRelationEntity, List(Of TToEntity))), JoinBehaviour)\n- uid: Venflow.Commands.ISpecficVenflowCommandBuilder`2\n  name: ISpecficVenflowCommandBuilder<TCommand, TLogResult>\n  href: api/Venflow.Commands.ISpecficVenflowCommandBuilder-2.html\n  commentId: T:Venflow.Commands.ISpecficVenflowCommandBuilder`2\n  name.vb: ISpecficVenflowCommandBuilder(Of TCommand, TLogResult)\n  fullName: Venflow.Commands.ISpecficVenflowCommandBuilder<TCommand, TLogResult>\n  fullName.vb: Venflow.Commands.ISpecficVenflowCommandBuilder(Of TCommand, TLogResult)\n  nameWithType: ISpecficVenflowCommandBuilder<TCommand, TLogResult>\n  nameWithType.vb: ISpecficVenflowCommandBuilder(Of TCommand, TLogResult)\n- uid: Venflow.Commands.ISpecficVenflowCommandBuilder`2.Build\n  name: Build()\n  href: api/Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build\n  commentId: M:Venflow.Commands.ISpecficVenflowCommandBuilder`2.Build\n  fullName: Venflow.Commands.ISpecficVenflowCommandBuilder<TCommand, TLogResult>.Build()\n  fullName.vb: Venflow.Commands.ISpecficVenflowCommandBuilder(Of TCommand, TLogResult).Build()\n  nameWithType: ISpecficVenflowCommandBuilder<TCommand, TLogResult>.Build()\n  nameWithType.vb: ISpecficVenflowCommandBuilder(Of TCommand, TLogResult).Build()\n- uid: Venflow.Commands.ISpecficVenflowCommandBuilder`2.Build*\n  name: Build\n  href: api/Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Build_\n  commentId: Overload:Venflow.Commands.ISpecficVenflowCommandBuilder`2.Build\n  isSpec: \"True\"\n  fullName: Venflow.Commands.ISpecficVenflowCommandBuilder<TCommand, TLogResult>.Build\n  fullName.vb: Venflow.Commands.ISpecficVenflowCommandBuilder(Of TCommand, TLogResult).Build\n  nameWithType: ISpecficVenflowCommandBuilder<TCommand, TLogResult>.Build\n  nameWithType.vb: ISpecficVenflowCommandBuilder(Of TCommand, TLogResult).Build\n- uid: Venflow.Commands.ISpecficVenflowCommandBuilder`2.Log(System.Boolean)\n  name: Log(Boolean)\n  href: api/Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_System_Boolean_\n  commentId: M:Venflow.Commands.ISpecficVenflowCommandBuilder`2.Log(System.Boolean)\n  fullName: Venflow.Commands.ISpecficVenflowCommandBuilder<TCommand, TLogResult>.Log(System.Boolean)\n  fullName.vb: Venflow.Commands.ISpecficVenflowCommandBuilder(Of TCommand, TLogResult).Log(System.Boolean)\n  nameWithType: ISpecficVenflowCommandBuilder<TCommand, TLogResult>.Log(Boolean)\n  nameWithType.vb: ISpecficVenflowCommandBuilder(Of TCommand, TLogResult).Log(Boolean)\n- uid: Venflow.Commands.ISpecficVenflowCommandBuilder`2.Log*\n  name: Log\n  href: api/Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_Log_\n  commentId: Overload:Venflow.Commands.ISpecficVenflowCommandBuilder`2.Log\n  isSpec: \"True\"\n  fullName: Venflow.Commands.ISpecficVenflowCommandBuilder<TCommand, TLogResult>.Log\n  fullName.vb: Venflow.Commands.ISpecficVenflowCommandBuilder(Of TCommand, TLogResult).Log\n  nameWithType: ISpecficVenflowCommandBuilder<TCommand, TLogResult>.Log\n  nameWithType.vb: ISpecficVenflowCommandBuilder(Of TCommand, TLogResult).Log\n- uid: Venflow.Commands.ISpecficVenflowCommandBuilder`2.LogTo(Venflow.LoggerCallback)\n  name: LogTo(LoggerCallback)\n  href: api/Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback_\n  commentId: M:Venflow.Commands.ISpecficVenflowCommandBuilder`2.LogTo(Venflow.LoggerCallback)\n  fullName: Venflow.Commands.ISpecficVenflowCommandBuilder<TCommand, TLogResult>.LogTo(Venflow.LoggerCallback)\n  fullName.vb: Venflow.Commands.ISpecficVenflowCommandBuilder(Of TCommand, TLogResult).LogTo(Venflow.LoggerCallback)\n  nameWithType: ISpecficVenflowCommandBuilder<TCommand, TLogResult>.LogTo(LoggerCallback)\n  nameWithType.vb: ISpecficVenflowCommandBuilder(Of TCommand, TLogResult).LogTo(LoggerCallback)\n- uid: Venflow.Commands.ISpecficVenflowCommandBuilder`2.LogTo(Venflow.LoggerCallback[])\n  name: LogTo(LoggerCallback[])\n  href: api/Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_Venflow_LoggerCallback___\n  commentId: M:Venflow.Commands.ISpecficVenflowCommandBuilder`2.LogTo(Venflow.LoggerCallback[])\n  name.vb: LogTo(LoggerCallback())\n  fullName: Venflow.Commands.ISpecficVenflowCommandBuilder<TCommand, TLogResult>.LogTo(Venflow.LoggerCallback[])\n  fullName.vb: Venflow.Commands.ISpecficVenflowCommandBuilder(Of TCommand, TLogResult).LogTo(Venflow.LoggerCallback())\n  nameWithType: ISpecficVenflowCommandBuilder<TCommand, TLogResult>.LogTo(LoggerCallback[])\n  nameWithType.vb: ISpecficVenflowCommandBuilder(Of TCommand, TLogResult).LogTo(LoggerCallback())\n- uid: Venflow.Commands.ISpecficVenflowCommandBuilder`2.LogTo*\n  name: LogTo\n  href: api/Venflow.Commands.ISpecficVenflowCommandBuilder-2.html#Venflow_Commands_ISpecficVenflowCommandBuilder_2_LogTo_\n  commentId: Overload:Venflow.Commands.ISpecficVenflowCommandBuilder`2.LogTo\n  isSpec: \"True\"\n  fullName: Venflow.Commands.ISpecficVenflowCommandBuilder<TCommand, TLogResult>.LogTo\n  fullName.vb: Venflow.Commands.ISpecficVenflowCommandBuilder(Of TCommand, TLogResult).LogTo\n  nameWithType: ISpecficVenflowCommandBuilder<TCommand, TLogResult>.LogTo\n  nameWithType.vb: ISpecficVenflowCommandBuilder(Of TCommand, TLogResult).LogTo\n- uid: Venflow.Commands.IUpdateCommand`1\n  name: IUpdateCommand<TEntity>\n  href: api/Venflow.Commands.IUpdateCommand-1.html\n  commentId: T:Venflow.Commands.IUpdateCommand`1\n  name.vb: IUpdateCommand(Of TEntity)\n  fullName: Venflow.Commands.IUpdateCommand<TEntity>\n  fullName.vb: Venflow.Commands.IUpdateCommand(Of TEntity)\n  nameWithType: IUpdateCommand<TEntity>\n  nameWithType.vb: IUpdateCommand(Of TEntity)\n- uid: Venflow.Commands.IUpdateCommand`1.UpdateAsync(`0,CancellationToken)\n  name: UpdateAsync(TEntity, CancellationToken)\n  href: api/Venflow.Commands.IUpdateCommand-1.html#Venflow_Commands_IUpdateCommand_1_UpdateAsync__0_CancellationToken_\n  commentId: M:Venflow.Commands.IUpdateCommand`1.UpdateAsync(`0,CancellationToken)\n  fullName: Venflow.Commands.IUpdateCommand<TEntity>.UpdateAsync(TEntity, CancellationToken)\n  fullName.vb: Venflow.Commands.IUpdateCommand(Of TEntity).UpdateAsync(TEntity, CancellationToken)\n  nameWithType: IUpdateCommand<TEntity>.UpdateAsync(TEntity, CancellationToken)\n  nameWithType.vb: IUpdateCommand(Of TEntity).UpdateAsync(TEntity, CancellationToken)\n- uid: Venflow.Commands.IUpdateCommand`1.UpdateAsync(IEnumerable{`0},CancellationToken)\n  name: UpdateAsync(IEnumerable<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IUpdateCommand-1.html#Venflow_Commands_IUpdateCommand_1_UpdateAsync_IEnumerable__0__CancellationToken_\n  commentId: M:Venflow.Commands.IUpdateCommand`1.UpdateAsync(IEnumerable{`0},CancellationToken)\n  name.vb: UpdateAsync(IEnumerable(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IUpdateCommand<TEntity>.UpdateAsync(IEnumerable<TEntity>, CancellationToken)\n  fullName.vb: Venflow.Commands.IUpdateCommand(Of TEntity).UpdateAsync(IEnumerable(Of TEntity), CancellationToken)\n  nameWithType: IUpdateCommand<TEntity>.UpdateAsync(IEnumerable<TEntity>, CancellationToken)\n  nameWithType.vb: IUpdateCommand(Of TEntity).UpdateAsync(IEnumerable(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IUpdateCommand`1.UpdateAsync(IList{`0},CancellationToken)\n  name: UpdateAsync(IList<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IUpdateCommand-1.html#Venflow_Commands_IUpdateCommand_1_UpdateAsync_IList__0__CancellationToken_\n  commentId: M:Venflow.Commands.IUpdateCommand`1.UpdateAsync(IList{`0},CancellationToken)\n  name.vb: UpdateAsync(IList(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IUpdateCommand<TEntity>.UpdateAsync(IList<TEntity>, CancellationToken)\n  fullName.vb: Venflow.Commands.IUpdateCommand(Of TEntity).UpdateAsync(IList(Of TEntity), CancellationToken)\n  nameWithType: IUpdateCommand<TEntity>.UpdateAsync(IList<TEntity>, CancellationToken)\n  nameWithType.vb: IUpdateCommand(Of TEntity).UpdateAsync(IList(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IUpdateCommand`1.UpdateAsync*\n  name: UpdateAsync\n  href: api/Venflow.Commands.IUpdateCommand-1.html#Venflow_Commands_IUpdateCommand_1_UpdateAsync_\n  commentId: Overload:Venflow.Commands.IUpdateCommand`1.UpdateAsync\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IUpdateCommand<TEntity>.UpdateAsync\n  fullName.vb: Venflow.Commands.IUpdateCommand(Of TEntity).UpdateAsync\n  nameWithType: IUpdateCommand<TEntity>.UpdateAsync\n  nameWithType.vb: IUpdateCommand(Of TEntity).UpdateAsync\n- uid: Venflow.Commands.IUpdateCommandBuilder`1\n  name: IUpdateCommandBuilder<TEntity>\n  href: api/Venflow.Commands.IUpdateCommandBuilder-1.html\n  commentId: T:Venflow.Commands.IUpdateCommandBuilder`1\n  name.vb: IUpdateCommandBuilder(Of TEntity)\n  fullName: Venflow.Commands.IUpdateCommandBuilder<TEntity>\n  fullName.vb: Venflow.Commands.IUpdateCommandBuilder(Of TEntity)\n  nameWithType: IUpdateCommandBuilder<TEntity>\n  nameWithType.vb: IUpdateCommandBuilder(Of TEntity)\n- uid: Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(`0,CancellationToken)\n  name: UpdateAsync(TEntity, CancellationToken)\n  href: api/Venflow.Commands.IUpdateCommandBuilder-1.html#Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync__0_CancellationToken_\n  commentId: M:Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(`0,CancellationToken)\n  fullName: Venflow.Commands.IUpdateCommandBuilder<TEntity>.UpdateAsync(TEntity, CancellationToken)\n  fullName.vb: Venflow.Commands.IUpdateCommandBuilder(Of TEntity).UpdateAsync(TEntity, CancellationToken)\n  nameWithType: IUpdateCommandBuilder<TEntity>.UpdateAsync(TEntity, CancellationToken)\n  nameWithType.vb: IUpdateCommandBuilder(Of TEntity).UpdateAsync(TEntity, CancellationToken)\n- uid: Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(`0[],CancellationToken)\n  name: UpdateAsync(TEntity[], CancellationToken)\n  href: api/Venflow.Commands.IUpdateCommandBuilder-1.html#Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync__0___CancellationToken_\n  commentId: M:Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(`0[],CancellationToken)\n  name.vb: UpdateAsync(TEntity(), CancellationToken)\n  fullName: Venflow.Commands.IUpdateCommandBuilder<TEntity>.UpdateAsync(TEntity[], CancellationToken)\n  fullName.vb: Venflow.Commands.IUpdateCommandBuilder(Of TEntity).UpdateAsync(TEntity(), CancellationToken)\n  nameWithType: IUpdateCommandBuilder<TEntity>.UpdateAsync(TEntity[], CancellationToken)\n  nameWithType.vb: IUpdateCommandBuilder(Of TEntity).UpdateAsync(TEntity(), CancellationToken)\n- uid: Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(IEnumerable{`0},CancellationToken)\n  name: UpdateAsync(IEnumerable<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IUpdateCommandBuilder-1.html#Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_IEnumerable__0__CancellationToken_\n  commentId: M:Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(IEnumerable{`0},CancellationToken)\n  name.vb: UpdateAsync(IEnumerable(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IUpdateCommandBuilder<TEntity>.UpdateAsync(IEnumerable<TEntity>, CancellationToken)\n  fullName.vb: Venflow.Commands.IUpdateCommandBuilder(Of TEntity).UpdateAsync(IEnumerable(Of TEntity), CancellationToken)\n  nameWithType: IUpdateCommandBuilder<TEntity>.UpdateAsync(IEnumerable<TEntity>, CancellationToken)\n  nameWithType.vb: IUpdateCommandBuilder(Of TEntity).UpdateAsync(IEnumerable(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(IList{`0},CancellationToken)\n  name: UpdateAsync(IList<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IUpdateCommandBuilder-1.html#Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_IList__0__CancellationToken_\n  commentId: M:Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(IList{`0},CancellationToken)\n  name.vb: UpdateAsync(IList(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IUpdateCommandBuilder<TEntity>.UpdateAsync(IList<TEntity>, CancellationToken)\n  fullName.vb: Venflow.Commands.IUpdateCommandBuilder(Of TEntity).UpdateAsync(IList(Of TEntity), CancellationToken)\n  nameWithType: IUpdateCommandBuilder<TEntity>.UpdateAsync(IList<TEntity>, CancellationToken)\n  nameWithType.vb: IUpdateCommandBuilder(Of TEntity).UpdateAsync(IList(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(List{`0},CancellationToken)\n  name: UpdateAsync(List<TEntity>, CancellationToken)\n  href: api/Venflow.Commands.IUpdateCommandBuilder-1.html#Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_List__0__CancellationToken_\n  commentId: M:Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(List{`0},CancellationToken)\n  name.vb: UpdateAsync(List(Of TEntity), CancellationToken)\n  fullName: Venflow.Commands.IUpdateCommandBuilder<TEntity>.UpdateAsync(List<TEntity>, CancellationToken)\n  fullName.vb: Venflow.Commands.IUpdateCommandBuilder(Of TEntity).UpdateAsync(List(Of TEntity), CancellationToken)\n  nameWithType: IUpdateCommandBuilder<TEntity>.UpdateAsync(List<TEntity>, CancellationToken)\n  nameWithType.vb: IUpdateCommandBuilder(Of TEntity).UpdateAsync(List(Of TEntity), CancellationToken)\n- uid: Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync*\n  name: UpdateAsync\n  href: api/Venflow.Commands.IUpdateCommandBuilder-1.html#Venflow_Commands_IUpdateCommandBuilder_1_UpdateAsync_\n  commentId: Overload:Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IUpdateCommandBuilder<TEntity>.UpdateAsync\n  fullName.vb: Venflow.Commands.IUpdateCommandBuilder(Of TEntity).UpdateAsync\n  nameWithType: IUpdateCommandBuilder<TEntity>.UpdateAsync\n  nameWithType.vb: IUpdateCommandBuilder(Of TEntity).UpdateAsync\n- uid: Venflow.Commands.IVenflowCommand`1\n  name: IVenflowCommand<TEntity>\n  href: api/Venflow.Commands.IVenflowCommand-1.html\n  commentId: T:Venflow.Commands.IVenflowCommand`1\n  name.vb: IVenflowCommand(Of TEntity)\n  fullName: Venflow.Commands.IVenflowCommand<TEntity>\n  fullName.vb: Venflow.Commands.IVenflowCommand(Of TEntity)\n  nameWithType: IVenflowCommand<TEntity>\n  nameWithType.vb: IVenflowCommand(Of TEntity)\n- uid: Venflow.Commands.IVenflowCommandBuilder`1\n  name: IVenflowCommandBuilder<TEntity>\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html\n  commentId: T:Venflow.Commands.IVenflowCommandBuilder`1\n  name.vb: IVenflowCommandBuilder(Of TEntity)\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity)\n  nameWithType: IVenflowCommandBuilder<TEntity>\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity)\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.Delete\n  name: Delete()\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_Delete\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.Delete\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.Delete()\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).Delete()\n  nameWithType: IVenflowCommandBuilder<TEntity>.Delete()\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).Delete()\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.Delete*\n  name: Delete\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_Delete_\n  commentId: Overload:Venflow.Commands.IVenflowCommandBuilder`1.Delete\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.Delete\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).Delete\n  nameWithType: IVenflowCommandBuilder<TEntity>.Delete\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).Delete\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.Insert\n  name: Insert()\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_Insert\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.Insert\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.Insert()\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).Insert()\n  nameWithType: IVenflowCommandBuilder<TEntity>.Insert()\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).Insert()\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.Insert*\n  name: Insert\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_Insert_\n  commentId: Overload:Venflow.Commands.IVenflowCommandBuilder`1.Insert\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.Insert\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).Insert\n  nameWithType: IVenflowCommandBuilder<TEntity>.Insert\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).Insert\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch(Expression{Func{`0,FormattableString}})\n  name: QueryBatch(Expression<Func<TEntity, FormattableString>>)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_Expression_Func__0_FormattableString___\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch(Expression{Func{`0,FormattableString}})\n  name.vb: QueryBatch(Expression(Of Func(Of TEntity, FormattableString)))\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QueryBatch(Expression<Func<TEntity, FormattableString>>)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QueryBatch(Expression(Of Func(Of TEntity, FormattableString)))\n  nameWithType: IVenflowCommandBuilder<TEntity>.QueryBatch(Expression<Func<TEntity, FormattableString>>)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QueryBatch(Expression(Of Func(Of TEntity, FormattableString)))\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch(System.String)\n  name: QueryBatch(String)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_System_String_\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch(System.String)\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QueryBatch(System.String)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QueryBatch(System.String)\n  nameWithType: IVenflowCommandBuilder<TEntity>.QueryBatch(String)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QueryBatch(String)\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch(System.String,NpgsqlParameter[])\n  name: QueryBatch(String, NpgsqlParameter[])\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_System_String_NpgsqlParameter___\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch(System.String,NpgsqlParameter[])\n  name.vb: QueryBatch(String, NpgsqlParameter())\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QueryBatch(System.String, NpgsqlParameter[])\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QueryBatch(System.String, NpgsqlParameter())\n  nameWithType: IVenflowCommandBuilder<TEntity>.QueryBatch(String, NpgsqlParameter[])\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QueryBatch(String, NpgsqlParameter())\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch*\n  name: QueryBatch\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch_\n  commentId: Overload:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QueryBatch\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QueryBatch\n  nameWithType: IVenflowCommandBuilder<TEntity>.QueryBatch\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QueryBatch\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``1(Expression{Func{`0,``0,FormattableString}})\n  name: QueryBatch<TOne>(Expression<Func<TEntity, TOne, FormattableString>>)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__1_Expression_Func__0___0_FormattableString___\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``1(Expression{Func{`0,``0,FormattableString}})\n  name.vb: QueryBatch(Of TOne)(Expression(Of Func(Of TEntity, TOne, FormattableString)))\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QueryBatch<TOne>(Expression<Func<TEntity, TOne, FormattableString>>)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QueryBatch(Of TOne)(Expression(Of Func(Of TEntity, TOne, FormattableString)))\n  nameWithType: IVenflowCommandBuilder<TEntity>.QueryBatch<TOne>(Expression<Func<TEntity, TOne, FormattableString>>)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QueryBatch(Of TOne)(Expression(Of Func(Of TEntity, TOne, FormattableString)))\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``2(Expression{Func{`0,``0,``1,FormattableString}})\n  name: QueryBatch<TOne, TTwo>(Expression<Func<TEntity, TOne, TTwo, FormattableString>>)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__2_Expression_Func__0___0___1_FormattableString___\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``2(Expression{Func{`0,``0,``1,FormattableString}})\n  name.vb: QueryBatch(Of TOne, TTwo)(Expression(Of Func(Of TEntity, TOne, TTwo, FormattableString)))\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QueryBatch<TOne, TTwo>(Expression<Func<TEntity, TOne, TTwo, FormattableString>>)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QueryBatch(Of TOne, TTwo)(Expression(Of Func(Of TEntity, TOne, TTwo, FormattableString)))\n  nameWithType: IVenflowCommandBuilder<TEntity>.QueryBatch<TOne, TTwo>(Expression<Func<TEntity, TOne, TTwo, FormattableString>>)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QueryBatch(Of TOne, TTwo)(Expression(Of Func(Of TEntity, TOne, TTwo, FormattableString)))\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``3(Expression{Func{`0,``0,``1,``2,FormattableString}})\n  name: QueryBatch<TOne, TTwo, TThree>(Expression<Func<TEntity, TOne, TTwo, TThree, FormattableString>>)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__3_Expression_Func__0___0___1___2_FormattableString___\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``3(Expression{Func{`0,``0,``1,``2,FormattableString}})\n  name.vb: QueryBatch(Of TOne, TTwo, TThree)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, FormattableString)))\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QueryBatch<TOne, TTwo, TThree>(Expression<Func<TEntity, TOne, TTwo, TThree, FormattableString>>)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QueryBatch(Of TOne, TTwo, TThree)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, FormattableString)))\n  nameWithType: IVenflowCommandBuilder<TEntity>.QueryBatch<TOne, TTwo, TThree>(Expression<Func<TEntity, TOne, TTwo, TThree, FormattableString>>)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QueryBatch(Of TOne, TTwo, TThree)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, FormattableString)))\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``4(Expression{Func{`0,``0,``1,``2,``3,FormattableString}})\n  name: QueryBatch<TOne, TTwo, TThree, TFour>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, FormattableString>>)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__4_Expression_Func__0___0___1___2___3_FormattableString___\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``4(Expression{Func{`0,``0,``1,``2,``3,FormattableString}})\n  name.vb: QueryBatch(Of TOne, TTwo, TThree, TFour)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, FormattableString)))\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QueryBatch<TOne, TTwo, TThree, TFour>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, FormattableString>>)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QueryBatch(Of TOne, TTwo, TThree, TFour)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, FormattableString)))\n  nameWithType: IVenflowCommandBuilder<TEntity>.QueryBatch<TOne, TTwo, TThree, TFour>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, FormattableString>>)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QueryBatch(Of TOne, TTwo, TThree, TFour)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, FormattableString)))\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``5(Expression{Func{`0,``0,``1,``2,``3,``4,FormattableString}})\n  name: QueryBatch<TOne, TTwo, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString>>)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__5_Expression_Func__0___0___1___2___3___4_FormattableString___\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``5(Expression{Func{`0,``0,``1,``2,``3,``4,FormattableString}})\n  name.vb: QueryBatch(Of TOne, TTwo, TThree, TFour, TFive)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString)))\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QueryBatch<TOne, TTwo, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString>>)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QueryBatch(Of TOne, TTwo, TThree, TFour, TFive)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString)))\n  nameWithType: IVenflowCommandBuilder<TEntity>.QueryBatch<TOne, TTwo, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString>>)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QueryBatch(Of TOne, TTwo, TThree, TFour, TFive)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString)))\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``6(Expression{Func{`0,``0,``1,``2,``3,``4,``5,FormattableString}})\n  name: QueryBatch<TOne, TTwo, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString>>)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``6(Expression{Func{`0,``0,``1,``2,``3,``4,``5,FormattableString}})\n  name.vb: QueryBatch(Of TOne, TTwo, TThree, TFour, TFive, TSix)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString)))\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QueryBatch<TOne, TTwo, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString>>)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QueryBatch(Of TOne, TTwo, TThree, TFour, TFive, TSix)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString)))\n  nameWithType: IVenflowCommandBuilder<TEntity>.QueryBatch<TOne, TTwo, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString>>)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QueryBatch(Of TOne, TTwo, TThree, TFour, TFive, TSix)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString)))\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``7(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,FormattableString}})\n  name: QueryBatch<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString>>)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``7(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,FormattableString}})\n  name.vb: QueryBatch(Of TOne, TTwo, TThree, TFour, TFive, TSix, TSeven)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString)))\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QueryBatch<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString>>)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QueryBatch(Of TOne, TTwo, TThree, TFour, TFive, TSix, TSeven)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString)))\n  nameWithType: IVenflowCommandBuilder<TEntity>.QueryBatch<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString>>)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QueryBatch(Of TOne, TTwo, TThree, TFour, TFive, TSix, TSeven)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString)))\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``8(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,``7,FormattableString}})\n  name: QueryBatch<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>>)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryBatch__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``8(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,``7,FormattableString}})\n  name.vb: QueryBatch(Of TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString)))\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QueryBatch<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>>)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QueryBatch(Of TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString)))\n  nameWithType: IVenflowCommandBuilder<TEntity>.QueryBatch<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>>)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QueryBatch(Of TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString)))\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedBatch(FormattableString)\n  name: QueryInterpolatedBatch(FormattableString)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedBatch_FormattableString_\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedBatch(FormattableString)\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QueryInterpolatedBatch(FormattableString)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QueryInterpolatedBatch(FormattableString)\n  nameWithType: IVenflowCommandBuilder<TEntity>.QueryInterpolatedBatch(FormattableString)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QueryInterpolatedBatch(FormattableString)\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedBatch*\n  name: QueryInterpolatedBatch\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedBatch_\n  commentId: Overload:Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedBatch\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QueryInterpolatedBatch\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QueryInterpolatedBatch\n  nameWithType: IVenflowCommandBuilder<TEntity>.QueryInterpolatedBatch\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QueryInterpolatedBatch\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedSingle(FormattableString)\n  name: QueryInterpolatedSingle(FormattableString)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedSingle_FormattableString_\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedSingle(FormattableString)\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QueryInterpolatedSingle(FormattableString)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QueryInterpolatedSingle(FormattableString)\n  nameWithType: IVenflowCommandBuilder<TEntity>.QueryInterpolatedSingle(FormattableString)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QueryInterpolatedSingle(FormattableString)\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedSingle*\n  name: QueryInterpolatedSingle\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QueryInterpolatedSingle_\n  commentId: Overload:Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedSingle\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QueryInterpolatedSingle\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QueryInterpolatedSingle\n  nameWithType: IVenflowCommandBuilder<TEntity>.QueryInterpolatedSingle\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QueryInterpolatedSingle\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle(Expression{Func{`0,FormattableString}})\n  name: QuerySingle(Expression<Func<TEntity, FormattableString>>)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_Expression_Func__0_FormattableString___\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle(Expression{Func{`0,FormattableString}})\n  name.vb: QuerySingle(Expression(Of Func(Of TEntity, FormattableString)))\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QuerySingle(Expression<Func<TEntity, FormattableString>>)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QuerySingle(Expression(Of Func(Of TEntity, FormattableString)))\n  nameWithType: IVenflowCommandBuilder<TEntity>.QuerySingle(Expression<Func<TEntity, FormattableString>>)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QuerySingle(Expression(Of Func(Of TEntity, FormattableString)))\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle(System.String)\n  name: QuerySingle(String)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_System_String_\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle(System.String)\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QuerySingle(System.String)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QuerySingle(System.String)\n  nameWithType: IVenflowCommandBuilder<TEntity>.QuerySingle(String)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QuerySingle(String)\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle(System.String,NpgsqlParameter[])\n  name: QuerySingle(String, NpgsqlParameter[])\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_System_String_NpgsqlParameter___\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle(System.String,NpgsqlParameter[])\n  name.vb: QuerySingle(String, NpgsqlParameter())\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QuerySingle(System.String, NpgsqlParameter[])\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QuerySingle(System.String, NpgsqlParameter())\n  nameWithType: IVenflowCommandBuilder<TEntity>.QuerySingle(String, NpgsqlParameter[])\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QuerySingle(String, NpgsqlParameter())\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle*\n  name: QuerySingle\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle_\n  commentId: Overload:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QuerySingle\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QuerySingle\n  nameWithType: IVenflowCommandBuilder<TEntity>.QuerySingle\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QuerySingle\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``1(Expression{Func{`0,``0,FormattableString}})\n  name: QuerySingle<TOne>(Expression<Func<TEntity, TOne, FormattableString>>)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__1_Expression_Func__0___0_FormattableString___\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``1(Expression{Func{`0,``0,FormattableString}})\n  name.vb: QuerySingle(Of TOne)(Expression(Of Func(Of TEntity, TOne, FormattableString)))\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QuerySingle<TOne>(Expression<Func<TEntity, TOne, FormattableString>>)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QuerySingle(Of TOne)(Expression(Of Func(Of TEntity, TOne, FormattableString)))\n  nameWithType: IVenflowCommandBuilder<TEntity>.QuerySingle<TOne>(Expression<Func<TEntity, TOne, FormattableString>>)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QuerySingle(Of TOne)(Expression(Of Func(Of TEntity, TOne, FormattableString)))\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``2(Expression{Func{`0,``0,``1,FormattableString}})\n  name: QuerySingle<TOne, TTwo>(Expression<Func<TEntity, TOne, TTwo, FormattableString>>)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__2_Expression_Func__0___0___1_FormattableString___\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``2(Expression{Func{`0,``0,``1,FormattableString}})\n  name.vb: QuerySingle(Of TOne, TTwo)(Expression(Of Func(Of TEntity, TOne, TTwo, FormattableString)))\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QuerySingle<TOne, TTwo>(Expression<Func<TEntity, TOne, TTwo, FormattableString>>)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QuerySingle(Of TOne, TTwo)(Expression(Of Func(Of TEntity, TOne, TTwo, FormattableString)))\n  nameWithType: IVenflowCommandBuilder<TEntity>.QuerySingle<TOne, TTwo>(Expression<Func<TEntity, TOne, TTwo, FormattableString>>)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QuerySingle(Of TOne, TTwo)(Expression(Of Func(Of TEntity, TOne, TTwo, FormattableString)))\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``3(Expression{Func{`0,``0,``1,``2,FormattableString}})\n  name: QuerySingle<TOne, TTwo, TThree>(Expression<Func<TEntity, TOne, TTwo, TThree, FormattableString>>)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__3_Expression_Func__0___0___1___2_FormattableString___\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``3(Expression{Func{`0,``0,``1,``2,FormattableString}})\n  name.vb: QuerySingle(Of TOne, TTwo, TThree)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, FormattableString)))\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QuerySingle<TOne, TTwo, TThree>(Expression<Func<TEntity, TOne, TTwo, TThree, FormattableString>>)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QuerySingle(Of TOne, TTwo, TThree)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, FormattableString)))\n  nameWithType: IVenflowCommandBuilder<TEntity>.QuerySingle<TOne, TTwo, TThree>(Expression<Func<TEntity, TOne, TTwo, TThree, FormattableString>>)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QuerySingle(Of TOne, TTwo, TThree)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, FormattableString)))\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``4(Expression{Func{`0,``0,``1,``2,``3,FormattableString}})\n  name: QuerySingle<TOne, TTwo, TThree, TFour>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, FormattableString>>)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__4_Expression_Func__0___0___1___2___3_FormattableString___\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``4(Expression{Func{`0,``0,``1,``2,``3,FormattableString}})\n  name.vb: QuerySingle(Of TOne, TTwo, TThree, TFour)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, FormattableString)))\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QuerySingle<TOne, TTwo, TThree, TFour>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, FormattableString>>)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QuerySingle(Of TOne, TTwo, TThree, TFour)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, FormattableString)))\n  nameWithType: IVenflowCommandBuilder<TEntity>.QuerySingle<TOne, TTwo, TThree, TFour>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, FormattableString>>)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QuerySingle(Of TOne, TTwo, TThree, TFour)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, FormattableString)))\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``5(Expression{Func{`0,``0,``1,``2,``3,``4,FormattableString}})\n  name: QuerySingle<TOne, TTwo, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString>>)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__5_Expression_Func__0___0___1___2___3___4_FormattableString___\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``5(Expression{Func{`0,``0,``1,``2,``3,``4,FormattableString}})\n  name.vb: QuerySingle(Of TOne, TTwo, TThree, TFour, TFive)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString)))\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QuerySingle<TOne, TTwo, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString>>)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QuerySingle(Of TOne, TTwo, TThree, TFour, TFive)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString)))\n  nameWithType: IVenflowCommandBuilder<TEntity>.QuerySingle<TOne, TTwo, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString>>)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QuerySingle(Of TOne, TTwo, TThree, TFour, TFive)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString)))\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``6(Expression{Func{`0,``0,``1,``2,``3,``4,``5,FormattableString}})\n  name: QuerySingle<TOne, TTwo, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString>>)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``6(Expression{Func{`0,``0,``1,``2,``3,``4,``5,FormattableString}})\n  name.vb: QuerySingle(Of TOne, TTwo, TThree, TFour, TFive, TSix)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString)))\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QuerySingle<TOne, TTwo, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString>>)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QuerySingle(Of TOne, TTwo, TThree, TFour, TFive, TSix)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString)))\n  nameWithType: IVenflowCommandBuilder<TEntity>.QuerySingle<TOne, TTwo, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString>>)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QuerySingle(Of TOne, TTwo, TThree, TFour, TFive, TSix)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString)))\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``7(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,FormattableString}})\n  name: QuerySingle<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString>>)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``7(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,FormattableString}})\n  name.vb: QuerySingle(Of TOne, TTwo, TThree, TFour, TFive, TSix, TSeven)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString)))\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QuerySingle<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString>>)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QuerySingle(Of TOne, TTwo, TThree, TFour, TFive, TSix, TSeven)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString)))\n  nameWithType: IVenflowCommandBuilder<TEntity>.QuerySingle<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString>>)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QuerySingle(Of TOne, TTwo, TThree, TFour, TFive, TSix, TSeven)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString)))\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``8(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,``7,FormattableString}})\n  name: QuerySingle<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>>)\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_QuerySingle__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``8(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,``7,FormattableString}})\n  name.vb: QuerySingle(Of TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString)))\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.QuerySingle<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>>)\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).QuerySingle(Of TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString)))\n  nameWithType: IVenflowCommandBuilder<TEntity>.QuerySingle<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>>)\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).QuerySingle(Of TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight)(Expression(Of Func(Of TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString)))\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.Update\n  name: Update()\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_Update\n  commentId: M:Venflow.Commands.IVenflowCommandBuilder`1.Update\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.Update()\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).Update()\n  nameWithType: IVenflowCommandBuilder<TEntity>.Update()\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).Update()\n- uid: Venflow.Commands.IVenflowCommandBuilder`1.Update*\n  name: Update\n  href: api/Venflow.Commands.IVenflowCommandBuilder-1.html#Venflow_Commands_IVenflowCommandBuilder_1_Update_\n  commentId: Overload:Venflow.Commands.IVenflowCommandBuilder`1.Update\n  isSpec: \"True\"\n  fullName: Venflow.Commands.IVenflowCommandBuilder<TEntity>.Update\n  fullName.vb: Venflow.Commands.IVenflowCommandBuilder(Of TEntity).Update\n  nameWithType: IVenflowCommandBuilder<TEntity>.Update\n  nameWithType.vb: IVenflowCommandBuilder(Of TEntity).Update\n- uid: Venflow.Database\n  name: Database\n  href: api/Venflow.Database.html\n  commentId: T:Venflow.Database\n  fullName: Venflow.Database\n  nameWithType: Database\n- uid: Venflow.Database.#ctor(DatabaseOptionsBuilder)\n  name: Database(DatabaseOptionsBuilder)\n  href: api/Venflow.Database.html#Venflow_Database__ctor_DatabaseOptionsBuilder_\n  commentId: M:Venflow.Database.#ctor(DatabaseOptionsBuilder)\n  fullName: Venflow.Database.Database(DatabaseOptionsBuilder)\n  nameWithType: Database.Database(DatabaseOptionsBuilder)\n- uid: Venflow.Database.#ctor(System.String)\n  name: Database(String)\n  href: api/Venflow.Database.html#Venflow_Database__ctor_System_String_\n  commentId: M:Venflow.Database.#ctor(System.String)\n  fullName: Venflow.Database.Database(System.String)\n  nameWithType: Database.Database(String)\n- uid: Venflow.Database.#ctor*\n  name: Database\n  href: api/Venflow.Database.html#Venflow_Database__ctor_\n  commentId: Overload:Venflow.Database.#ctor\n  isSpec: \"True\"\n  fullName: Venflow.Database.Database\n  nameWithType: Database.Database\n- uid: Venflow.Database.BeginTransactionAsync(CancellationToken)\n  name: BeginTransactionAsync(CancellationToken)\n  href: api/Venflow.Database.html#Venflow_Database_BeginTransactionAsync_CancellationToken_\n  commentId: M:Venflow.Database.BeginTransactionAsync(CancellationToken)\n  fullName: Venflow.Database.BeginTransactionAsync(CancellationToken)\n  nameWithType: Database.BeginTransactionAsync(CancellationToken)\n- uid: Venflow.Database.BeginTransactionAsync(IsolationLevel,CancellationToken)\n  name: BeginTransactionAsync(IsolationLevel, CancellationToken)\n  href: api/Venflow.Database.html#Venflow_Database_BeginTransactionAsync_IsolationLevel_CancellationToken_\n  commentId: M:Venflow.Database.BeginTransactionAsync(IsolationLevel,CancellationToken)\n  fullName: Venflow.Database.BeginTransactionAsync(IsolationLevel, CancellationToken)\n  nameWithType: Database.BeginTransactionAsync(IsolationLevel, CancellationToken)\n- uid: Venflow.Database.BeginTransactionAsync*\n  name: BeginTransactionAsync\n  href: api/Venflow.Database.html#Venflow_Database_BeginTransactionAsync_\n  commentId: Overload:Venflow.Database.BeginTransactionAsync\n  isSpec: \"True\"\n  fullName: Venflow.Database.BeginTransactionAsync\n  nameWithType: Database.BeginTransactionAsync\n- uid: Venflow.Database.Configure(Venflow.DatabaseConfigurationOptionsBuilder)\n  name: Configure(DatabaseConfigurationOptionsBuilder)\n  href: api/Venflow.Database.html#Venflow_Database_Configure_Venflow_DatabaseConfigurationOptionsBuilder_\n  commentId: M:Venflow.Database.Configure(Venflow.DatabaseConfigurationOptionsBuilder)\n  fullName: Venflow.Database.Configure(Venflow.DatabaseConfigurationOptionsBuilder)\n  nameWithType: Database.Configure(DatabaseConfigurationOptionsBuilder)\n- uid: Venflow.Database.Configure*\n  name: Configure\n  href: api/Venflow.Database.html#Venflow_Database_Configure_\n  commentId: Overload:Venflow.Database.Configure\n  isSpec: \"True\"\n  fullName: Venflow.Database.Configure\n  nameWithType: Database.Configure\n- uid: Venflow.Database.Custom*\n  name: Custom\n  href: api/Venflow.Database.html#Venflow_Database_Custom_\n  commentId: Overload:Venflow.Database.Custom\n  isSpec: \"True\"\n  fullName: Venflow.Database.Custom\n  nameWithType: Database.Custom\n- uid: Venflow.Database.Custom``1\n  name: Custom<TEntity>()\n  href: api/Venflow.Database.html#Venflow_Database_Custom__1\n  commentId: M:Venflow.Database.Custom``1\n  name.vb: Custom(Of TEntity)()\n  fullName: Venflow.Database.Custom<TEntity>()\n  fullName.vb: Venflow.Database.Custom(Of TEntity)()\n  nameWithType: Database.Custom<TEntity>()\n  nameWithType.vb: Database.Custom(Of TEntity)()\n- uid: Venflow.Database.Dispose\n  name: Dispose()\n  href: api/Venflow.Database.html#Venflow_Database_Dispose\n  commentId: M:Venflow.Database.Dispose\n  fullName: Venflow.Database.Dispose()\n  nameWithType: Database.Dispose()\n- uid: Venflow.Database.Dispose*\n  name: Dispose\n  href: api/Venflow.Database.html#Venflow_Database_Dispose_\n  commentId: Overload:Venflow.Database.Dispose\n  isSpec: \"True\"\n  fullName: Venflow.Database.Dispose\n  nameWithType: Database.Dispose\n- uid: Venflow.Database.DisposeAsync\n  name: DisposeAsync()\n  href: api/Venflow.Database.html#Venflow_Database_DisposeAsync\n  commentId: M:Venflow.Database.DisposeAsync\n  fullName: Venflow.Database.DisposeAsync()\n  nameWithType: Database.DisposeAsync()\n- uid: Venflow.Database.DisposeAsync*\n  name: DisposeAsync\n  href: api/Venflow.Database.html#Venflow_Database_DisposeAsync_\n  commentId: Overload:Venflow.Database.DisposeAsync\n  isSpec: \"True\"\n  fullName: Venflow.Database.DisposeAsync\n  nameWithType: Database.DisposeAsync\n- uid: Venflow.Database.ExecuteAsync(System.String,CancellationToken)\n  name: ExecuteAsync(String, CancellationToken)\n  href: api/Venflow.Database.html#Venflow_Database_ExecuteAsync_System_String_CancellationToken_\n  commentId: M:Venflow.Database.ExecuteAsync(System.String,CancellationToken)\n  fullName: Venflow.Database.ExecuteAsync(System.String, CancellationToken)\n  nameWithType: Database.ExecuteAsync(String, CancellationToken)\n- uid: Venflow.Database.ExecuteAsync(System.String,IList{NpgsqlParameter},CancellationToken)\n  name: ExecuteAsync(String, IList<NpgsqlParameter>, CancellationToken)\n  href: api/Venflow.Database.html#Venflow_Database_ExecuteAsync_System_String_IList_NpgsqlParameter__CancellationToken_\n  commentId: M:Venflow.Database.ExecuteAsync(System.String,IList{NpgsqlParameter},CancellationToken)\n  name.vb: ExecuteAsync(String, IList(Of NpgsqlParameter), CancellationToken)\n  fullName: Venflow.Database.ExecuteAsync(System.String, IList<NpgsqlParameter>, CancellationToken)\n  fullName.vb: Venflow.Database.ExecuteAsync(System.String, IList(Of NpgsqlParameter), CancellationToken)\n  nameWithType: Database.ExecuteAsync(String, IList<NpgsqlParameter>, CancellationToken)\n  nameWithType.vb: Database.ExecuteAsync(String, IList(Of NpgsqlParameter), CancellationToken)\n- uid: Venflow.Database.ExecuteAsync(System.String,NpgsqlParameter[])\n  name: ExecuteAsync(String, NpgsqlParameter[])\n  href: api/Venflow.Database.html#Venflow_Database_ExecuteAsync_System_String_NpgsqlParameter___\n  commentId: M:Venflow.Database.ExecuteAsync(System.String,NpgsqlParameter[])\n  name.vb: ExecuteAsync(String, NpgsqlParameter())\n  fullName: Venflow.Database.ExecuteAsync(System.String, NpgsqlParameter[])\n  fullName.vb: Venflow.Database.ExecuteAsync(System.String, NpgsqlParameter())\n  nameWithType: Database.ExecuteAsync(String, NpgsqlParameter[])\n  nameWithType.vb: Database.ExecuteAsync(String, NpgsqlParameter())\n- uid: Venflow.Database.ExecuteAsync*\n  name: ExecuteAsync\n  href: api/Venflow.Database.html#Venflow_Database_ExecuteAsync_\n  commentId: Overload:Venflow.Database.ExecuteAsync\n  isSpec: \"True\"\n  fullName: Venflow.Database.ExecuteAsync\n  nameWithType: Database.ExecuteAsync\n- uid: Venflow.Database.ExecuteAsync``1(System.String,CancellationToken)\n  name: ExecuteAsync<T>(String, CancellationToken)\n  href: api/Venflow.Database.html#Venflow_Database_ExecuteAsync__1_System_String_CancellationToken_\n  commentId: M:Venflow.Database.ExecuteAsync``1(System.String,CancellationToken)\n  name.vb: ExecuteAsync(Of T)(String, CancellationToken)\n  fullName: Venflow.Database.ExecuteAsync<T>(System.String, CancellationToken)\n  fullName.vb: Venflow.Database.ExecuteAsync(Of T)(System.String, CancellationToken)\n  nameWithType: Database.ExecuteAsync<T>(String, CancellationToken)\n  nameWithType.vb: Database.ExecuteAsync(Of T)(String, CancellationToken)\n- uid: Venflow.Database.ExecuteAsync``1(System.String,IList{NpgsqlParameter},CancellationToken)\n  name: ExecuteAsync<T>(String, IList<NpgsqlParameter>, CancellationToken)\n  href: api/Venflow.Database.html#Venflow_Database_ExecuteAsync__1_System_String_IList_NpgsqlParameter__CancellationToken_\n  commentId: M:Venflow.Database.ExecuteAsync``1(System.String,IList{NpgsqlParameter},CancellationToken)\n  name.vb: ExecuteAsync(Of T)(String, IList(Of NpgsqlParameter), CancellationToken)\n  fullName: Venflow.Database.ExecuteAsync<T>(System.String, IList<NpgsqlParameter>, CancellationToken)\n  fullName.vb: Venflow.Database.ExecuteAsync(Of T)(System.String, IList(Of NpgsqlParameter), CancellationToken)\n  nameWithType: Database.ExecuteAsync<T>(String, IList<NpgsqlParameter>, CancellationToken)\n  nameWithType.vb: Database.ExecuteAsync(Of T)(String, IList(Of NpgsqlParameter), CancellationToken)\n- uid: Venflow.Database.ExecuteAsync``1(System.String,NpgsqlParameter[])\n  name: ExecuteAsync<T>(String, NpgsqlParameter[])\n  href: api/Venflow.Database.html#Venflow_Database_ExecuteAsync__1_System_String_NpgsqlParameter___\n  commentId: M:Venflow.Database.ExecuteAsync``1(System.String,NpgsqlParameter[])\n  name.vb: ExecuteAsync(Of T)(String, NpgsqlParameter())\n  fullName: Venflow.Database.ExecuteAsync<T>(System.String, NpgsqlParameter[])\n  fullName.vb: Venflow.Database.ExecuteAsync(Of T)(System.String, NpgsqlParameter())\n  nameWithType: Database.ExecuteAsync<T>(String, NpgsqlParameter[])\n  nameWithType.vb: Database.ExecuteAsync(Of T)(String, NpgsqlParameter())\n- uid: Venflow.Database.ExecuteInterpolatedAsync(FormattableString,CancellationToken)\n  name: ExecuteInterpolatedAsync(FormattableString, CancellationToken)\n  href: api/Venflow.Database.html#Venflow_Database_ExecuteInterpolatedAsync_FormattableString_CancellationToken_\n  commentId: M:Venflow.Database.ExecuteInterpolatedAsync(FormattableString,CancellationToken)\n  fullName: Venflow.Database.ExecuteInterpolatedAsync(FormattableString, CancellationToken)\n  nameWithType: Database.ExecuteInterpolatedAsync(FormattableString, CancellationToken)\n- uid: Venflow.Database.ExecuteInterpolatedAsync*\n  name: ExecuteInterpolatedAsync\n  href: api/Venflow.Database.html#Venflow_Database_ExecuteInterpolatedAsync_\n  commentId: Overload:Venflow.Database.ExecuteInterpolatedAsync\n  isSpec: \"True\"\n  fullName: Venflow.Database.ExecuteInterpolatedAsync\n  nameWithType: Database.ExecuteInterpolatedAsync\n- uid: Venflow.Database.ExecuteInterpolatedAsync``1(FormattableString,CancellationToken)\n  name: ExecuteInterpolatedAsync<T>(FormattableString, CancellationToken)\n  href: api/Venflow.Database.html#Venflow_Database_ExecuteInterpolatedAsync__1_FormattableString_CancellationToken_\n  commentId: M:Venflow.Database.ExecuteInterpolatedAsync``1(FormattableString,CancellationToken)\n  name.vb: ExecuteInterpolatedAsync(Of T)(FormattableString, CancellationToken)\n  fullName: Venflow.Database.ExecuteInterpolatedAsync<T>(FormattableString, CancellationToken)\n  fullName.vb: Venflow.Database.ExecuteInterpolatedAsync(Of T)(FormattableString, CancellationToken)\n  nameWithType: Database.ExecuteInterpolatedAsync<T>(FormattableString, CancellationToken)\n  nameWithType.vb: Database.ExecuteInterpolatedAsync(Of T)(FormattableString, CancellationToken)\n- uid: Venflow.Database.GetConnection\n  name: GetConnection()\n  href: api/Venflow.Database.html#Venflow_Database_GetConnection\n  commentId: M:Venflow.Database.GetConnection\n  fullName: Venflow.Database.GetConnection()\n  nameWithType: Database.GetConnection()\n- uid: Venflow.Database.GetConnection*\n  name: GetConnection\n  href: api/Venflow.Database.html#Venflow_Database_GetConnection_\n  commentId: Overload:Venflow.Database.GetConnection\n  isSpec: \"True\"\n  fullName: Venflow.Database.GetConnection\n  nameWithType: Database.GetConnection\n- uid: Venflow.DatabaseConfigurationOptionsBuilder\n  name: DatabaseConfigurationOptionsBuilder\n  href: api/Venflow.DatabaseConfigurationOptionsBuilder.html\n  commentId: T:Venflow.DatabaseConfigurationOptionsBuilder\n  fullName: Venflow.DatabaseConfigurationOptionsBuilder\n  nameWithType: DatabaseConfigurationOptionsBuilder\n- uid: Venflow.DatabaseConfigurationOptionsBuilder.RegisterPostgresEnum*\n  name: RegisterPostgresEnum\n  href: api/Venflow.DatabaseConfigurationOptionsBuilder.html#Venflow_DatabaseConfigurationOptionsBuilder_RegisterPostgresEnum_\n  commentId: Overload:Venflow.DatabaseConfigurationOptionsBuilder.RegisterPostgresEnum\n  isSpec: \"True\"\n  fullName: Venflow.DatabaseConfigurationOptionsBuilder.RegisterPostgresEnum\n  nameWithType: DatabaseConfigurationOptionsBuilder.RegisterPostgresEnum\n- uid: Venflow.DatabaseConfigurationOptionsBuilder.RegisterPostgresEnum``1(System.Nullable{System.String},System.Nullable{INpgsqlNameTranslator})\n  name: RegisterPostgresEnum<TEnum>(Nullable<String>, Nullable<INpgsqlNameTranslator>)\n  href: api/Venflow.DatabaseConfigurationOptionsBuilder.html#Venflow_DatabaseConfigurationOptionsBuilder_RegisterPostgresEnum__1_System_Nullable_System_String__System_Nullable_INpgsqlNameTranslator__\n  commentId: M:Venflow.DatabaseConfigurationOptionsBuilder.RegisterPostgresEnum``1(System.Nullable{System.String},System.Nullable{INpgsqlNameTranslator})\n  name.vb: RegisterPostgresEnum(Of TEnum)(Nullable(Of String), Nullable(Of INpgsqlNameTranslator))\n  fullName: Venflow.DatabaseConfigurationOptionsBuilder.RegisterPostgresEnum<TEnum>(System.Nullable<System.String>, System.Nullable<INpgsqlNameTranslator>)\n  fullName.vb: Venflow.DatabaseConfigurationOptionsBuilder.RegisterPostgresEnum(Of TEnum)(System.Nullable(Of System.String), System.Nullable(Of INpgsqlNameTranslator))\n  nameWithType: DatabaseConfigurationOptionsBuilder.RegisterPostgresEnum<TEnum>(Nullable<String>, Nullable<INpgsqlNameTranslator>)\n  nameWithType.vb: DatabaseConfigurationOptionsBuilder.RegisterPostgresEnum(Of TEnum)(Nullable(Of String), Nullable(Of INpgsqlNameTranslator))\n- uid: Venflow.DatabaseConfigurationOptionsBuilder.SetNamingConvention(INpgsqlNameTranslator)\n  name: SetNamingConvention(INpgsqlNameTranslator)\n  href: api/Venflow.DatabaseConfigurationOptionsBuilder.html#Venflow_DatabaseConfigurationOptionsBuilder_SetNamingConvention_INpgsqlNameTranslator_\n  commentId: M:Venflow.DatabaseConfigurationOptionsBuilder.SetNamingConvention(INpgsqlNameTranslator)\n  fullName: Venflow.DatabaseConfigurationOptionsBuilder.SetNamingConvention(INpgsqlNameTranslator)\n  nameWithType: DatabaseConfigurationOptionsBuilder.SetNamingConvention(INpgsqlNameTranslator)\n- uid: Venflow.DatabaseConfigurationOptionsBuilder.SetNamingConvention*\n  name: SetNamingConvention\n  href: api/Venflow.DatabaseConfigurationOptionsBuilder.html#Venflow_DatabaseConfigurationOptionsBuilder_SetNamingConvention_\n  commentId: Overload:Venflow.DatabaseConfigurationOptionsBuilder.SetNamingConvention\n  isSpec: \"True\"\n  fullName: Venflow.DatabaseConfigurationOptionsBuilder.SetNamingConvention\n  nameWithType: DatabaseConfigurationOptionsBuilder.SetNamingConvention\n- uid: Venflow.DatabaseConfigurationOptionsBuilder.SetNamingConvention``1\n  name: SetNamingConvention<T>()\n  href: api/Venflow.DatabaseConfigurationOptionsBuilder.html#Venflow_DatabaseConfigurationOptionsBuilder_SetNamingConvention__1\n  commentId: M:Venflow.DatabaseConfigurationOptionsBuilder.SetNamingConvention``1\n  name.vb: SetNamingConvention(Of T)()\n  fullName: Venflow.DatabaseConfigurationOptionsBuilder.SetNamingConvention<T>()\n  fullName.vb: Venflow.DatabaseConfigurationOptionsBuilder.SetNamingConvention(Of T)()\n  nameWithType: DatabaseConfigurationOptionsBuilder.SetNamingConvention<T>()\n  nameWithType.vb: DatabaseConfigurationOptionsBuilder.SetNamingConvention(Of T)()\n- uid: Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations(Assembly)\n  name: UseConfigurations(Assembly)\n  href: api/Venflow.DatabaseConfigurationOptionsBuilder.html#Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations_Assembly_\n  commentId: M:Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations(Assembly)\n  fullName: Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations(Assembly)\n  nameWithType: DatabaseConfigurationOptionsBuilder.UseConfigurations(Assembly)\n- uid: Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations(Assembly[])\n  name: UseConfigurations(Assembly[])\n  href: api/Venflow.DatabaseConfigurationOptionsBuilder.html#Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations_Assembly___\n  commentId: M:Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations(Assembly[])\n  name.vb: UseConfigurations(Assembly())\n  fullName: Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations(Assembly[])\n  fullName.vb: Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations(Assembly())\n  nameWithType: DatabaseConfigurationOptionsBuilder.UseConfigurations(Assembly[])\n  nameWithType.vb: DatabaseConfigurationOptionsBuilder.UseConfigurations(Assembly())\n- uid: Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations*\n  name: UseConfigurations\n  href: api/Venflow.DatabaseConfigurationOptionsBuilder.html#Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations_\n  commentId: Overload:Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations\n  isSpec: \"True\"\n  fullName: Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations\n  nameWithType: DatabaseConfigurationOptionsBuilder.UseConfigurations\n- uid: Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations``1\n  name: UseConfigurations<T>()\n  href: api/Venflow.DatabaseConfigurationOptionsBuilder.html#Venflow_DatabaseConfigurationOptionsBuilder_UseConfigurations__1\n  commentId: M:Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations``1\n  name.vb: UseConfigurations(Of T)()\n  fullName: Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations<T>()\n  fullName.vb: Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations(Of T)()\n  nameWithType: DatabaseConfigurationOptionsBuilder.UseConfigurations<T>()\n  nameWithType.vb: DatabaseConfigurationOptionsBuilder.UseConfigurations(Of T)()\n- uid: Venflow.DatabaseOptionsBuilder`1\n  name: DatabaseOptionsBuilder<TDatabase>\n  href: api/Venflow.DatabaseOptionsBuilder-1.html\n  commentId: T:Venflow.DatabaseOptionsBuilder`1\n  name.vb: DatabaseOptionsBuilder(Of TDatabase)\n  fullName: Venflow.DatabaseOptionsBuilder<TDatabase>\n  fullName.vb: Venflow.DatabaseOptionsBuilder(Of TDatabase)\n  nameWithType: DatabaseOptionsBuilder<TDatabase>\n  nameWithType.vb: DatabaseOptionsBuilder(Of TDatabase)\n- uid: Venflow.DatabaseOptionsBuilder`1.LogTo(Action{System.String},System.Boolean)\n  name: LogTo(Action<String>, Boolean)\n  href: api/Venflow.DatabaseOptionsBuilder-1.html#Venflow_DatabaseOptionsBuilder_1_LogTo_Action_System_String__System_Boolean_\n  commentId: M:Venflow.DatabaseOptionsBuilder`1.LogTo(Action{System.String},System.Boolean)\n  name.vb: LogTo(Action(Of String), Boolean)\n  fullName: Venflow.DatabaseOptionsBuilder<TDatabase>.LogTo(Action<System.String>, System.Boolean)\n  fullName.vb: Venflow.DatabaseOptionsBuilder(Of TDatabase).LogTo(Action(Of System.String), System.Boolean)\n  nameWithType: DatabaseOptionsBuilder<TDatabase>.LogTo(Action<String>, Boolean)\n  nameWithType.vb: DatabaseOptionsBuilder(Of TDatabase).LogTo(Action(Of String), Boolean)\n- uid: Venflow.DatabaseOptionsBuilder`1.LogTo(Venflow.LoggerCallback)\n  name: LogTo(LoggerCallback)\n  href: api/Venflow.DatabaseOptionsBuilder-1.html#Venflow_DatabaseOptionsBuilder_1_LogTo_Venflow_LoggerCallback_\n  commentId: M:Venflow.DatabaseOptionsBuilder`1.LogTo(Venflow.LoggerCallback)\n  fullName: Venflow.DatabaseOptionsBuilder<TDatabase>.LogTo(Venflow.LoggerCallback)\n  fullName.vb: Venflow.DatabaseOptionsBuilder(Of TDatabase).LogTo(Venflow.LoggerCallback)\n  nameWithType: DatabaseOptionsBuilder<TDatabase>.LogTo(LoggerCallback)\n  nameWithType.vb: DatabaseOptionsBuilder(Of TDatabase).LogTo(LoggerCallback)\n- uid: Venflow.DatabaseOptionsBuilder`1.LogTo*\n  name: LogTo\n  href: api/Venflow.DatabaseOptionsBuilder-1.html#Venflow_DatabaseOptionsBuilder_1_LogTo_\n  commentId: Overload:Venflow.DatabaseOptionsBuilder`1.LogTo\n  isSpec: \"True\"\n  fullName: Venflow.DatabaseOptionsBuilder<TDatabase>.LogTo\n  fullName.vb: Venflow.DatabaseOptionsBuilder(Of TDatabase).LogTo\n  nameWithType: DatabaseOptionsBuilder<TDatabase>.LogTo\n  nameWithType.vb: DatabaseOptionsBuilder(Of TDatabase).LogTo\n- uid: Venflow.Enums\n  name: Venflow.Enums\n  href: api/Venflow.Enums.html\n  commentId: N:Venflow.Enums\n  fullName: Venflow.Enums\n  nameWithType: Venflow.Enums\n- uid: Venflow.Enums.CommandType\n  name: CommandType\n  href: api/Venflow.Enums.CommandType.html\n  commentId: T:Venflow.Enums.CommandType\n  fullName: Venflow.Enums.CommandType\n  nameWithType: CommandType\n- uid: Venflow.Enums.CommandType.Delete\n  name: Delete\n  href: api/Venflow.Enums.CommandType.html#Venflow_Enums_CommandType_Delete\n  commentId: F:Venflow.Enums.CommandType.Delete\n  fullName: Venflow.Enums.CommandType.Delete\n  nameWithType: CommandType.Delete\n- uid: Venflow.Enums.CommandType.DeleteBatch\n  name: DeleteBatch\n  href: api/Venflow.Enums.CommandType.html#Venflow_Enums_CommandType_DeleteBatch\n  commentId: F:Venflow.Enums.CommandType.DeleteBatch\n  fullName: Venflow.Enums.CommandType.DeleteBatch\n  nameWithType: CommandType.DeleteBatch\n- uid: Venflow.Enums.CommandType.DeleteSingle\n  name: DeleteSingle\n  href: api/Venflow.Enums.CommandType.html#Venflow_Enums_CommandType_DeleteSingle\n  commentId: F:Venflow.Enums.CommandType.DeleteSingle\n  fullName: Venflow.Enums.CommandType.DeleteSingle\n  nameWithType: CommandType.DeleteSingle\n- uid: Venflow.Enums.CommandType.Insert\n  name: Insert\n  href: api/Venflow.Enums.CommandType.html#Venflow_Enums_CommandType_Insert\n  commentId: F:Venflow.Enums.CommandType.Insert\n  fullName: Venflow.Enums.CommandType.Insert\n  nameWithType: CommandType.Insert\n- uid: Venflow.Enums.CommandType.InsertBatch\n  name: InsertBatch\n  href: api/Venflow.Enums.CommandType.html#Venflow_Enums_CommandType_InsertBatch\n  commentId: F:Venflow.Enums.CommandType.InsertBatch\n  fullName: Venflow.Enums.CommandType.InsertBatch\n  nameWithType: CommandType.InsertBatch\n- uid: Venflow.Enums.CommandType.InsertSingle\n  name: InsertSingle\n  href: api/Venflow.Enums.CommandType.html#Venflow_Enums_CommandType_InsertSingle\n  commentId: F:Venflow.Enums.CommandType.InsertSingle\n  fullName: Venflow.Enums.CommandType.InsertSingle\n  nameWithType: CommandType.InsertSingle\n- uid: Venflow.Enums.CommandType.Query\n  name: Query\n  href: api/Venflow.Enums.CommandType.html#Venflow_Enums_CommandType_Query\n  commentId: F:Venflow.Enums.CommandType.Query\n  fullName: Venflow.Enums.CommandType.Query\n  nameWithType: CommandType.Query\n- uid: Venflow.Enums.CommandType.QueryBatch\n  name: QueryBatch\n  href: api/Venflow.Enums.CommandType.html#Venflow_Enums_CommandType_QueryBatch\n  commentId: F:Venflow.Enums.CommandType.QueryBatch\n  fullName: Venflow.Enums.CommandType.QueryBatch\n  nameWithType: CommandType.QueryBatch\n- uid: Venflow.Enums.CommandType.QuerySingle\n  name: QuerySingle\n  href: api/Venflow.Enums.CommandType.html#Venflow_Enums_CommandType_QuerySingle\n  commentId: F:Venflow.Enums.CommandType.QuerySingle\n  fullName: Venflow.Enums.CommandType.QuerySingle\n  nameWithType: CommandType.QuerySingle\n- uid: Venflow.Enums.CommandType.Update\n  name: Update\n  href: api/Venflow.Enums.CommandType.html#Venflow_Enums_CommandType_Update\n  commentId: F:Venflow.Enums.CommandType.Update\n  fullName: Venflow.Enums.CommandType.Update\n  nameWithType: CommandType.Update\n- uid: Venflow.Enums.CommandType.UpdateBatch\n  name: UpdateBatch\n  href: api/Venflow.Enums.CommandType.html#Venflow_Enums_CommandType_UpdateBatch\n  commentId: F:Venflow.Enums.CommandType.UpdateBatch\n  fullName: Venflow.Enums.CommandType.UpdateBatch\n  nameWithType: CommandType.UpdateBatch\n- uid: Venflow.Enums.CommandType.UpdateSingle\n  name: UpdateSingle\n  href: api/Venflow.Enums.CommandType.html#Venflow_Enums_CommandType_UpdateSingle\n  commentId: F:Venflow.Enums.CommandType.UpdateSingle\n  fullName: Venflow.Enums.CommandType.UpdateSingle\n  nameWithType: CommandType.UpdateSingle\n- uid: Venflow.Enums.ForeignTruncateOptions\n  name: ForeignTruncateOptions\n  href: api/Venflow.Enums.ForeignTruncateOptions.html\n  commentId: T:Venflow.Enums.ForeignTruncateOptions\n  fullName: Venflow.Enums.ForeignTruncateOptions\n  nameWithType: ForeignTruncateOptions\n- uid: Venflow.Enums.ForeignTruncateOptions.Cascade\n  name: Cascade\n  href: api/Venflow.Enums.ForeignTruncateOptions.html#Venflow_Enums_ForeignTruncateOptions_Cascade\n  commentId: F:Venflow.Enums.ForeignTruncateOptions.Cascade\n  fullName: Venflow.Enums.ForeignTruncateOptions.Cascade\n  nameWithType: ForeignTruncateOptions.Cascade\n- uid: Venflow.Enums.ForeignTruncateOptions.None\n  name: None\n  href: api/Venflow.Enums.ForeignTruncateOptions.html#Venflow_Enums_ForeignTruncateOptions_None\n  commentId: F:Venflow.Enums.ForeignTruncateOptions.None\n  fullName: Venflow.Enums.ForeignTruncateOptions.None\n  nameWithType: ForeignTruncateOptions.None\n- uid: Venflow.Enums.ForeignTruncateOptions.Restrict\n  name: Restrict\n  href: api/Venflow.Enums.ForeignTruncateOptions.html#Venflow_Enums_ForeignTruncateOptions_Restrict\n  commentId: F:Venflow.Enums.ForeignTruncateOptions.Restrict\n  fullName: Venflow.Enums.ForeignTruncateOptions.Restrict\n  nameWithType: ForeignTruncateOptions.Restrict\n- uid: Venflow.Enums.IdentityTruncateOptions\n  name: IdentityTruncateOptions\n  href: api/Venflow.Enums.IdentityTruncateOptions.html\n  commentId: T:Venflow.Enums.IdentityTruncateOptions\n  fullName: Venflow.Enums.IdentityTruncateOptions\n  nameWithType: IdentityTruncateOptions\n- uid: Venflow.Enums.IdentityTruncateOptions.Continue\n  name: Continue\n  href: api/Venflow.Enums.IdentityTruncateOptions.html#Venflow_Enums_IdentityTruncateOptions_Continue\n  commentId: F:Venflow.Enums.IdentityTruncateOptions.Continue\n  fullName: Venflow.Enums.IdentityTruncateOptions.Continue\n  nameWithType: IdentityTruncateOptions.Continue\n- uid: Venflow.Enums.IdentityTruncateOptions.None\n  name: None\n  href: api/Venflow.Enums.IdentityTruncateOptions.html#Venflow_Enums_IdentityTruncateOptions_None\n  commentId: F:Venflow.Enums.IdentityTruncateOptions.None\n  fullName: Venflow.Enums.IdentityTruncateOptions.None\n  nameWithType: IdentityTruncateOptions.None\n- uid: Venflow.Enums.IdentityTruncateOptions.Restart\n  name: Restart\n  href: api/Venflow.Enums.IdentityTruncateOptions.html#Venflow_Enums_IdentityTruncateOptions_Restart\n  commentId: F:Venflow.Enums.IdentityTruncateOptions.Restart\n  fullName: Venflow.Enums.IdentityTruncateOptions.Restart\n  nameWithType: IdentityTruncateOptions.Restart\n- uid: Venflow.Enums.JoinBehaviour\n  name: JoinBehaviour\n  href: api/Venflow.Enums.JoinBehaviour.html\n  commentId: T:Venflow.Enums.JoinBehaviour\n  fullName: Venflow.Enums.JoinBehaviour\n  nameWithType: JoinBehaviour\n- uid: Venflow.Enums.JoinBehaviour.FullJoin\n  name: FullJoin\n  href: api/Venflow.Enums.JoinBehaviour.html#Venflow_Enums_JoinBehaviour_FullJoin\n  commentId: F:Venflow.Enums.JoinBehaviour.FullJoin\n  fullName: Venflow.Enums.JoinBehaviour.FullJoin\n  nameWithType: JoinBehaviour.FullJoin\n- uid: Venflow.Enums.JoinBehaviour.InnerJoin\n  name: InnerJoin\n  href: api/Venflow.Enums.JoinBehaviour.html#Venflow_Enums_JoinBehaviour_InnerJoin\n  commentId: F:Venflow.Enums.JoinBehaviour.InnerJoin\n  fullName: Venflow.Enums.JoinBehaviour.InnerJoin\n  nameWithType: JoinBehaviour.InnerJoin\n- uid: Venflow.Enums.JoinBehaviour.LeftJoin\n  name: LeftJoin\n  href: api/Venflow.Enums.JoinBehaviour.html#Venflow_Enums_JoinBehaviour_LeftJoin\n  commentId: F:Venflow.Enums.JoinBehaviour.LeftJoin\n  fullName: Venflow.Enums.JoinBehaviour.LeftJoin\n  nameWithType: JoinBehaviour.LeftJoin\n- uid: Venflow.Enums.JoinBehaviour.RightJoin\n  name: RightJoin\n  href: api/Venflow.Enums.JoinBehaviour.html#Venflow_Enums_JoinBehaviour_RightJoin\n  commentId: F:Venflow.Enums.JoinBehaviour.RightJoin\n  fullName: Venflow.Enums.JoinBehaviour.RightJoin\n  nameWithType: JoinBehaviour.RightJoin\n- uid: Venflow.Enums.LoggingBehavior\n  name: LoggingBehavior\n  href: api/Venflow.Enums.LoggingBehavior.html\n  commentId: T:Venflow.Enums.LoggingBehavior\n  fullName: Venflow.Enums.LoggingBehavior\n  nameWithType: LoggingBehavior\n- uid: Venflow.Enums.LoggingBehavior.Always\n  name: Always\n  href: api/Venflow.Enums.LoggingBehavior.html#Venflow_Enums_LoggingBehavior_Always\n  commentId: F:Venflow.Enums.LoggingBehavior.Always\n  fullName: Venflow.Enums.LoggingBehavior.Always\n  nameWithType: LoggingBehavior.Always\n- uid: Venflow.Enums.LoggingBehavior.Never\n  name: Never\n  href: api/Venflow.Enums.LoggingBehavior.html#Venflow_Enums_LoggingBehavior_Never\n  commentId: F:Venflow.Enums.LoggingBehavior.Never\n  fullName: Venflow.Enums.LoggingBehavior.Never\n  nameWithType: LoggingBehavior.Never\n- uid: Venflow.Extensions.Logging\n  name: Venflow.Extensions.Logging\n  href: api/Venflow.Extensions.Logging.html\n  commentId: N:Venflow.Extensions.Logging\n  fullName: Venflow.Extensions.Logging\n  nameWithType: Venflow.Extensions.Logging\n- uid: Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions\n  name: DatabaseOptionsBuilderExtensions\n  href: api/Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.html\n  commentId: T:Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions\n  fullName: Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions\n  nameWithType: DatabaseOptionsBuilderExtensions\n- uid: Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.UseLoggerFactory*\n  name: UseLoggerFactory\n  href: api/Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.html#Venflow_Extensions_Logging_DatabaseOptionsBuilderExtensions_UseLoggerFactory_\n  commentId: Overload:Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.UseLoggerFactory\n  isSpec: \"True\"\n  fullName: Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.UseLoggerFactory\n  nameWithType: DatabaseOptionsBuilderExtensions.UseLoggerFactory\n- uid: Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.UseLoggerFactory``1(Venflow.DatabaseOptionsBuilder{``0},ILoggerFactory,System.Boolean)\n  name: UseLoggerFactory<TDatabase>(DatabaseOptionsBuilder<TDatabase>, ILoggerFactory, Boolean)\n  href: api/Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.html#Venflow_Extensions_Logging_DatabaseOptionsBuilderExtensions_UseLoggerFactory__1_Venflow_DatabaseOptionsBuilder___0__ILoggerFactory_System_Boolean_\n  commentId: M:Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.UseLoggerFactory``1(Venflow.DatabaseOptionsBuilder{``0},ILoggerFactory,System.Boolean)\n  name.vb: UseLoggerFactory(Of TDatabase)(DatabaseOptionsBuilder(Of TDatabase), ILoggerFactory, Boolean)\n  fullName: Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.UseLoggerFactory<TDatabase>(Venflow.DatabaseOptionsBuilder<TDatabase>, ILoggerFactory, System.Boolean)\n  fullName.vb: Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.UseLoggerFactory(Of TDatabase)(Venflow.DatabaseOptionsBuilder(Of TDatabase), ILoggerFactory, System.Boolean)\n  nameWithType: DatabaseOptionsBuilderExtensions.UseLoggerFactory<TDatabase>(DatabaseOptionsBuilder<TDatabase>, ILoggerFactory, Boolean)\n  nameWithType.vb: DatabaseOptionsBuilderExtensions.UseLoggerFactory(Of TDatabase)(DatabaseOptionsBuilder(Of TDatabase), ILoggerFactory, Boolean)\n- uid: Venflow.FormattableSqlStringBuilder\n  name: FormattableSqlStringBuilder\n  href: api/Venflow.FormattableSqlStringBuilder.html\n  commentId: T:Venflow.FormattableSqlStringBuilder\n  fullName: Venflow.FormattableSqlStringBuilder\n  nameWithType: FormattableSqlStringBuilder\n- uid: Venflow.FormattableSqlStringBuilder.#ctor\n  name: FormattableSqlStringBuilder()\n  href: api/Venflow.FormattableSqlStringBuilder.html#Venflow_FormattableSqlStringBuilder__ctor\n  commentId: M:Venflow.FormattableSqlStringBuilder.#ctor\n  fullName: Venflow.FormattableSqlStringBuilder.FormattableSqlStringBuilder()\n  nameWithType: FormattableSqlStringBuilder.FormattableSqlStringBuilder()\n- uid: Venflow.FormattableSqlStringBuilder.#ctor*\n  name: FormattableSqlStringBuilder\n  href: api/Venflow.FormattableSqlStringBuilder.html#Venflow_FormattableSqlStringBuilder__ctor_\n  commentId: Overload:Venflow.FormattableSqlStringBuilder.#ctor\n  isSpec: \"True\"\n  fullName: Venflow.FormattableSqlStringBuilder.FormattableSqlStringBuilder\n  nameWithType: FormattableSqlStringBuilder.FormattableSqlStringBuilder\n- uid: Venflow.FormattableSqlStringBuilder.Append(System.String)\n  name: Append(String)\n  href: api/Venflow.FormattableSqlStringBuilder.html#Venflow_FormattableSqlStringBuilder_Append_System_String_\n  commentId: M:Venflow.FormattableSqlStringBuilder.Append(System.String)\n  fullName: Venflow.FormattableSqlStringBuilder.Append(System.String)\n  nameWithType: FormattableSqlStringBuilder.Append(String)\n- uid: Venflow.FormattableSqlStringBuilder.Append*\n  name: Append\n  href: api/Venflow.FormattableSqlStringBuilder.html#Venflow_FormattableSqlStringBuilder_Append_\n  commentId: Overload:Venflow.FormattableSqlStringBuilder.Append\n  isSpec: \"True\"\n  fullName: Venflow.FormattableSqlStringBuilder.Append\n  nameWithType: FormattableSqlStringBuilder.Append\n- uid: Venflow.FormattableSqlStringBuilder.AppendInterpolated(FormattableString)\n  name: AppendInterpolated(FormattableString)\n  href: api/Venflow.FormattableSqlStringBuilder.html#Venflow_FormattableSqlStringBuilder_AppendInterpolated_FormattableString_\n  commentId: M:Venflow.FormattableSqlStringBuilder.AppendInterpolated(FormattableString)\n  fullName: Venflow.FormattableSqlStringBuilder.AppendInterpolated(FormattableString)\n  nameWithType: FormattableSqlStringBuilder.AppendInterpolated(FormattableString)\n- uid: Venflow.FormattableSqlStringBuilder.AppendInterpolated*\n  name: AppendInterpolated\n  href: api/Venflow.FormattableSqlStringBuilder.html#Venflow_FormattableSqlStringBuilder_AppendInterpolated_\n  commentId: Overload:Venflow.FormattableSqlStringBuilder.AppendInterpolated\n  isSpec: \"True\"\n  fullName: Venflow.FormattableSqlStringBuilder.AppendInterpolated\n  nameWithType: FormattableSqlStringBuilder.AppendInterpolated\n- uid: Venflow.FormattableSqlStringBuilder.AppendInterpolatedLine(FormattableString)\n  name: AppendInterpolatedLine(FormattableString)\n  href: api/Venflow.FormattableSqlStringBuilder.html#Venflow_FormattableSqlStringBuilder_AppendInterpolatedLine_FormattableString_\n  commentId: M:Venflow.FormattableSqlStringBuilder.AppendInterpolatedLine(FormattableString)\n  fullName: Venflow.FormattableSqlStringBuilder.AppendInterpolatedLine(FormattableString)\n  nameWithType: FormattableSqlStringBuilder.AppendInterpolatedLine(FormattableString)\n- uid: Venflow.FormattableSqlStringBuilder.AppendInterpolatedLine*\n  name: AppendInterpolatedLine\n  href: api/Venflow.FormattableSqlStringBuilder.html#Venflow_FormattableSqlStringBuilder_AppendInterpolatedLine_\n  commentId: Overload:Venflow.FormattableSqlStringBuilder.AppendInterpolatedLine\n  isSpec: \"True\"\n  fullName: Venflow.FormattableSqlStringBuilder.AppendInterpolatedLine\n  nameWithType: FormattableSqlStringBuilder.AppendInterpolatedLine\n- uid: Venflow.FormattableSqlStringBuilder.AppendLine(System.String)\n  name: AppendLine(String)\n  href: api/Venflow.FormattableSqlStringBuilder.html#Venflow_FormattableSqlStringBuilder_AppendLine_System_String_\n  commentId: M:Venflow.FormattableSqlStringBuilder.AppendLine(System.String)\n  fullName: Venflow.FormattableSqlStringBuilder.AppendLine(System.String)\n  nameWithType: FormattableSqlStringBuilder.AppendLine(String)\n- uid: Venflow.FormattableSqlStringBuilder.AppendLine*\n  name: AppendLine\n  href: api/Venflow.FormattableSqlStringBuilder.html#Venflow_FormattableSqlStringBuilder_AppendLine_\n  commentId: Overload:Venflow.FormattableSqlStringBuilder.AppendLine\n  isSpec: \"True\"\n  fullName: Venflow.FormattableSqlStringBuilder.AppendLine\n  nameWithType: FormattableSqlStringBuilder.AppendLine\n- uid: Venflow.IDatabaseTransaction\n  name: IDatabaseTransaction\n  href: api/Venflow.IDatabaseTransaction.html\n  commentId: T:Venflow.IDatabaseTransaction\n  fullName: Venflow.IDatabaseTransaction\n  nameWithType: IDatabaseTransaction\n- uid: Venflow.IDatabaseTransaction.Commit\n  name: Commit()\n  href: api/Venflow.IDatabaseTransaction.html#Venflow_IDatabaseTransaction_Commit\n  commentId: M:Venflow.IDatabaseTransaction.Commit\n  fullName: Venflow.IDatabaseTransaction.Commit()\n  nameWithType: IDatabaseTransaction.Commit()\n- uid: Venflow.IDatabaseTransaction.Commit*\n  name: Commit\n  href: api/Venflow.IDatabaseTransaction.html#Venflow_IDatabaseTransaction_Commit_\n  commentId: Overload:Venflow.IDatabaseTransaction.Commit\n  isSpec: \"True\"\n  fullName: Venflow.IDatabaseTransaction.Commit\n  nameWithType: IDatabaseTransaction.Commit\n- uid: Venflow.IDatabaseTransaction.CommitAsync(CancellationToken)\n  name: CommitAsync(CancellationToken)\n  href: api/Venflow.IDatabaseTransaction.html#Venflow_IDatabaseTransaction_CommitAsync_CancellationToken_\n  commentId: M:Venflow.IDatabaseTransaction.CommitAsync(CancellationToken)\n  fullName: Venflow.IDatabaseTransaction.CommitAsync(CancellationToken)\n  nameWithType: IDatabaseTransaction.CommitAsync(CancellationToken)\n- uid: Venflow.IDatabaseTransaction.CommitAsync*\n  name: CommitAsync\n  href: api/Venflow.IDatabaseTransaction.html#Venflow_IDatabaseTransaction_CommitAsync_\n  commentId: Overload:Venflow.IDatabaseTransaction.CommitAsync\n  isSpec: \"True\"\n  fullName: Venflow.IDatabaseTransaction.CommitAsync\n  nameWithType: IDatabaseTransaction.CommitAsync\n- uid: Venflow.IDatabaseTransaction.GetNpgsqlTransaction\n  name: GetNpgsqlTransaction()\n  href: api/Venflow.IDatabaseTransaction.html#Venflow_IDatabaseTransaction_GetNpgsqlTransaction\n  commentId: M:Venflow.IDatabaseTransaction.GetNpgsqlTransaction\n  fullName: Venflow.IDatabaseTransaction.GetNpgsqlTransaction()\n  nameWithType: IDatabaseTransaction.GetNpgsqlTransaction()\n- uid: Venflow.IDatabaseTransaction.GetNpgsqlTransaction*\n  name: GetNpgsqlTransaction\n  href: api/Venflow.IDatabaseTransaction.html#Venflow_IDatabaseTransaction_GetNpgsqlTransaction_\n  commentId: Overload:Venflow.IDatabaseTransaction.GetNpgsqlTransaction\n  isSpec: \"True\"\n  fullName: Venflow.IDatabaseTransaction.GetNpgsqlTransaction\n  nameWithType: IDatabaseTransaction.GetNpgsqlTransaction\n- uid: Venflow.IDatabaseTransaction.Release(System.String)\n  name: Release(String)\n  href: api/Venflow.IDatabaseTransaction.html#Venflow_IDatabaseTransaction_Release_System_String_\n  commentId: M:Venflow.IDatabaseTransaction.Release(System.String)\n  fullName: Venflow.IDatabaseTransaction.Release(System.String)\n  nameWithType: IDatabaseTransaction.Release(String)\n- uid: Venflow.IDatabaseTransaction.Release*\n  name: Release\n  href: api/Venflow.IDatabaseTransaction.html#Venflow_IDatabaseTransaction_Release_\n  commentId: Overload:Venflow.IDatabaseTransaction.Release\n  isSpec: \"True\"\n  fullName: Venflow.IDatabaseTransaction.Release\n  nameWithType: IDatabaseTransaction.Release\n- uid: Venflow.IDatabaseTransaction.ReleaseAsync(System.String,CancellationToken)\n  name: ReleaseAsync(String, CancellationToken)\n  href: api/Venflow.IDatabaseTransaction.html#Venflow_IDatabaseTransaction_ReleaseAsync_System_String_CancellationToken_\n  commentId: M:Venflow.IDatabaseTransaction.ReleaseAsync(System.String,CancellationToken)\n  fullName: Venflow.IDatabaseTransaction.ReleaseAsync(System.String, CancellationToken)\n  nameWithType: IDatabaseTransaction.ReleaseAsync(String, CancellationToken)\n- uid: Venflow.IDatabaseTransaction.ReleaseAsync*\n  name: ReleaseAsync\n  href: api/Venflow.IDatabaseTransaction.html#Venflow_IDatabaseTransaction_ReleaseAsync_\n  commentId: Overload:Venflow.IDatabaseTransaction.ReleaseAsync\n  isSpec: \"True\"\n  fullName: Venflow.IDatabaseTransaction.ReleaseAsync\n  nameWithType: IDatabaseTransaction.ReleaseAsync\n- uid: Venflow.IDatabaseTransaction.Rollback\n  name: Rollback()\n  href: api/Venflow.IDatabaseTransaction.html#Venflow_IDatabaseTransaction_Rollback\n  commentId: M:Venflow.IDatabaseTransaction.Rollback\n  fullName: Venflow.IDatabaseTransaction.Rollback()\n  nameWithType: IDatabaseTransaction.Rollback()\n- uid: Venflow.IDatabaseTransaction.Rollback(System.String)\n  name: Rollback(String)\n  href: api/Venflow.IDatabaseTransaction.html#Venflow_IDatabaseTransaction_Rollback_System_String_\n  commentId: M:Venflow.IDatabaseTransaction.Rollback(System.String)\n  fullName: Venflow.IDatabaseTransaction.Rollback(System.String)\n  nameWithType: IDatabaseTransaction.Rollback(String)\n- uid: Venflow.IDatabaseTransaction.Rollback*\n  name: Rollback\n  href: api/Venflow.IDatabaseTransaction.html#Venflow_IDatabaseTransaction_Rollback_\n  commentId: Overload:Venflow.IDatabaseTransaction.Rollback\n  isSpec: \"True\"\n  fullName: Venflow.IDatabaseTransaction.Rollback\n  nameWithType: IDatabaseTransaction.Rollback\n- uid: Venflow.IDatabaseTransaction.RollbackAsync(CancellationToken)\n  name: RollbackAsync(CancellationToken)\n  href: api/Venflow.IDatabaseTransaction.html#Venflow_IDatabaseTransaction_RollbackAsync_CancellationToken_\n  commentId: M:Venflow.IDatabaseTransaction.RollbackAsync(CancellationToken)\n  fullName: Venflow.IDatabaseTransaction.RollbackAsync(CancellationToken)\n  nameWithType: IDatabaseTransaction.RollbackAsync(CancellationToken)\n- uid: Venflow.IDatabaseTransaction.RollbackAsync(System.String,CancellationToken)\n  name: RollbackAsync(String, CancellationToken)\n  href: api/Venflow.IDatabaseTransaction.html#Venflow_IDatabaseTransaction_RollbackAsync_System_String_CancellationToken_\n  commentId: M:Venflow.IDatabaseTransaction.RollbackAsync(System.String,CancellationToken)\n  fullName: Venflow.IDatabaseTransaction.RollbackAsync(System.String, CancellationToken)\n  nameWithType: IDatabaseTransaction.RollbackAsync(String, CancellationToken)\n- uid: Venflow.IDatabaseTransaction.RollbackAsync*\n  name: RollbackAsync\n  href: api/Venflow.IDatabaseTransaction.html#Venflow_IDatabaseTransaction_RollbackAsync_\n  commentId: Overload:Venflow.IDatabaseTransaction.RollbackAsync\n  isSpec: \"True\"\n  fullName: Venflow.IDatabaseTransaction.RollbackAsync\n  nameWithType: IDatabaseTransaction.RollbackAsync\n- uid: Venflow.IDatabaseTransaction.Save(System.String)\n  name: Save(String)\n  href: api/Venflow.IDatabaseTransaction.html#Venflow_IDatabaseTransaction_Save_System_String_\n  commentId: M:Venflow.IDatabaseTransaction.Save(System.String)\n  fullName: Venflow.IDatabaseTransaction.Save(System.String)\n  nameWithType: IDatabaseTransaction.Save(String)\n- uid: Venflow.IDatabaseTransaction.Save*\n  name: Save\n  href: api/Venflow.IDatabaseTransaction.html#Venflow_IDatabaseTransaction_Save_\n  commentId: Overload:Venflow.IDatabaseTransaction.Save\n  isSpec: \"True\"\n  fullName: Venflow.IDatabaseTransaction.Save\n  nameWithType: IDatabaseTransaction.Save\n- uid: Venflow.IDatabaseTransaction.SaveAsync(System.String,CancellationToken)\n  name: SaveAsync(String, CancellationToken)\n  href: api/Venflow.IDatabaseTransaction.html#Venflow_IDatabaseTransaction_SaveAsync_System_String_CancellationToken_\n  commentId: M:Venflow.IDatabaseTransaction.SaveAsync(System.String,CancellationToken)\n  fullName: Venflow.IDatabaseTransaction.SaveAsync(System.String, CancellationToken)\n  nameWithType: IDatabaseTransaction.SaveAsync(String, CancellationToken)\n- uid: Venflow.IDatabaseTransaction.SaveAsync*\n  name: SaveAsync\n  href: api/Venflow.IDatabaseTransaction.html#Venflow_IDatabaseTransaction_SaveAsync_\n  commentId: Overload:Venflow.IDatabaseTransaction.SaveAsync\n  isSpec: \"True\"\n  fullName: Venflow.IDatabaseTransaction.SaveAsync\n  nameWithType: IDatabaseTransaction.SaveAsync\n- uid: Venflow.IKey\n  name: IKey\n  href: api/Venflow.IKey.html\n  commentId: T:Venflow.IKey\n  fullName: Venflow.IKey\n  nameWithType: IKey\n- uid: Venflow.IKey.BoxedValue\n  name: BoxedValue\n  href: api/Venflow.IKey.html#Venflow_IKey_BoxedValue\n  commentId: P:Venflow.IKey.BoxedValue\n  fullName: Venflow.IKey.BoxedValue\n  nameWithType: IKey.BoxedValue\n- uid: Venflow.IKey.BoxedValue*\n  name: BoxedValue\n  href: api/Venflow.IKey.html#Venflow_IKey_BoxedValue_\n  commentId: Overload:Venflow.IKey.BoxedValue\n  isSpec: \"True\"\n  fullName: Venflow.IKey.BoxedValue\n  nameWithType: IKey.BoxedValue\n- uid: Venflow.IKey`2\n  name: IKey<TEntity, TKey>\n  href: api/Venflow.IKey-2.html\n  commentId: T:Venflow.IKey`2\n  name.vb: IKey(Of TEntity, TKey)\n  fullName: Venflow.IKey<TEntity, TKey>\n  fullName.vb: Venflow.IKey(Of TEntity, TKey)\n  nameWithType: IKey<TEntity, TKey>\n  nameWithType.vb: IKey(Of TEntity, TKey)\n- uid: Venflow.IKey`2.Value\n  name: Value\n  href: api/Venflow.IKey-2.html#Venflow_IKey_2_Value\n  commentId: P:Venflow.IKey`2.Value\n  fullName: Venflow.IKey<TEntity, TKey>.Value\n  fullName.vb: Venflow.IKey(Of TEntity, TKey).Value\n  nameWithType: IKey<TEntity, TKey>.Value\n  nameWithType.vb: IKey(Of TEntity, TKey).Value\n- uid: Venflow.IKey`2.Value*\n  name: Value\n  href: api/Venflow.IKey-2.html#Venflow_IKey_2_Value_\n  commentId: Overload:Venflow.IKey`2.Value\n  isSpec: \"True\"\n  fullName: Venflow.IKey<TEntity, TKey>.Value\n  fullName.vb: Venflow.IKey(Of TEntity, TKey).Value\n  nameWithType: IKey<TEntity, TKey>.Value\n  nameWithType.vb: IKey(Of TEntity, TKey).Value\n- uid: Venflow.InvalidEntityRelationException\n  name: InvalidEntityRelationException\n  href: api/Venflow.InvalidEntityRelationException.html\n  commentId: T:Venflow.InvalidEntityRelationException\n  fullName: Venflow.InvalidEntityRelationException\n  nameWithType: InvalidEntityRelationException\n- uid: Venflow.InvalidEntityRelationException.#ctor\n  name: InvalidEntityRelationException()\n  href: api/Venflow.InvalidEntityRelationException.html#Venflow_InvalidEntityRelationException__ctor\n  commentId: M:Venflow.InvalidEntityRelationException.#ctor\n  fullName: Venflow.InvalidEntityRelationException.InvalidEntityRelationException()\n  nameWithType: InvalidEntityRelationException.InvalidEntityRelationException()\n- uid: Venflow.InvalidEntityRelationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)\n  name: InvalidEntityRelationException(Serialization.SerializationInfo, Serialization.StreamingContext)\n  href: api/Venflow.InvalidEntityRelationException.html#Venflow_InvalidEntityRelationException__ctor_System_Runtime_Serialization_SerializationInfo_System_Runtime_Serialization_StreamingContext_\n  commentId: M:Venflow.InvalidEntityRelationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)\n  fullName: Venflow.InvalidEntityRelationException.InvalidEntityRelationException(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext)\n  nameWithType: InvalidEntityRelationException.InvalidEntityRelationException(Serialization.SerializationInfo, Serialization.StreamingContext)\n- uid: Venflow.InvalidEntityRelationException.#ctor(System.String)\n  name: InvalidEntityRelationException(String)\n  href: api/Venflow.InvalidEntityRelationException.html#Venflow_InvalidEntityRelationException__ctor_System_String_\n  commentId: M:Venflow.InvalidEntityRelationException.#ctor(System.String)\n  fullName: Venflow.InvalidEntityRelationException.InvalidEntityRelationException(System.String)\n  nameWithType: InvalidEntityRelationException.InvalidEntityRelationException(String)\n- uid: Venflow.InvalidEntityRelationException.#ctor(System.String,Exception)\n  name: InvalidEntityRelationException(String, Exception)\n  href: api/Venflow.InvalidEntityRelationException.html#Venflow_InvalidEntityRelationException__ctor_System_String_Exception_\n  commentId: M:Venflow.InvalidEntityRelationException.#ctor(System.String,Exception)\n  fullName: Venflow.InvalidEntityRelationException.InvalidEntityRelationException(System.String, Exception)\n  nameWithType: InvalidEntityRelationException.InvalidEntityRelationException(String, Exception)\n- uid: Venflow.InvalidEntityRelationException.#ctor*\n  name: InvalidEntityRelationException\n  href: api/Venflow.InvalidEntityRelationException.html#Venflow_InvalidEntityRelationException__ctor_\n  commentId: Overload:Venflow.InvalidEntityRelationException.#ctor\n  isSpec: \"True\"\n  fullName: Venflow.InvalidEntityRelationException.InvalidEntityRelationException\n  nameWithType: InvalidEntityRelationException.InvalidEntityRelationException\n- uid: Venflow.IParameterTypeHandler\n  name: IParameterTypeHandler\n  href: api/Venflow.IParameterTypeHandler.html\n  commentId: T:Venflow.IParameterTypeHandler\n  fullName: Venflow.IParameterTypeHandler\n  nameWithType: IParameterTypeHandler\n- uid: Venflow.IParameterTypeHandler.Handle(System.String,System.Object)\n  name: Handle(String, Object)\n  href: api/Venflow.IParameterTypeHandler.html#Venflow_IParameterTypeHandler_Handle_System_String_System_Object_\n  commentId: M:Venflow.IParameterTypeHandler.Handle(System.String,System.Object)\n  fullName: Venflow.IParameterTypeHandler.Handle(System.String, System.Object)\n  nameWithType: IParameterTypeHandler.Handle(String, Object)\n- uid: Venflow.IParameterTypeHandler.Handle*\n  name: Handle\n  href: api/Venflow.IParameterTypeHandler.html#Venflow_IParameterTypeHandler_Handle_\n  commentId: Overload:Venflow.IParameterTypeHandler.Handle\n  isSpec: \"True\"\n  fullName: Venflow.IParameterTypeHandler.Handle\n  nameWithType: IParameterTypeHandler.Handle\n- uid: Venflow.Json\n  name: Venflow.Json\n  href: api/Venflow.Json.html\n  commentId: N:Venflow.Json\n  fullName: Venflow.Json\n  nameWithType: Venflow.Json\n- uid: Venflow.Json.JsonKeyConverterFactory\n  name: JsonKeyConverterFactory\n  href: api/Venflow.Json.JsonKeyConverterFactory.html\n  commentId: T:Venflow.Json.JsonKeyConverterFactory\n  fullName: Venflow.Json.JsonKeyConverterFactory\n  nameWithType: JsonKeyConverterFactory\n- uid: Venflow.Json.JsonKeyConverterFactory.CanConvert(Type)\n  name: CanConvert(Type)\n  href: api/Venflow.Json.JsonKeyConverterFactory.html#Venflow_Json_JsonKeyConverterFactory_CanConvert_Type_\n  commentId: M:Venflow.Json.JsonKeyConverterFactory.CanConvert(Type)\n  fullName: Venflow.Json.JsonKeyConverterFactory.CanConvert(Type)\n  nameWithType: JsonKeyConverterFactory.CanConvert(Type)\n- uid: Venflow.Json.JsonKeyConverterFactory.CanConvert*\n  name: CanConvert\n  href: api/Venflow.Json.JsonKeyConverterFactory.html#Venflow_Json_JsonKeyConverterFactory_CanConvert_\n  commentId: Overload:Venflow.Json.JsonKeyConverterFactory.CanConvert\n  isSpec: \"True\"\n  fullName: Venflow.Json.JsonKeyConverterFactory.CanConvert\n  nameWithType: JsonKeyConverterFactory.CanConvert\n- uid: Venflow.Json.JsonKeyConverterFactory.CreateConverter(Type,JsonSerializerOptions)\n  name: CreateConverter(Type, JsonSerializerOptions)\n  href: api/Venflow.Json.JsonKeyConverterFactory.html#Venflow_Json_JsonKeyConverterFactory_CreateConverter_Type_JsonSerializerOptions_\n  commentId: M:Venflow.Json.JsonKeyConverterFactory.CreateConverter(Type,JsonSerializerOptions)\n  fullName: Venflow.Json.JsonKeyConverterFactory.CreateConverter(Type, JsonSerializerOptions)\n  nameWithType: JsonKeyConverterFactory.CreateConverter(Type, JsonSerializerOptions)\n- uid: Venflow.Json.JsonKeyConverterFactory.CreateConverter*\n  name: CreateConverter\n  href: api/Venflow.Json.JsonKeyConverterFactory.html#Venflow_Json_JsonKeyConverterFactory_CreateConverter_\n  commentId: Overload:Venflow.Json.JsonKeyConverterFactory.CreateConverter\n  isSpec: \"True\"\n  fullName: Venflow.Json.JsonKeyConverterFactory.CreateConverter\n  nameWithType: JsonKeyConverterFactory.CreateConverter\n- uid: Venflow.Key`2\n  name: Key<TEntity, TKey>\n  href: api/Venflow.Key-2.html\n  commentId: T:Venflow.Key`2\n  name.vb: Key(Of TEntity, TKey)\n  fullName: Venflow.Key<TEntity, TKey>\n  fullName.vb: Venflow.Key(Of TEntity, TKey)\n  nameWithType: Key<TEntity, TKey>\n  nameWithType.vb: Key(Of TEntity, TKey)\n- uid: Venflow.Key`2.#ctor(`1)\n  name: Key(TKey)\n  href: api/Venflow.Key-2.html#Venflow_Key_2__ctor__1_\n  commentId: M:Venflow.Key`2.#ctor(`1)\n  fullName: Venflow.Key<TEntity, TKey>.Key(TKey)\n  fullName.vb: Venflow.Key(Of TEntity, TKey).Key(TKey)\n  nameWithType: Key<TEntity, TKey>.Key(TKey)\n  nameWithType.vb: Key(Of TEntity, TKey).Key(TKey)\n- uid: Venflow.Key`2.#ctor*\n  name: Key\n  href: api/Venflow.Key-2.html#Venflow_Key_2__ctor_\n  commentId: Overload:Venflow.Key`2.#ctor\n  isSpec: \"True\"\n  fullName: Venflow.Key<TEntity, TKey>.Key\n  fullName.vb: Venflow.Key(Of TEntity, TKey).Key\n  nameWithType: Key<TEntity, TKey>.Key\n  nameWithType.vb: Key(Of TEntity, TKey).Key\n- uid: Venflow.Key`2.Equals(System.Nullable{System.Object})\n  name: Equals(Nullable<Object>)\n  href: api/Venflow.Key-2.html#Venflow_Key_2_Equals_System_Nullable_System_Object__\n  commentId: M:Venflow.Key`2.Equals(System.Nullable{System.Object})\n  name.vb: Equals(Nullable(Of Object))\n  fullName: Venflow.Key<TEntity, TKey>.Equals(System.Nullable<System.Object>)\n  fullName.vb: Venflow.Key(Of TEntity, TKey).Equals(System.Nullable(Of System.Object))\n  nameWithType: Key<TEntity, TKey>.Equals(Nullable<Object>)\n  nameWithType.vb: Key(Of TEntity, TKey).Equals(Nullable(Of Object))\n- uid: Venflow.Key`2.Equals(Venflow.Key{`0,`1})\n  name: Equals(Key<TEntity, TKey>)\n  href: api/Venflow.Key-2.html#Venflow_Key_2_Equals_Venflow_Key__0__1__\n  commentId: M:Venflow.Key`2.Equals(Venflow.Key{`0,`1})\n  name.vb: Equals(Key(Of TEntity, TKey))\n  fullName: Venflow.Key<TEntity, TKey>.Equals(Venflow.Key<TEntity, TKey>)\n  fullName.vb: Venflow.Key(Of TEntity, TKey).Equals(Venflow.Key(Of TEntity, TKey))\n  nameWithType: Key<TEntity, TKey>.Equals(Key<TEntity, TKey>)\n  nameWithType.vb: Key(Of TEntity, TKey).Equals(Key(Of TEntity, TKey))\n- uid: Venflow.Key`2.Equals*\n  name: Equals\n  href: api/Venflow.Key-2.html#Venflow_Key_2_Equals_\n  commentId: Overload:Venflow.Key`2.Equals\n  isSpec: \"True\"\n  fullName: Venflow.Key<TEntity, TKey>.Equals\n  fullName.vb: Venflow.Key(Of TEntity, TKey).Equals\n  nameWithType: Key<TEntity, TKey>.Equals\n  nameWithType.vb: Key(Of TEntity, TKey).Equals\n- uid: Venflow.Key`2.GetHashCode\n  name: GetHashCode()\n  href: api/Venflow.Key-2.html#Venflow_Key_2_GetHashCode\n  commentId: M:Venflow.Key`2.GetHashCode\n  fullName: Venflow.Key<TEntity, TKey>.GetHashCode()\n  fullName.vb: Venflow.Key(Of TEntity, TKey).GetHashCode()\n  nameWithType: Key<TEntity, TKey>.GetHashCode()\n  nameWithType.vb: Key(Of TEntity, TKey).GetHashCode()\n- uid: Venflow.Key`2.GetHashCode*\n  name: GetHashCode\n  href: api/Venflow.Key-2.html#Venflow_Key_2_GetHashCode_\n  commentId: Overload:Venflow.Key`2.GetHashCode\n  isSpec: \"True\"\n  fullName: Venflow.Key<TEntity, TKey>.GetHashCode\n  fullName.vb: Venflow.Key(Of TEntity, TKey).GetHashCode\n  nameWithType: Key<TEntity, TKey>.GetHashCode\n  nameWithType.vb: Key(Of TEntity, TKey).GetHashCode\n- uid: Venflow.Key`2.op_Equality(Venflow.Key{`0,`1}@,Venflow.Key{`0,`1}@)\n  name: Equality(Key<TEntity, TKey>, Key<TEntity, TKey>)\n  href: api/Venflow.Key-2.html#Venflow_Key_2_op_Equality_Venflow_Key__0__1___Venflow_Key__0__1___\n  commentId: M:Venflow.Key`2.op_Equality(Venflow.Key{`0,`1}@,Venflow.Key{`0,`1}@)\n  name.vb: Equality(ByRef Key(Of TEntity, TKey), ByRef Key(Of TEntity, TKey))\n  fullName: Venflow.Key<TEntity, TKey>.Equality(Venflow.Key<TEntity, TKey>, Venflow.Key<TEntity, TKey>)\n  fullName.vb: Venflow.Key(Of TEntity, TKey).Equality(ByRef Venflow.Key(Of TEntity, TKey), ByRef Venflow.Key(Of TEntity, TKey))\n  nameWithType: Key<TEntity, TKey>.Equality(Key<TEntity, TKey>, Key<TEntity, TKey>)\n  nameWithType.vb: Key(Of TEntity, TKey).Equality(ByRef Key(Of TEntity, TKey), ByRef Key(Of TEntity, TKey))\n- uid: Venflow.Key`2.op_Equality*\n  name: Equality\n  href: api/Venflow.Key-2.html#Venflow_Key_2_op_Equality_\n  commentId: Overload:Venflow.Key`2.op_Equality\n  isSpec: \"True\"\n  fullName: Venflow.Key<TEntity, TKey>.Equality\n  fullName.vb: Venflow.Key(Of TEntity, TKey).Equality\n  nameWithType: Key<TEntity, TKey>.Equality\n  nameWithType.vb: Key(Of TEntity, TKey).Equality\n- uid: Venflow.Key`2.op_Implicit(`1@)~Venflow.Key{`0,`1}\n  name: Implicit(TKey to Key<TEntity, TKey>)\n  href: api/Venflow.Key-2.html#Venflow_Key_2_op_Implicit__1___Venflow_Key__0__1_\n  commentId: M:Venflow.Key`2.op_Implicit(`1@)~Venflow.Key{`0,`1}\n  name.vb: Widening(ByRef TKey to Key(Of TEntity, TKey))\n  fullName: Venflow.Key<TEntity, TKey>.Implicit(TKey to Venflow.Key<TEntity, TKey>)\n  fullName.vb: Venflow.Key(Of TEntity, TKey).Widening(ByRef TKey to Venflow.Key(Of TEntity, TKey))\n  nameWithType: Key<TEntity, TKey>.Implicit(TKey to Key<TEntity, TKey>)\n  nameWithType.vb: Key(Of TEntity, TKey).Widening(ByRef TKey to Key(Of TEntity, TKey))\n- uid: Venflow.Key`2.op_Implicit(Venflow.Key{`0,`1}@)~`1\n  name: Implicit(Key<TEntity, TKey> to TKey)\n  href: api/Venflow.Key-2.html#Venflow_Key_2_op_Implicit_Venflow_Key__0__1_____1\n  commentId: M:Venflow.Key`2.op_Implicit(Venflow.Key{`0,`1}@)~`1\n  name.vb: Widening(ByRef Key(Of TEntity, TKey) to TKey)\n  fullName: Venflow.Key<TEntity, TKey>.Implicit(Venflow.Key<TEntity, TKey> to TKey)\n  fullName.vb: Venflow.Key(Of TEntity, TKey).Widening(ByRef Venflow.Key(Of TEntity, TKey) to TKey)\n  nameWithType: Key<TEntity, TKey>.Implicit(Key<TEntity, TKey> to TKey)\n  nameWithType.vb: Key(Of TEntity, TKey).Widening(ByRef Key(Of TEntity, TKey) to TKey)\n- uid: Venflow.Key`2.op_Implicit*\n  name: Implicit\n  href: api/Venflow.Key-2.html#Venflow_Key_2_op_Implicit_\n  commentId: Overload:Venflow.Key`2.op_Implicit\n  isSpec: \"True\"\n  name.vb: Widening\n  fullName: Venflow.Key<TEntity, TKey>.Implicit\n  fullName.vb: Venflow.Key(Of TEntity, TKey).Widening\n  nameWithType: Key<TEntity, TKey>.Implicit\n  nameWithType.vb: Key(Of TEntity, TKey).Widening\n- uid: Venflow.Key`2.op_Inequality(Venflow.Key{`0,`1}@,Venflow.Key{`0,`1}@)\n  name: Inequality(Key<TEntity, TKey>, Key<TEntity, TKey>)\n  href: api/Venflow.Key-2.html#Venflow_Key_2_op_Inequality_Venflow_Key__0__1___Venflow_Key__0__1___\n  commentId: M:Venflow.Key`2.op_Inequality(Venflow.Key{`0,`1}@,Venflow.Key{`0,`1}@)\n  name.vb: Inequality(ByRef Key(Of TEntity, TKey), ByRef Key(Of TEntity, TKey))\n  fullName: Venflow.Key<TEntity, TKey>.Inequality(Venflow.Key<TEntity, TKey>, Venflow.Key<TEntity, TKey>)\n  fullName.vb: Venflow.Key(Of TEntity, TKey).Inequality(ByRef Venflow.Key(Of TEntity, TKey), ByRef Venflow.Key(Of TEntity, TKey))\n  nameWithType: Key<TEntity, TKey>.Inequality(Key<TEntity, TKey>, Key<TEntity, TKey>)\n  nameWithType.vb: Key(Of TEntity, TKey).Inequality(ByRef Key(Of TEntity, TKey), ByRef Key(Of TEntity, TKey))\n- uid: Venflow.Key`2.op_Inequality*\n  name: Inequality\n  href: api/Venflow.Key-2.html#Venflow_Key_2_op_Inequality_\n  commentId: Overload:Venflow.Key`2.op_Inequality\n  isSpec: \"True\"\n  fullName: Venflow.Key<TEntity, TKey>.Inequality\n  fullName.vb: Venflow.Key(Of TEntity, TKey).Inequality\n  nameWithType: Key<TEntity, TKey>.Inequality\n  nameWithType.vb: Key(Of TEntity, TKey).Inequality\n- uid: Venflow.Key`2.ToString\n  name: ToString()\n  href: api/Venflow.Key-2.html#Venflow_Key_2_ToString\n  commentId: M:Venflow.Key`2.ToString\n  fullName: Venflow.Key<TEntity, TKey>.ToString()\n  fullName.vb: Venflow.Key(Of TEntity, TKey).ToString()\n  nameWithType: Key<TEntity, TKey>.ToString()\n  nameWithType.vb: Key(Of TEntity, TKey).ToString()\n- uid: Venflow.Key`2.ToString*\n  name: ToString\n  href: api/Venflow.Key-2.html#Venflow_Key_2_ToString_\n  commentId: Overload:Venflow.Key`2.ToString\n  isSpec: \"True\"\n  fullName: Venflow.Key<TEntity, TKey>.ToString\n  fullName.vb: Venflow.Key(Of TEntity, TKey).ToString\n  nameWithType: Key<TEntity, TKey>.ToString\n  nameWithType.vb: Key(Of TEntity, TKey).ToString\n- uid: Venflow.Key`2.Venflow#IKey#BoxedValue\n  name: IKey.BoxedValue\n  href: api/Venflow.Key-2.html#Venflow_Key_2_Venflow_IKey_BoxedValue\n  commentId: P:Venflow.Key`2.Venflow#IKey#BoxedValue\n  name.vb: Venflow.IKey.BoxedValue\n  fullName: Venflow.Key<TEntity, TKey>.Venflow.IKey.BoxedValue\n  fullName.vb: Venflow.Key(Of TEntity, TKey).Venflow.IKey.BoxedValue\n  nameWithType: Key<TEntity, TKey>.IKey.BoxedValue\n  nameWithType.vb: Key(Of TEntity, TKey).Venflow.IKey.BoxedValue\n- uid: Venflow.Key`2.Venflow#IKey#BoxedValue*\n  name: IKey.BoxedValue\n  href: api/Venflow.Key-2.html#Venflow_Key_2_Venflow_IKey_BoxedValue_\n  commentId: Overload:Venflow.Key`2.Venflow#IKey#BoxedValue\n  isSpec: \"True\"\n  name.vb: Venflow.IKey.BoxedValue\n  fullName: Venflow.Key<TEntity, TKey>.Venflow.IKey.BoxedValue\n  fullName.vb: Venflow.Key(Of TEntity, TKey).Venflow.IKey.BoxedValue\n  nameWithType: Key<TEntity, TKey>.IKey.BoxedValue\n  nameWithType.vb: Key(Of TEntity, TKey).Venflow.IKey.BoxedValue\n- uid: Venflow.Key`2.Venflow#IKey{TEntity,TKey}#Value\n  name: IKey<TEntity, TKey>.Value\n  href: api/Venflow.Key-2.html#Venflow_Key_2_Venflow_IKey_TEntity_TKey__Value\n  commentId: P:Venflow.Key`2.Venflow#IKey{TEntity,TKey}#Value\n  name.vb: Venflow.IKey<TEntity,TKey>.Value\n  fullName: Venflow.Key<TEntity, TKey>.Venflow.IKey<TEntity, TKey>.Value\n  fullName.vb: Venflow.Key(Of TEntity, TKey).Venflow.IKey<TEntity,TKey>.Value\n  nameWithType: Key<TEntity, TKey>.IKey<TEntity, TKey>.Value\n  nameWithType.vb: Key(Of TEntity, TKey).Venflow.IKey<TEntity,TKey>.Value\n- uid: Venflow.Key`2.Venflow#IKey{TEntity,TKey}#Value*\n  name: IKey<TEntity, TKey>.Value\n  href: api/Venflow.Key-2.html#Venflow_Key_2_Venflow_IKey_TEntity_TKey__Value_\n  commentId: Overload:Venflow.Key`2.Venflow#IKey{TEntity,TKey}#Value\n  isSpec: \"True\"\n  name.vb: Venflow.IKey<TEntity,TKey>.Value\n  fullName: Venflow.Key<TEntity, TKey>.Venflow.IKey<TEntity, TKey>.Value\n  fullName.vb: Venflow.Key(Of TEntity, TKey).Venflow.IKey<TEntity,TKey>.Value\n  nameWithType: Key<TEntity, TKey>.IKey<TEntity, TKey>.Value\n  nameWithType.vb: Key(Of TEntity, TKey).Venflow.IKey<TEntity,TKey>.Value\n- uid: Venflow.KeyConverter\n  name: KeyConverter\n  href: api/Venflow.KeyConverter.html\n  commentId: T:Venflow.KeyConverter\n  fullName: Venflow.KeyConverter\n  nameWithType: KeyConverter\n- uid: Venflow.KeyConverter.#ctor(Type)\n  name: KeyConverter(Type)\n  href: api/Venflow.KeyConverter.html#Venflow_KeyConverter__ctor_Type_\n  commentId: M:Venflow.KeyConverter.#ctor(Type)\n  fullName: Venflow.KeyConverter.KeyConverter(Type)\n  nameWithType: KeyConverter.KeyConverter(Type)\n- uid: Venflow.KeyConverter.#ctor*\n  name: KeyConverter\n  href: api/Venflow.KeyConverter.html#Venflow_KeyConverter__ctor_\n  commentId: Overload:Venflow.KeyConverter.#ctor\n  isSpec: \"True\"\n  fullName: Venflow.KeyConverter.KeyConverter\n  nameWithType: KeyConverter.KeyConverter\n- uid: Venflow.KeyConverter.CanConvertFrom(System.Nullable{ITypeDescriptorContext},Type)\n  name: CanConvertFrom(Nullable<ITypeDescriptorContext>, Type)\n  href: api/Venflow.KeyConverter.html#Venflow_KeyConverter_CanConvertFrom_System_Nullable_ITypeDescriptorContext__Type_\n  commentId: M:Venflow.KeyConverter.CanConvertFrom(System.Nullable{ITypeDescriptorContext},Type)\n  name.vb: CanConvertFrom(Nullable(Of ITypeDescriptorContext), Type)\n  fullName: Venflow.KeyConverter.CanConvertFrom(System.Nullable<ITypeDescriptorContext>, Type)\n  fullName.vb: Venflow.KeyConverter.CanConvertFrom(System.Nullable(Of ITypeDescriptorContext), Type)\n  nameWithType: KeyConverter.CanConvertFrom(Nullable<ITypeDescriptorContext>, Type)\n  nameWithType.vb: KeyConverter.CanConvertFrom(Nullable(Of ITypeDescriptorContext), Type)\n- uid: Venflow.KeyConverter.CanConvertFrom*\n  name: CanConvertFrom\n  href: api/Venflow.KeyConverter.html#Venflow_KeyConverter_CanConvertFrom_\n  commentId: Overload:Venflow.KeyConverter.CanConvertFrom\n  isSpec: \"True\"\n  fullName: Venflow.KeyConverter.CanConvertFrom\n  nameWithType: KeyConverter.CanConvertFrom\n- uid: Venflow.KeyConverter.CanConvertTo(System.Nullable{ITypeDescriptorContext},System.Nullable{Type})\n  name: CanConvertTo(Nullable<ITypeDescriptorContext>, Nullable<Type>)\n  href: api/Venflow.KeyConverter.html#Venflow_KeyConverter_CanConvertTo_System_Nullable_ITypeDescriptorContext__System_Nullable_Type__\n  commentId: M:Venflow.KeyConverter.CanConvertTo(System.Nullable{ITypeDescriptorContext},System.Nullable{Type})\n  name.vb: CanConvertTo(Nullable(Of ITypeDescriptorContext), Nullable(Of Type))\n  fullName: Venflow.KeyConverter.CanConvertTo(System.Nullable<ITypeDescriptorContext>, System.Nullable<Type>)\n  fullName.vb: Venflow.KeyConverter.CanConvertTo(System.Nullable(Of ITypeDescriptorContext), System.Nullable(Of Type))\n  nameWithType: KeyConverter.CanConvertTo(Nullable<ITypeDescriptorContext>, Nullable<Type>)\n  nameWithType.vb: KeyConverter.CanConvertTo(Nullable(Of ITypeDescriptorContext), Nullable(Of Type))\n- uid: Venflow.KeyConverter.CanConvertTo*\n  name: CanConvertTo\n  href: api/Venflow.KeyConverter.html#Venflow_KeyConverter_CanConvertTo_\n  commentId: Overload:Venflow.KeyConverter.CanConvertTo\n  isSpec: \"True\"\n  fullName: Venflow.KeyConverter.CanConvertTo\n  nameWithType: KeyConverter.CanConvertTo\n- uid: Venflow.KeyConverter.ConvertFrom(System.Nullable{ITypeDescriptorContext},System.Nullable{CultureInfo},System.Object)\n  name: ConvertFrom(Nullable<ITypeDescriptorContext>, Nullable<CultureInfo>, Object)\n  href: api/Venflow.KeyConverter.html#Venflow_KeyConverter_ConvertFrom_System_Nullable_ITypeDescriptorContext__System_Nullable_CultureInfo__System_Object_\n  commentId: M:Venflow.KeyConverter.ConvertFrom(System.Nullable{ITypeDescriptorContext},System.Nullable{CultureInfo},System.Object)\n  name.vb: ConvertFrom(Nullable(Of ITypeDescriptorContext), Nullable(Of CultureInfo), Object)\n  fullName: Venflow.KeyConverter.ConvertFrom(System.Nullable<ITypeDescriptorContext>, System.Nullable<CultureInfo>, System.Object)\n  fullName.vb: Venflow.KeyConverter.ConvertFrom(System.Nullable(Of ITypeDescriptorContext), System.Nullable(Of CultureInfo), System.Object)\n  nameWithType: KeyConverter.ConvertFrom(Nullable<ITypeDescriptorContext>, Nullable<CultureInfo>, Object)\n  nameWithType.vb: KeyConverter.ConvertFrom(Nullable(Of ITypeDescriptorContext), Nullable(Of CultureInfo), Object)\n- uid: Venflow.KeyConverter.ConvertFrom*\n  name: ConvertFrom\n  href: api/Venflow.KeyConverter.html#Venflow_KeyConverter_ConvertFrom_\n  commentId: Overload:Venflow.KeyConverter.ConvertFrom\n  isSpec: \"True\"\n  fullName: Venflow.KeyConverter.ConvertFrom\n  nameWithType: KeyConverter.ConvertFrom\n- uid: Venflow.KeyConverter.ConvertTo(System.Nullable{ITypeDescriptorContext},System.Nullable{CultureInfo},System.Nullable{System.Object},Type)\n  name: ConvertTo(Nullable<ITypeDescriptorContext>, Nullable<CultureInfo>, Nullable<Object>, Type)\n  href: api/Venflow.KeyConverter.html#Venflow_KeyConverter_ConvertTo_System_Nullable_ITypeDescriptorContext__System_Nullable_CultureInfo__System_Nullable_System_Object__Type_\n  commentId: M:Venflow.KeyConverter.ConvertTo(System.Nullable{ITypeDescriptorContext},System.Nullable{CultureInfo},System.Nullable{System.Object},Type)\n  name.vb: ConvertTo(Nullable(Of ITypeDescriptorContext), Nullable(Of CultureInfo), Nullable(Of Object), Type)\n  fullName: Venflow.KeyConverter.ConvertTo(System.Nullable<ITypeDescriptorContext>, System.Nullable<CultureInfo>, System.Nullable<System.Object>, Type)\n  fullName.vb: Venflow.KeyConverter.ConvertTo(System.Nullable(Of ITypeDescriptorContext), System.Nullable(Of CultureInfo), System.Nullable(Of System.Object), Type)\n  nameWithType: KeyConverter.ConvertTo(Nullable<ITypeDescriptorContext>, Nullable<CultureInfo>, Nullable<Object>, Type)\n  nameWithType.vb: KeyConverter.ConvertTo(Nullable(Of ITypeDescriptorContext), Nullable(Of CultureInfo), Nullable(Of Object), Type)\n- uid: Venflow.KeyConverter.ConvertTo*\n  name: ConvertTo\n  href: api/Venflow.KeyConverter.html#Venflow_KeyConverter_ConvertTo_\n  commentId: Overload:Venflow.KeyConverter.ConvertTo\n  isSpec: \"True\"\n  fullName: Venflow.KeyConverter.ConvertTo\n  nameWithType: KeyConverter.ConvertTo\n- uid: Venflow.KeyConverter.GetOrCreateKeyFactory*\n  name: GetOrCreateKeyFactory\n  href: api/Venflow.KeyConverter.html#Venflow_KeyConverter_GetOrCreateKeyFactory_\n  commentId: Overload:Venflow.KeyConverter.GetOrCreateKeyFactory\n  isSpec: \"True\"\n  fullName: Venflow.KeyConverter.GetOrCreateKeyFactory\n  nameWithType: KeyConverter.GetOrCreateKeyFactory\n- uid: Venflow.KeyConverter.GetOrCreateKeyFactory``1(Type)\n  name: GetOrCreateKeyFactory<TValue>(Type)\n  href: api/Venflow.KeyConverter.html#Venflow_KeyConverter_GetOrCreateKeyFactory__1_Type_\n  commentId: M:Venflow.KeyConverter.GetOrCreateKeyFactory``1(Type)\n  name.vb: GetOrCreateKeyFactory(Of TValue)(Type)\n  fullName: Venflow.KeyConverter.GetOrCreateKeyFactory<TValue>(Type)\n  fullName.vb: Venflow.KeyConverter.GetOrCreateKeyFactory(Of TValue)(Type)\n  nameWithType: KeyConverter.GetOrCreateKeyFactory<TValue>(Type)\n  nameWithType.vb: KeyConverter.GetOrCreateKeyFactory(Of TValue)(Type)\n- uid: Venflow.KeyConverter.GetOrCreateKeyFactory``2(Type)\n  name: GetOrCreateKeyFactory<TKeyType, TValue>(Type)\n  href: api/Venflow.KeyConverter.html#Venflow_KeyConverter_GetOrCreateKeyFactory__2_Type_\n  commentId: M:Venflow.KeyConverter.GetOrCreateKeyFactory``2(Type)\n  name.vb: GetOrCreateKeyFactory(Of TKeyType, TValue)(Type)\n  fullName: Venflow.KeyConverter.GetOrCreateKeyFactory<TKeyType, TValue>(Type)\n  fullName.vb: Venflow.KeyConverter.GetOrCreateKeyFactory(Of TKeyType, TValue)(Type)\n  nameWithType: KeyConverter.GetOrCreateKeyFactory<TKeyType, TValue>(Type)\n  nameWithType.vb: KeyConverter.GetOrCreateKeyFactory(Of TKeyType, TValue)(Type)\n- uid: Venflow.LoggerCallback\n  name: LoggerCallback\n  href: api/Venflow.LoggerCallback.html\n  commentId: T:Venflow.LoggerCallback\n  fullName: Venflow.LoggerCallback\n  nameWithType: LoggerCallback\n- uid: Venflow.Modeling.Definitions\n  name: Venflow.Modeling.Definitions\n  href: api/Venflow.Modeling.Definitions.html\n  commentId: N:Venflow.Modeling.Definitions\n  fullName: Venflow.Modeling.Definitions\n  nameWithType: Venflow.Modeling.Definitions\n- uid: Venflow.Modeling.Definitions.Builder\n  name: Venflow.Modeling.Definitions.Builder\n  href: api/Venflow.Modeling.Definitions.Builder.html\n  commentId: N:Venflow.Modeling.Definitions.Builder\n  fullName: Venflow.Modeling.Definitions.Builder\n  nameWithType: Venflow.Modeling.Definitions.Builder\n- uid: Venflow.Modeling.Definitions.Builder.IEntityBuilder`1\n  name: IEntityBuilder<TEntity>\n  href: api/Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html\n  commentId: T:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1\n  name.vb: IEntityBuilder(Of TEntity)\n  fullName: Venflow.Modeling.Definitions.Builder.IEntityBuilder<TEntity>\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IEntityBuilder(Of TEntity)\n  nameWithType: IEntityBuilder<TEntity>\n  nameWithType.vb: IEntityBuilder(Of TEntity)\n- uid: Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.Column*\n  name: Column\n  href: api/Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html#Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_Column_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.Column\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.IEntityBuilder<TEntity>.Column\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IEntityBuilder(Of TEntity).Column\n  nameWithType: IEntityBuilder<TEntity>.Column\n  nameWithType.vb: IEntityBuilder(Of TEntity).Column\n- uid: Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.Column``1(Expression{Func{`0,``0}})\n  name: Column<TTarget>(Expression<Func<TEntity, TTarget>>)\n  href: api/Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html#Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_Column__1_Expression_Func__0___0___\n  commentId: M:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.Column``1(Expression{Func{`0,``0}})\n  name.vb: Column(Of TTarget)(Expression(Of Func(Of TEntity, TTarget)))\n  fullName: Venflow.Modeling.Definitions.Builder.IEntityBuilder<TEntity>.Column<TTarget>(Expression<Func<TEntity, TTarget>>)\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IEntityBuilder(Of TEntity).Column(Of TTarget)(Expression(Of Func(Of TEntity, TTarget)))\n  nameWithType: IEntityBuilder<TEntity>.Column<TTarget>(Expression<Func<TEntity, TTarget>>)\n  nameWithType.vb: IEntityBuilder(Of TEntity).Column(Of TTarget)(Expression(Of Func(Of TEntity, TTarget)))\n- uid: Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.Ignore*\n  name: Ignore\n  href: api/Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html#Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_Ignore_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.Ignore\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.IEntityBuilder<TEntity>.Ignore\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IEntityBuilder(Of TEntity).Ignore\n  nameWithType: IEntityBuilder<TEntity>.Ignore\n  nameWithType.vb: IEntityBuilder(Of TEntity).Ignore\n- uid: Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.Ignore``1(Expression{Func{`0,``0}})\n  name: Ignore<TTarget>(Expression<Func<TEntity, TTarget>>)\n  href: api/Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html#Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_Ignore__1_Expression_Func__0___0___\n  commentId: M:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.Ignore``1(Expression{Func{`0,``0}})\n  name.vb: Ignore(Of TTarget)(Expression(Of Func(Of TEntity, TTarget)))\n  fullName: Venflow.Modeling.Definitions.Builder.IEntityBuilder<TEntity>.Ignore<TTarget>(Expression<Func<TEntity, TTarget>>)\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IEntityBuilder(Of TEntity).Ignore(Of TTarget)(Expression(Of Func(Of TEntity, TTarget)))\n  nameWithType: IEntityBuilder<TEntity>.Ignore<TTarget>(Expression<Func<TEntity, TTarget>>)\n  nameWithType.vb: IEntityBuilder(Of TEntity).Ignore(Of TTarget)(Expression(Of Func(Of TEntity, TTarget)))\n- uid: Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapColumn*\n  name: MapColumn\n  href: api/Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html#Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapColumn_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapColumn\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.IEntityBuilder<TEntity>.MapColumn\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IEntityBuilder(Of TEntity).MapColumn\n  nameWithType: IEntityBuilder<TEntity>.MapColumn\n  nameWithType.vb: IEntityBuilder(Of TEntity).MapColumn\n- uid: Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapColumn``1(Expression{Func{`0,``0}},System.String)\n  name: MapColumn<TTarget>(Expression<Func<TEntity, TTarget>>, String)\n  href: api/Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html#Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapColumn__1_Expression_Func__0___0___System_String_\n  commentId: M:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapColumn``1(Expression{Func{`0,``0}},System.String)\n  name.vb: MapColumn(Of TTarget)(Expression(Of Func(Of TEntity, TTarget)), String)\n  fullName: Venflow.Modeling.Definitions.Builder.IEntityBuilder<TEntity>.MapColumn<TTarget>(Expression<Func<TEntity, TTarget>>, System.String)\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IEntityBuilder(Of TEntity).MapColumn(Of TTarget)(Expression(Of Func(Of TEntity, TTarget)), System.String)\n  nameWithType: IEntityBuilder<TEntity>.MapColumn<TTarget>(Expression<Func<TEntity, TTarget>>, String)\n  nameWithType.vb: IEntityBuilder(Of TEntity).MapColumn(Of TTarget)(Expression(Of Func(Of TEntity, TTarget)), String)\n- uid: Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapId*\n  name: MapId\n  href: api/Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html#Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapId_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapId\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.IEntityBuilder<TEntity>.MapId\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IEntityBuilder(Of TEntity).MapId\n  nameWithType: IEntityBuilder<TEntity>.MapId\n  nameWithType.vb: IEntityBuilder(Of TEntity).MapId\n- uid: Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapId``1(Expression{Func{`0,``0}},DatabaseGeneratedOption)\n  name: MapId<TTarget>(Expression<Func<TEntity, TTarget>>, DatabaseGeneratedOption)\n  href: api/Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html#Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapId__1_Expression_Func__0___0___DatabaseGeneratedOption_\n  commentId: M:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapId``1(Expression{Func{`0,``0}},DatabaseGeneratedOption)\n  name.vb: MapId(Of TTarget)(Expression(Of Func(Of TEntity, TTarget)), DatabaseGeneratedOption)\n  fullName: Venflow.Modeling.Definitions.Builder.IEntityBuilder<TEntity>.MapId<TTarget>(Expression<Func<TEntity, TTarget>>, DatabaseGeneratedOption)\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IEntityBuilder(Of TEntity).MapId(Of TTarget)(Expression(Of Func(Of TEntity, TTarget)), DatabaseGeneratedOption)\n  nameWithType: IEntityBuilder<TEntity>.MapId<TTarget>(Expression<Func<TEntity, TTarget>>, DatabaseGeneratedOption)\n  nameWithType.vb: IEntityBuilder(Of TEntity).MapId(Of TTarget)(Expression(Of Func(Of TEntity, TTarget)), DatabaseGeneratedOption)\n- uid: Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapPostgresEnum*\n  name: MapPostgresEnum\n  href: api/Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html#Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapPostgresEnum_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapPostgresEnum\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.IEntityBuilder<TEntity>.MapPostgresEnum\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IEntityBuilder(Of TEntity).MapPostgresEnum\n  nameWithType: IEntityBuilder<TEntity>.MapPostgresEnum\n  nameWithType.vb: IEntityBuilder(Of TEntity).MapPostgresEnum\n- uid: Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapPostgresEnum``1(Expression{Func{`0,``0}},System.Nullable{System.String},System.Nullable{INpgsqlNameTranslator})\n  name: MapPostgresEnum<TTarget>(Expression<Func<TEntity, TTarget>>, Nullable<String>, Nullable<INpgsqlNameTranslator>)\n  href: api/Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html#Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapPostgresEnum__1_Expression_Func__0___0___System_Nullable_System_String__System_Nullable_INpgsqlNameTranslator__\n  commentId: M:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapPostgresEnum``1(Expression{Func{`0,``0}},System.Nullable{System.String},System.Nullable{INpgsqlNameTranslator})\n  name.vb: MapPostgresEnum(Of TTarget)(Expression(Of Func(Of TEntity, TTarget)), Nullable(Of String), Nullable(Of INpgsqlNameTranslator))\n  fullName: Venflow.Modeling.Definitions.Builder.IEntityBuilder<TEntity>.MapPostgresEnum<TTarget>(Expression<Func<TEntity, TTarget>>, System.Nullable<System.String>, System.Nullable<INpgsqlNameTranslator>)\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IEntityBuilder(Of TEntity).MapPostgresEnum(Of TTarget)(Expression(Of Func(Of TEntity, TTarget)), System.Nullable(Of System.String), System.Nullable(Of INpgsqlNameTranslator))\n  nameWithType: IEntityBuilder<TEntity>.MapPostgresEnum<TTarget>(Expression<Func<TEntity, TTarget>>, Nullable<String>, Nullable<INpgsqlNameTranslator>)\n  nameWithType.vb: IEntityBuilder(Of TEntity).MapPostgresEnum(Of TTarget)(Expression(Of Func(Of TEntity, TTarget)), Nullable(Of String), Nullable(Of INpgsqlNameTranslator))\n- uid: Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapPostgresEnum``1(Expression{Func{`0,System.Nullable{``0}}},System.Nullable{System.String},System.Nullable{INpgsqlNameTranslator})\n  name: MapPostgresEnum<TTarget>(Expression<Func<TEntity, Nullable<TTarget>>>, Nullable<String>, Nullable<INpgsqlNameTranslator>)\n  href: api/Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html#Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapPostgresEnum__1_Expression_Func__0_System_Nullable___0____System_Nullable_System_String__System_Nullable_INpgsqlNameTranslator__\n  commentId: M:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapPostgresEnum``1(Expression{Func{`0,System.Nullable{``0}}},System.Nullable{System.String},System.Nullable{INpgsqlNameTranslator})\n  name.vb: MapPostgresEnum(Of TTarget)(Expression(Of Func(Of TEntity, Nullable(Of TTarget))), Nullable(Of String), Nullable(Of INpgsqlNameTranslator))\n  fullName: Venflow.Modeling.Definitions.Builder.IEntityBuilder<TEntity>.MapPostgresEnum<TTarget>(Expression<Func<TEntity, System.Nullable<TTarget>>>, System.Nullable<System.String>, System.Nullable<INpgsqlNameTranslator>)\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IEntityBuilder(Of TEntity).MapPostgresEnum(Of TTarget)(Expression(Of Func(Of TEntity, System.Nullable(Of TTarget))), System.Nullable(Of System.String), System.Nullable(Of INpgsqlNameTranslator))\n  nameWithType: IEntityBuilder<TEntity>.MapPostgresEnum<TTarget>(Expression<Func<TEntity, Nullable<TTarget>>>, Nullable<String>, Nullable<INpgsqlNameTranslator>)\n  nameWithType.vb: IEntityBuilder(Of TEntity).MapPostgresEnum(Of TTarget)(Expression(Of Func(Of TEntity, Nullable(Of TTarget))), Nullable(Of String), Nullable(Of INpgsqlNameTranslator))\n- uid: Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapToTable(System.String)\n  name: MapToTable(String)\n  href: api/Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html#Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapToTable_System_String_\n  commentId: M:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapToTable(System.String)\n  fullName: Venflow.Modeling.Definitions.Builder.IEntityBuilder<TEntity>.MapToTable(System.String)\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IEntityBuilder(Of TEntity).MapToTable(System.String)\n  nameWithType: IEntityBuilder<TEntity>.MapToTable(String)\n  nameWithType.vb: IEntityBuilder(Of TEntity).MapToTable(String)\n- uid: Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapToTable*\n  name: MapToTable\n  href: api/Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html#Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_MapToTable_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapToTable\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.IEntityBuilder<TEntity>.MapToTable\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IEntityBuilder(Of TEntity).MapToTable\n  nameWithType: IEntityBuilder<TEntity>.MapToTable\n  nameWithType.vb: IEntityBuilder(Of TEntity).MapToTable\n- uid: Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.SetNpgsqlNameTranslator(INpgsqlNameTranslator)\n  name: SetNpgsqlNameTranslator(INpgsqlNameTranslator)\n  href: api/Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html#Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_SetNpgsqlNameTranslator_INpgsqlNameTranslator_\n  commentId: M:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.SetNpgsqlNameTranslator(INpgsqlNameTranslator)\n  fullName: Venflow.Modeling.Definitions.Builder.IEntityBuilder<TEntity>.SetNpgsqlNameTranslator(INpgsqlNameTranslator)\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IEntityBuilder(Of TEntity).SetNpgsqlNameTranslator(INpgsqlNameTranslator)\n  nameWithType: IEntityBuilder<TEntity>.SetNpgsqlNameTranslator(INpgsqlNameTranslator)\n  nameWithType.vb: IEntityBuilder(Of TEntity).SetNpgsqlNameTranslator(INpgsqlNameTranslator)\n- uid: Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.SetNpgsqlNameTranslator*\n  name: SetNpgsqlNameTranslator\n  href: api/Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html#Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_SetNpgsqlNameTranslator_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.SetNpgsqlNameTranslator\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.IEntityBuilder<TEntity>.SetNpgsqlNameTranslator\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IEntityBuilder(Of TEntity).SetNpgsqlNameTranslator\n  nameWithType: IEntityBuilder<TEntity>.SetNpgsqlNameTranslator\n  nameWithType.vb: IEntityBuilder(Of TEntity).SetNpgsqlNameTranslator\n- uid: Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.SetNpgsqlNameTranslator``1\n  name: SetNpgsqlNameTranslator<T>()\n  href: api/Venflow.Modeling.Definitions.Builder.IEntityBuilder-1.html#Venflow_Modeling_Definitions_Builder_IEntityBuilder_1_SetNpgsqlNameTranslator__1\n  commentId: M:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.SetNpgsqlNameTranslator``1\n  name.vb: SetNpgsqlNameTranslator(Of T)()\n  fullName: Venflow.Modeling.Definitions.Builder.IEntityBuilder<TEntity>.SetNpgsqlNameTranslator<T>()\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IEntityBuilder(Of TEntity).SetNpgsqlNameTranslator(Of T)()\n  nameWithType: IEntityBuilder<TEntity>.SetNpgsqlNameTranslator<T>()\n  nameWithType.vb: IEntityBuilder(Of TEntity).SetNpgsqlNameTranslator(Of T)()\n- uid: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2\n  name: IForeignKeyRelationBuilder<TEntity, TRelation>\n  href: api/Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html\n  commentId: T:Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2\n  name.vb: IForeignKeyRelationBuilder(Of TEntity, TRelation)\n  fullName: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder<TEntity, TRelation>\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder(Of TEntity, TRelation)\n  nameWithType: IForeignKeyRelationBuilder<TEntity, TRelation>\n  nameWithType.vb: IForeignKeyRelationBuilder(Of TEntity, TRelation)\n- uid: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2.UsingForeignKey*\n  name: UsingForeignKey\n  href: api/Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2_UsingForeignKey_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2.UsingForeignKey\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder<TEntity, TRelation>.UsingForeignKey\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder(Of TEntity, TRelation).UsingForeignKey\n  nameWithType: IForeignKeyRelationBuilder<TEntity, TRelation>.UsingForeignKey\n  nameWithType.vb: IForeignKeyRelationBuilder(Of TEntity, TRelation).UsingForeignKey\n- uid: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2.UsingForeignKey``1(Expression{Func{`0,``0}})\n  name: UsingForeignKey<TKey>(Expression<Func<TEntity, TKey>>)\n  href: api/Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2_UsingForeignKey__1_Expression_Func__0___0___\n  commentId: M:Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2.UsingForeignKey``1(Expression{Func{`0,``0}})\n  name.vb: UsingForeignKey(Of TKey)(Expression(Of Func(Of TEntity, TKey)))\n  fullName: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder<TEntity, TRelation>.UsingForeignKey<TKey>(Expression<Func<TEntity, TKey>>)\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder(Of TEntity, TRelation).UsingForeignKey(Of TKey)(Expression(Of Func(Of TEntity, TKey)))\n  nameWithType: IForeignKeyRelationBuilder<TEntity, TRelation>.UsingForeignKey<TKey>(Expression<Func<TEntity, TKey>>)\n  nameWithType.vb: IForeignKeyRelationBuilder(Of TEntity, TRelation).UsingForeignKey(Of TKey)(Expression(Of Func(Of TEntity, TKey)))\n- uid: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2.UsingForeignKey``1(Expression{Func{`1,``0}})\n  name: UsingForeignKey<TKey>(Expression<Func<TRelation, TKey>>)\n  href: api/Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IForeignKeyRelationBuilder_2_UsingForeignKey__1_Expression_Func__1___0___\n  commentId: M:Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2.UsingForeignKey``1(Expression{Func{`1,``0}})\n  name.vb: UsingForeignKey(Of TKey)(Expression(Of Func(Of TRelation, TKey)))\n  fullName: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder<TEntity, TRelation>.UsingForeignKey<TKey>(Expression<Func<TRelation, TKey>>)\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder(Of TEntity, TRelation).UsingForeignKey(Of TKey)(Expression(Of Func(Of TRelation, TKey)))\n  nameWithType: IForeignKeyRelationBuilder<TEntity, TRelation>.UsingForeignKey<TKey>(Expression<Func<TRelation, TKey>>)\n  nameWithType.vb: IForeignKeyRelationBuilder(Of TEntity, TRelation).UsingForeignKey(Of TKey)(Expression(Of Func(Of TRelation, TKey)))\n- uid: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1\n  name: ILeftRelationBuilder<TEntity>\n  href: api/Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html\n  commentId: T:Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1\n  name.vb: ILeftRelationBuilder(Of TEntity)\n  fullName: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder<TEntity>\n  fullName.vb: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder(Of TEntity)\n  nameWithType: ILeftRelationBuilder<TEntity>\n  nameWithType.vb: ILeftRelationBuilder(Of TEntity)\n- uid: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasMany*\n  name: HasMany\n  href: api/Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html#Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasMany_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasMany\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder<TEntity>.HasMany\n  fullName.vb: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder(Of TEntity).HasMany\n  nameWithType: ILeftRelationBuilder<TEntity>.HasMany\n  nameWithType.vb: ILeftRelationBuilder(Of TEntity).HasMany\n- uid: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasMany``1\n  name: HasMany<TRelation>()\n  href: api/Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html#Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasMany__1\n  commentId: M:Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasMany``1\n  name.vb: HasMany(Of TRelation)()\n  fullName: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder<TEntity>.HasMany<TRelation>()\n  fullName.vb: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder(Of TEntity).HasMany(Of TRelation)()\n  nameWithType: ILeftRelationBuilder<TEntity>.HasMany<TRelation>()\n  nameWithType.vb: ILeftRelationBuilder(Of TEntity).HasMany(Of TRelation)()\n- uid: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasMany``1(Expression{Func{`0,IList{``0}}})\n  name: HasMany<TRelation>(Expression<Func<TEntity, IList<TRelation>>>)\n  href: api/Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html#Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasMany__1_Expression_Func__0_IList___0____\n  commentId: M:Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasMany``1(Expression{Func{`0,IList{``0}}})\n  name.vb: HasMany(Of TRelation)(Expression(Of Func(Of TEntity, IList(Of TRelation))))\n  fullName: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder<TEntity>.HasMany<TRelation>(Expression<Func<TEntity, IList<TRelation>>>)\n  fullName.vb: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder(Of TEntity).HasMany(Of TRelation)(Expression(Of Func(Of TEntity, IList(Of TRelation))))\n  nameWithType: ILeftRelationBuilder<TEntity>.HasMany<TRelation>(Expression<Func<TEntity, IList<TRelation>>>)\n  nameWithType.vb: ILeftRelationBuilder(Of TEntity).HasMany(Of TRelation)(Expression(Of Func(Of TEntity, IList(Of TRelation))))\n- uid: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasOne*\n  name: HasOne\n  href: api/Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html#Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasOne_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasOne\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder<TEntity>.HasOne\n  fullName.vb: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder(Of TEntity).HasOne\n  nameWithType: ILeftRelationBuilder<TEntity>.HasOne\n  nameWithType.vb: ILeftRelationBuilder(Of TEntity).HasOne\n- uid: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasOne``1\n  name: HasOne<TRelation>()\n  href: api/Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html#Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasOne__1\n  commentId: M:Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasOne``1\n  name.vb: HasOne(Of TRelation)()\n  fullName: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder<TEntity>.HasOne<TRelation>()\n  fullName.vb: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder(Of TEntity).HasOne(Of TRelation)()\n  nameWithType: ILeftRelationBuilder<TEntity>.HasOne<TRelation>()\n  nameWithType.vb: ILeftRelationBuilder(Of TEntity).HasOne(Of TRelation)()\n- uid: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasOne``1(Expression{Func{`0,``0}})\n  name: HasOne<TRelation>(Expression<Func<TEntity, TRelation>>)\n  href: api/Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder-1.html#Venflow_Modeling_Definitions_Builder_ILeftRelationBuilder_1_HasOne__1_Expression_Func__0___0___\n  commentId: M:Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasOne``1(Expression{Func{`0,``0}})\n  name.vb: HasOne(Of TRelation)(Expression(Of Func(Of TEntity, TRelation)))\n  fullName: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder<TEntity>.HasOne<TRelation>(Expression<Func<TEntity, TRelation>>)\n  fullName.vb: Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder(Of TEntity).HasOne(Of TRelation)(Expression(Of Func(Of TEntity, TRelation)))\n  nameWithType: ILeftRelationBuilder<TEntity>.HasOne<TRelation>(Expression<Func<TEntity, TRelation>>)\n  nameWithType.vb: ILeftRelationBuilder(Of TEntity).HasOne(Of TRelation)(Expression(Of Func(Of TEntity, TRelation)))\n- uid: Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder`2\n  name: IMultiRightRelationBuilder<TEntity, TRelation>\n  href: api/Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.html\n  commentId: T:Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder`2\n  name.vb: IMultiRightRelationBuilder(Of TEntity, TRelation)\n  fullName: Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder<TEntity, TRelation>\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder(Of TEntity, TRelation)\n  nameWithType: IMultiRightRelationBuilder<TEntity, TRelation>\n  nameWithType.vb: IMultiRightRelationBuilder(Of TEntity, TRelation)\n- uid: Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder`2.WithMany(Expression{Func{`1,IList{`0}}})\n  name: WithMany(Expression<Func<TRelation, IList<TEntity>>>)\n  href: api/Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IMultiRightRelationBuilder_2_WithMany_Expression_Func__1_IList__0____\n  commentId: M:Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder`2.WithMany(Expression{Func{`1,IList{`0}}})\n  name.vb: WithMany(Expression(Of Func(Of TRelation, IList(Of TEntity))))\n  fullName: Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder<TEntity, TRelation>.WithMany(Expression<Func<TRelation, IList<TEntity>>>)\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder(Of TEntity, TRelation).WithMany(Expression(Of Func(Of TRelation, IList(Of TEntity))))\n  nameWithType: IMultiRightRelationBuilder<TEntity, TRelation>.WithMany(Expression<Func<TRelation, IList<TEntity>>>)\n  nameWithType.vb: IMultiRightRelationBuilder(Of TEntity, TRelation).WithMany(Expression(Of Func(Of TRelation, IList(Of TEntity))))\n- uid: Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder`2.WithMany*\n  name: WithMany\n  href: api/Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IMultiRightRelationBuilder_2_WithMany_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder`2.WithMany\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder<TEntity, TRelation>.WithMany\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder(Of TEntity, TRelation).WithMany\n  nameWithType: IMultiRightRelationBuilder<TEntity, TRelation>.WithMany\n  nameWithType.vb: IMultiRightRelationBuilder(Of TEntity, TRelation).WithMany\n- uid: Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder`2\n  name: INotRequiredMultiRightRelationBuilder<TEntity, TRelation>\n  href: api/Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder-2.html\n  commentId: T:Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder`2\n  name.vb: INotRequiredMultiRightRelationBuilder(Of TEntity, TRelation)\n  fullName: Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder<TEntity, TRelation>\n  fullName.vb: Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder(Of TEntity, TRelation)\n  nameWithType: INotRequiredMultiRightRelationBuilder<TEntity, TRelation>\n  nameWithType.vb: INotRequiredMultiRightRelationBuilder(Of TEntity, TRelation)\n- uid: Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder`2.WithMany\n  name: WithMany()\n  href: api/Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_INotRequiredMultiRightRelationBuilder_2_WithMany\n  commentId: M:Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder`2.WithMany\n  fullName: Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder<TEntity, TRelation>.WithMany()\n  fullName.vb: Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder(Of TEntity, TRelation).WithMany()\n  nameWithType: INotRequiredMultiRightRelationBuilder<TEntity, TRelation>.WithMany()\n  nameWithType.vb: INotRequiredMultiRightRelationBuilder(Of TEntity, TRelation).WithMany()\n- uid: Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder`2.WithMany*\n  name: WithMany\n  href: api/Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_INotRequiredMultiRightRelationBuilder_2_WithMany_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder`2.WithMany\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder<TEntity, TRelation>.WithMany\n  fullName.vb: Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder(Of TEntity, TRelation).WithMany\n  nameWithType: INotRequiredMultiRightRelationBuilder<TEntity, TRelation>.WithMany\n  nameWithType.vb: INotRequiredMultiRightRelationBuilder(Of TEntity, TRelation).WithMany\n- uid: Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2\n  name: INotRequiredSingleRightRelationBuilder<TEntity, TRelation>\n  href: api/Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html\n  commentId: T:Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2\n  name.vb: INotRequiredSingleRightRelationBuilder(Of TEntity, TRelation)\n  fullName: Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder<TEntity, TRelation>\n  fullName.vb: Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder(Of TEntity, TRelation)\n  nameWithType: INotRequiredSingleRightRelationBuilder<TEntity, TRelation>\n  nameWithType.vb: INotRequiredSingleRightRelationBuilder(Of TEntity, TRelation)\n- uid: Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2.WithOne\n  name: WithOne()\n  href: api/Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_INotRequiredSingleRightRelationBuilder_2_WithOne\n  commentId: M:Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2.WithOne\n  fullName: Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne()\n  fullName.vb: Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder(Of TEntity, TRelation).WithOne()\n  nameWithType: INotRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne()\n  nameWithType.vb: INotRequiredSingleRightRelationBuilder(Of TEntity, TRelation).WithOne()\n- uid: Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2.WithOne*\n  name: WithOne\n  href: api/Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_INotRequiredSingleRightRelationBuilder_2_WithOne_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2.WithOne\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne\n  fullName.vb: Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder(Of TEntity, TRelation).WithOne\n  nameWithType: INotRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne\n  nameWithType.vb: INotRequiredSingleRightRelationBuilder(Of TEntity, TRelation).WithOne\n- uid: Venflow.Modeling.Definitions.Builder.IPropertyBuilder\n  name: IPropertyBuilder\n  href: api/Venflow.Modeling.Definitions.Builder.IPropertyBuilder.html\n  commentId: T:Venflow.Modeling.Definitions.Builder.IPropertyBuilder\n  fullName: Venflow.Modeling.Definitions.Builder.IPropertyBuilder\n  nameWithType: IPropertyBuilder\n- uid: Venflow.Modeling.Definitions.Builder.IPropertyBuilder.HasDefault\n  name: HasDefault()\n  href: api/Venflow.Modeling.Definitions.Builder.IPropertyBuilder.html#Venflow_Modeling_Definitions_Builder_IPropertyBuilder_HasDefault\n  commentId: M:Venflow.Modeling.Definitions.Builder.IPropertyBuilder.HasDefault\n  fullName: Venflow.Modeling.Definitions.Builder.IPropertyBuilder.HasDefault()\n  nameWithType: IPropertyBuilder.HasDefault()\n- uid: Venflow.Modeling.Definitions.Builder.IPropertyBuilder.HasDefault*\n  name: HasDefault\n  href: api/Venflow.Modeling.Definitions.Builder.IPropertyBuilder.html#Venflow_Modeling_Definitions_Builder_IPropertyBuilder_HasDefault_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.IPropertyBuilder.HasDefault\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.IPropertyBuilder.HasDefault\n  nameWithType: IPropertyBuilder.HasDefault\n- uid: Venflow.Modeling.Definitions.Builder.IPropertyBuilder.HasId\n  name: HasId()\n  href: api/Venflow.Modeling.Definitions.Builder.IPropertyBuilder.html#Venflow_Modeling_Definitions_Builder_IPropertyBuilder_HasId\n  commentId: M:Venflow.Modeling.Definitions.Builder.IPropertyBuilder.HasId\n  fullName: Venflow.Modeling.Definitions.Builder.IPropertyBuilder.HasId()\n  nameWithType: IPropertyBuilder.HasId()\n- uid: Venflow.Modeling.Definitions.Builder.IPropertyBuilder.HasId*\n  name: HasId\n  href: api/Venflow.Modeling.Definitions.Builder.IPropertyBuilder.html#Venflow_Modeling_Definitions_Builder_IPropertyBuilder_HasId_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.IPropertyBuilder.HasId\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.IPropertyBuilder.HasId\n  nameWithType: IPropertyBuilder.HasId\n- uid: Venflow.Modeling.Definitions.Builder.IPropertyBuilder.WithName(System.String)\n  name: WithName(String)\n  href: api/Venflow.Modeling.Definitions.Builder.IPropertyBuilder.html#Venflow_Modeling_Definitions_Builder_IPropertyBuilder_WithName_System_String_\n  commentId: M:Venflow.Modeling.Definitions.Builder.IPropertyBuilder.WithName(System.String)\n  fullName: Venflow.Modeling.Definitions.Builder.IPropertyBuilder.WithName(System.String)\n  nameWithType: IPropertyBuilder.WithName(String)\n- uid: Venflow.Modeling.Definitions.Builder.IPropertyBuilder.WithName*\n  name: WithName\n  href: api/Venflow.Modeling.Definitions.Builder.IPropertyBuilder.html#Venflow_Modeling_Definitions_Builder_IPropertyBuilder_WithName_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.IPropertyBuilder.WithName\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.IPropertyBuilder.WithName\n  nameWithType: IPropertyBuilder.WithName\n- uid: Venflow.Modeling.Definitions.Builder.IPropertyBuilder.WithType(NpgsqlDbType)\n  name: WithType(NpgsqlDbType)\n  href: api/Venflow.Modeling.Definitions.Builder.IPropertyBuilder.html#Venflow_Modeling_Definitions_Builder_IPropertyBuilder_WithType_NpgsqlDbType_\n  commentId: M:Venflow.Modeling.Definitions.Builder.IPropertyBuilder.WithType(NpgsqlDbType)\n  fullName: Venflow.Modeling.Definitions.Builder.IPropertyBuilder.WithType(NpgsqlDbType)\n  nameWithType: IPropertyBuilder.WithType(NpgsqlDbType)\n- uid: Venflow.Modeling.Definitions.Builder.IPropertyBuilder.WithType*\n  name: WithType\n  href: api/Venflow.Modeling.Definitions.Builder.IPropertyBuilder.html#Venflow_Modeling_Definitions_Builder_IPropertyBuilder_WithType_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.IPropertyBuilder.WithType\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.IPropertyBuilder.WithType\n  nameWithType: IPropertyBuilder.WithType\n- uid: Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder`2\n  name: IRequiredMultiRightRelationBuilder<TEntity, TRelation>\n  href: api/Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder-2.html\n  commentId: T:Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder`2\n  name.vb: IRequiredMultiRightRelationBuilder(Of TEntity, TRelation)\n  fullName: Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder<TEntity, TRelation>\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder(Of TEntity, TRelation)\n  nameWithType: IRequiredMultiRightRelationBuilder<TEntity, TRelation>\n  nameWithType.vb: IRequiredMultiRightRelationBuilder(Of TEntity, TRelation)\n- uid: Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2\n  name: IRequiredSingleRightRelationBuilder<TEntity, TRelation>\n  href: api/Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html\n  commentId: T:Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2\n  name.vb: IRequiredSingleRightRelationBuilder(Of TEntity, TRelation)\n  fullName: Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder<TEntity, TRelation>\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder(Of TEntity, TRelation)\n  nameWithType: IRequiredSingleRightRelationBuilder<TEntity, TRelation>\n  nameWithType.vb: IRequiredSingleRightRelationBuilder(Of TEntity, TRelation)\n- uid: Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2.WithOne(Expression{Func{`1,`0}})\n  name: WithOne(Expression<Func<TRelation, TEntity>>)\n  href: api/Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2_WithOne_Expression_Func__1__0___\n  commentId: M:Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2.WithOne(Expression{Func{`1,`0}})\n  name.vb: WithOne(Expression(Of Func(Of TRelation, TEntity)))\n  fullName: Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne(Expression<Func<TRelation, TEntity>>)\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder(Of TEntity, TRelation).WithOne(Expression(Of Func(Of TRelation, TEntity)))\n  nameWithType: IRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne(Expression<Func<TRelation, TEntity>>)\n  nameWithType.vb: IRequiredSingleRightRelationBuilder(Of TEntity, TRelation).WithOne(Expression(Of Func(Of TRelation, TEntity)))\n- uid: Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2.WithOne*\n  name: WithOne\n  href: api/Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder-2.html#Venflow_Modeling_Definitions_Builder_IRequiredSingleRightRelationBuilder_2_WithOne_\n  commentId: Overload:Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2.WithOne\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne\n  fullName.vb: Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder(Of TEntity, TRelation).WithOne\n  nameWithType: IRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne\n  nameWithType.vb: IRequiredSingleRightRelationBuilder(Of TEntity, TRelation).WithOne\n- uid: Venflow.Modeling.Definitions.EntityConfiguration`1\n  name: EntityConfiguration<TEntity>\n  href: api/Venflow.Modeling.Definitions.EntityConfiguration-1.html\n  commentId: T:Venflow.Modeling.Definitions.EntityConfiguration`1\n  name.vb: EntityConfiguration(Of TEntity)\n  fullName: Venflow.Modeling.Definitions.EntityConfiguration<TEntity>\n  fullName.vb: Venflow.Modeling.Definitions.EntityConfiguration(Of TEntity)\n  nameWithType: EntityConfiguration<TEntity>\n  nameWithType.vb: EntityConfiguration(Of TEntity)\n- uid: Venflow.Modeling.Definitions.EntityConfiguration`1.Configure(Venflow.Modeling.Definitions.Builder.IEntityBuilder{`0})\n  name: Configure(IEntityBuilder<TEntity>)\n  href: api/Venflow.Modeling.Definitions.EntityConfiguration-1.html#Venflow_Modeling_Definitions_EntityConfiguration_1_Configure_Venflow_Modeling_Definitions_Builder_IEntityBuilder__0__\n  commentId: M:Venflow.Modeling.Definitions.EntityConfiguration`1.Configure(Venflow.Modeling.Definitions.Builder.IEntityBuilder{`0})\n  name.vb: Configure(IEntityBuilder(Of TEntity))\n  fullName: Venflow.Modeling.Definitions.EntityConfiguration<TEntity>.Configure(Venflow.Modeling.Definitions.Builder.IEntityBuilder<TEntity>)\n  fullName.vb: Venflow.Modeling.Definitions.EntityConfiguration(Of TEntity).Configure(Venflow.Modeling.Definitions.Builder.IEntityBuilder(Of TEntity))\n  nameWithType: EntityConfiguration<TEntity>.Configure(IEntityBuilder<TEntity>)\n  nameWithType.vb: EntityConfiguration(Of TEntity).Configure(IEntityBuilder(Of TEntity))\n- uid: Venflow.Modeling.Definitions.EntityConfiguration`1.Configure*\n  name: Configure\n  href: api/Venflow.Modeling.Definitions.EntityConfiguration-1.html#Venflow_Modeling_Definitions_EntityConfiguration_1_Configure_\n  commentId: Overload:Venflow.Modeling.Definitions.EntityConfiguration`1.Configure\n  isSpec: \"True\"\n  fullName: Venflow.Modeling.Definitions.EntityConfiguration<TEntity>.Configure\n  fullName.vb: Venflow.Modeling.Definitions.EntityConfiguration(Of TEntity).Configure\n  nameWithType: EntityConfiguration<TEntity>.Configure\n  nameWithType.vb: EntityConfiguration(Of TEntity).Configure\n- uid: Venflow.NewtonsoftJson\n  name: Venflow.NewtonsoftJson\n  href: api/Venflow.NewtonsoftJson.html\n  commentId: N:Venflow.NewtonsoftJson\n  fullName: Venflow.NewtonsoftJson\n  nameWithType: Venflow.NewtonsoftJson\n- uid: Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter\n  name: NewtonsoftJsonKeyConverter\n  href: api/Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.html\n  commentId: T:Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter\n  fullName: Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter\n  nameWithType: NewtonsoftJsonKeyConverter\n- uid: Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.CanConvert(Type)\n  name: CanConvert(Type)\n  href: api/Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.html#Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_CanConvert_Type_\n  commentId: M:Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.CanConvert(Type)\n  fullName: Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.CanConvert(Type)\n  nameWithType: NewtonsoftJsonKeyConverter.CanConvert(Type)\n- uid: Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.CanConvert*\n  name: CanConvert\n  href: api/Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.html#Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_CanConvert_\n  commentId: Overload:Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.CanConvert\n  isSpec: \"True\"\n  fullName: Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.CanConvert\n  nameWithType: NewtonsoftJsonKeyConverter.CanConvert\n- uid: Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.ReadJson(JsonReader,Type,System.Nullable{System.Object},JsonSerializer)\n  name: ReadJson(JsonReader, Type, Nullable<Object>, JsonSerializer)\n  href: api/Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.html#Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_ReadJson_JsonReader_Type_System_Nullable_System_Object__JsonSerializer_\n  commentId: M:Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.ReadJson(JsonReader,Type,System.Nullable{System.Object},JsonSerializer)\n  name.vb: ReadJson(JsonReader, Type, Nullable(Of Object), JsonSerializer)\n  fullName: Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.ReadJson(JsonReader, Type, System.Nullable<System.Object>, JsonSerializer)\n  fullName.vb: Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.ReadJson(JsonReader, Type, System.Nullable(Of System.Object), JsonSerializer)\n  nameWithType: NewtonsoftJsonKeyConverter.ReadJson(JsonReader, Type, Nullable<Object>, JsonSerializer)\n  nameWithType.vb: NewtonsoftJsonKeyConverter.ReadJson(JsonReader, Type, Nullable(Of Object), JsonSerializer)\n- uid: Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.ReadJson*\n  name: ReadJson\n  href: api/Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.html#Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_ReadJson_\n  commentId: Overload:Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.ReadJson\n  isSpec: \"True\"\n  fullName: Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.ReadJson\n  nameWithType: NewtonsoftJsonKeyConverter.ReadJson\n- uid: Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.WriteJson(JsonWriter,System.Nullable{System.Object},JsonSerializer)\n  name: WriteJson(JsonWriter, Nullable<Object>, JsonSerializer)\n  href: api/Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.html#Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_WriteJson_JsonWriter_System_Nullable_System_Object__JsonSerializer_\n  commentId: M:Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.WriteJson(JsonWriter,System.Nullable{System.Object},JsonSerializer)\n  name.vb: WriteJson(JsonWriter, Nullable(Of Object), JsonSerializer)\n  fullName: Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.WriteJson(JsonWriter, System.Nullable<System.Object>, JsonSerializer)\n  fullName.vb: Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.WriteJson(JsonWriter, System.Nullable(Of System.Object), JsonSerializer)\n  nameWithType: NewtonsoftJsonKeyConverter.WriteJson(JsonWriter, Nullable<Object>, JsonSerializer)\n  nameWithType.vb: NewtonsoftJsonKeyConverter.WriteJson(JsonWriter, Nullable(Of Object), JsonSerializer)\n- uid: Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.WriteJson*\n  name: WriteJson\n  href: api/Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.html#Venflow_NewtonsoftJson_NewtonsoftJsonKeyConverter_WriteJson_\n  commentId: Overload:Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.WriteJson\n  isSpec: \"True\"\n  fullName: Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.WriteJson\n  nameWithType: NewtonsoftJsonKeyConverter.WriteJson\n- uid: Venflow.NpgsqlCommandExtensions\n  name: NpgsqlCommandExtensions\n  href: api/Venflow.NpgsqlCommandExtensions.html\n  commentId: T:Venflow.NpgsqlCommandExtensions\n  fullName: Venflow.NpgsqlCommandExtensions\n  nameWithType: NpgsqlCommandExtensions\n- uid: Venflow.NpgsqlCommandExtensions.AddParamter*\n  name: AddParamter\n  href: api/Venflow.NpgsqlCommandExtensions.html#Venflow_NpgsqlCommandExtensions_AddParamter_\n  commentId: Overload:Venflow.NpgsqlCommandExtensions.AddParamter\n  isSpec: \"True\"\n  fullName: Venflow.NpgsqlCommandExtensions.AddParamter\n  nameWithType: NpgsqlCommandExtensions.AddParamter\n- uid: Venflow.NpgsqlCommandExtensions.AddParamter``1(NpgsqlCommand,System.String,``0)\n  name: AddParamter<TType>(NpgsqlCommand, String, TType)\n  href: api/Venflow.NpgsqlCommandExtensions.html#Venflow_NpgsqlCommandExtensions_AddParamter__1_NpgsqlCommand_System_String___0_\n  commentId: M:Venflow.NpgsqlCommandExtensions.AddParamter``1(NpgsqlCommand,System.String,``0)\n  name.vb: AddParamter(Of TType)(NpgsqlCommand, String, TType)\n  fullName: Venflow.NpgsqlCommandExtensions.AddParamter<TType>(NpgsqlCommand, System.String, TType)\n  fullName.vb: Venflow.NpgsqlCommandExtensions.AddParamter(Of TType)(NpgsqlCommand, System.String, TType)\n  nameWithType: NpgsqlCommandExtensions.AddParamter<TType>(NpgsqlCommand, String, TType)\n  nameWithType.vb: NpgsqlCommandExtensions.AddParamter(Of TType)(NpgsqlCommand, String, TType)\n- uid: Venflow.NpgsqlCommandExtensions.SetInterpolatedCommandText(NpgsqlCommand,FormattableString)\n  name: SetInterpolatedCommandText(NpgsqlCommand, FormattableString)\n  href: api/Venflow.NpgsqlCommandExtensions.html#Venflow_NpgsqlCommandExtensions_SetInterpolatedCommandText_NpgsqlCommand_FormattableString_\n  commentId: M:Venflow.NpgsqlCommandExtensions.SetInterpolatedCommandText(NpgsqlCommand,FormattableString)\n  fullName: Venflow.NpgsqlCommandExtensions.SetInterpolatedCommandText(NpgsqlCommand, FormattableString)\n  nameWithType: NpgsqlCommandExtensions.SetInterpolatedCommandText(NpgsqlCommand, FormattableString)\n- uid: Venflow.NpgsqlCommandExtensions.SetInterpolatedCommandText*\n  name: SetInterpolatedCommandText\n  href: api/Venflow.NpgsqlCommandExtensions.html#Venflow_NpgsqlCommandExtensions_SetInterpolatedCommandText_\n  commentId: Overload:Venflow.NpgsqlCommandExtensions.SetInterpolatedCommandText\n  isSpec: \"True\"\n  fullName: Venflow.NpgsqlCommandExtensions.SetInterpolatedCommandText\n  nameWithType: NpgsqlCommandExtensions.SetInterpolatedCommandText\n- uid: Venflow.NpgsqlQuotedNameTranslator\n  name: NpgsqlQuotedNameTranslator\n  href: api/Venflow.NpgsqlQuotedNameTranslator.html\n  commentId: T:Venflow.NpgsqlQuotedNameTranslator\n  fullName: Venflow.NpgsqlQuotedNameTranslator\n  nameWithType: NpgsqlQuotedNameTranslator\n- uid: Venflow.NpgsqlQuotedNameTranslator.TranslateMemberName(System.String)\n  name: TranslateMemberName(String)\n  href: api/Venflow.NpgsqlQuotedNameTranslator.html#Venflow_NpgsqlQuotedNameTranslator_TranslateMemberName_System_String_\n  commentId: M:Venflow.NpgsqlQuotedNameTranslator.TranslateMemberName(System.String)\n  fullName: Venflow.NpgsqlQuotedNameTranslator.TranslateMemberName(System.String)\n  nameWithType: NpgsqlQuotedNameTranslator.TranslateMemberName(String)\n- uid: Venflow.NpgsqlQuotedNameTranslator.TranslateMemberName*\n  name: TranslateMemberName\n  href: api/Venflow.NpgsqlQuotedNameTranslator.html#Venflow_NpgsqlQuotedNameTranslator_TranslateMemberName_\n  commentId: Overload:Venflow.NpgsqlQuotedNameTranslator.TranslateMemberName\n  isSpec: \"True\"\n  fullName: Venflow.NpgsqlQuotedNameTranslator.TranslateMemberName\n  nameWithType: NpgsqlQuotedNameTranslator.TranslateMemberName\n- uid: Venflow.NpgsqlQuotedNameTranslator.TranslateTypeName(System.String)\n  name: TranslateTypeName(String)\n  href: api/Venflow.NpgsqlQuotedNameTranslator.html#Venflow_NpgsqlQuotedNameTranslator_TranslateTypeName_System_String_\n  commentId: M:Venflow.NpgsqlQuotedNameTranslator.TranslateTypeName(System.String)\n  fullName: Venflow.NpgsqlQuotedNameTranslator.TranslateTypeName(System.String)\n  nameWithType: NpgsqlQuotedNameTranslator.TranslateTypeName(String)\n- uid: Venflow.NpgsqlQuotedNameTranslator.TranslateTypeName*\n  name: TranslateTypeName\n  href: api/Venflow.NpgsqlQuotedNameTranslator.html#Venflow_NpgsqlQuotedNameTranslator_TranslateTypeName_\n  commentId: Overload:Venflow.NpgsqlQuotedNameTranslator.TranslateTypeName\n  isSpec: \"True\"\n  fullName: Venflow.NpgsqlQuotedNameTranslator.TranslateTypeName\n  nameWithType: NpgsqlQuotedNameTranslator.TranslateTypeName\n- uid: Venflow.ParameterTypeHandler\n  name: ParameterTypeHandler\n  href: api/Venflow.ParameterTypeHandler.html\n  commentId: T:Venflow.ParameterTypeHandler\n  fullName: Venflow.ParameterTypeHandler\n  nameWithType: ParameterTypeHandler\n- uid: Venflow.ParameterTypeHandler.AddTypeHandler(Type,Venflow.IParameterTypeHandler)\n  name: AddTypeHandler(Type, IParameterTypeHandler)\n  href: api/Venflow.ParameterTypeHandler.html#Venflow_ParameterTypeHandler_AddTypeHandler_Type_Venflow_IParameterTypeHandler_\n  commentId: M:Venflow.ParameterTypeHandler.AddTypeHandler(Type,Venflow.IParameterTypeHandler)\n  fullName: Venflow.ParameterTypeHandler.AddTypeHandler(Type, Venflow.IParameterTypeHandler)\n  nameWithType: ParameterTypeHandler.AddTypeHandler(Type, IParameterTypeHandler)\n- uid: Venflow.ParameterTypeHandler.AddTypeHandler*\n  name: AddTypeHandler\n  href: api/Venflow.ParameterTypeHandler.html#Venflow_ParameterTypeHandler_AddTypeHandler_\n  commentId: Overload:Venflow.ParameterTypeHandler.AddTypeHandler\n  isSpec: \"True\"\n  fullName: Venflow.ParameterTypeHandler.AddTypeHandler\n  nameWithType: ParameterTypeHandler.AddTypeHandler\n- uid: Venflow.Table`1\n  name: Table<TEntity>\n  href: api/Venflow.Table-1.html\n  commentId: T:Venflow.Table`1\n  name.vb: Table(Of TEntity)\n  fullName: Venflow.Table<TEntity>\n  fullName.vb: Venflow.Table(Of TEntity)\n  nameWithType: Table<TEntity>\n  nameWithType.vb: Table(Of TEntity)\n- uid: Venflow.Table`1.CountAsync(CancellationToken)\n  name: CountAsync(CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_CountAsync_CancellationToken_\n  commentId: M:Venflow.Table`1.CountAsync(CancellationToken)\n  fullName: Venflow.Table<TEntity>.CountAsync(CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).CountAsync(CancellationToken)\n  nameWithType: Table<TEntity>.CountAsync(CancellationToken)\n  nameWithType.vb: Table(Of TEntity).CountAsync(CancellationToken)\n- uid: Venflow.Table`1.CountAsync*\n  name: CountAsync\n  href: api/Venflow.Table-1.html#Venflow_Table_1_CountAsync_\n  commentId: Overload:Venflow.Table`1.CountAsync\n  isSpec: \"True\"\n  fullName: Venflow.Table<TEntity>.CountAsync\n  fullName.vb: Venflow.Table(Of TEntity).CountAsync\n  nameWithType: Table<TEntity>.CountAsync\n  nameWithType.vb: Table(Of TEntity).CountAsync\n- uid: Venflow.Table`1.Delete\n  name: Delete()\n  href: api/Venflow.Table-1.html#Venflow_Table_1_Delete\n  commentId: M:Venflow.Table`1.Delete\n  fullName: Venflow.Table<TEntity>.Delete()\n  fullName.vb: Venflow.Table(Of TEntity).Delete()\n  nameWithType: Table<TEntity>.Delete()\n  nameWithType.vb: Table(Of TEntity).Delete()\n- uid: Venflow.Table`1.Delete(System.Boolean)\n  name: Delete(Boolean)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_Delete_System_Boolean_\n  commentId: M:Venflow.Table`1.Delete(System.Boolean)\n  fullName: Venflow.Table<TEntity>.Delete(System.Boolean)\n  fullName.vb: Venflow.Table(Of TEntity).Delete(System.Boolean)\n  nameWithType: Table<TEntity>.Delete(Boolean)\n  nameWithType.vb: Table(Of TEntity).Delete(Boolean)\n- uid: Venflow.Table`1.Delete*\n  name: Delete\n  href: api/Venflow.Table-1.html#Venflow_Table_1_Delete_\n  commentId: Overload:Venflow.Table`1.Delete\n  isSpec: \"True\"\n  fullName: Venflow.Table<TEntity>.Delete\n  fullName.vb: Venflow.Table(Of TEntity).Delete\n  nameWithType: Table<TEntity>.Delete\n  nameWithType.vb: Table(Of TEntity).Delete\n- uid: Venflow.Table`1.DeleteAsync(`0,CancellationToken)\n  name: DeleteAsync(TEntity, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_DeleteAsync__0_CancellationToken_\n  commentId: M:Venflow.Table`1.DeleteAsync(`0,CancellationToken)\n  fullName: Venflow.Table<TEntity>.DeleteAsync(TEntity, CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).DeleteAsync(TEntity, CancellationToken)\n  nameWithType: Table<TEntity>.DeleteAsync(TEntity, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).DeleteAsync(TEntity, CancellationToken)\n- uid: Venflow.Table`1.DeleteAsync(`0[],CancellationToken)\n  name: DeleteAsync(TEntity[], CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_DeleteAsync__0___CancellationToken_\n  commentId: M:Venflow.Table`1.DeleteAsync(`0[],CancellationToken)\n  name.vb: DeleteAsync(TEntity(), CancellationToken)\n  fullName: Venflow.Table<TEntity>.DeleteAsync(TEntity[], CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).DeleteAsync(TEntity(), CancellationToken)\n  nameWithType: Table<TEntity>.DeleteAsync(TEntity[], CancellationToken)\n  nameWithType.vb: Table(Of TEntity).DeleteAsync(TEntity(), CancellationToken)\n- uid: Venflow.Table`1.DeleteAsync(IEnumerable{`0},CancellationToken)\n  name: DeleteAsync(IEnumerable<TEntity>, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_DeleteAsync_IEnumerable__0__CancellationToken_\n  commentId: M:Venflow.Table`1.DeleteAsync(IEnumerable{`0},CancellationToken)\n  name.vb: DeleteAsync(IEnumerable(Of TEntity), CancellationToken)\n  fullName: Venflow.Table<TEntity>.DeleteAsync(IEnumerable<TEntity>, CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).DeleteAsync(IEnumerable(Of TEntity), CancellationToken)\n  nameWithType: Table<TEntity>.DeleteAsync(IEnumerable<TEntity>, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).DeleteAsync(IEnumerable(Of TEntity), CancellationToken)\n- uid: Venflow.Table`1.DeleteAsync(IList{`0},CancellationToken)\n  name: DeleteAsync(IList<TEntity>, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_DeleteAsync_IList__0__CancellationToken_\n  commentId: M:Venflow.Table`1.DeleteAsync(IList{`0},CancellationToken)\n  name.vb: DeleteAsync(IList(Of TEntity), CancellationToken)\n  fullName: Venflow.Table<TEntity>.DeleteAsync(IList<TEntity>, CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).DeleteAsync(IList(Of TEntity), CancellationToken)\n  nameWithType: Table<TEntity>.DeleteAsync(IList<TEntity>, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).DeleteAsync(IList(Of TEntity), CancellationToken)\n- uid: Venflow.Table`1.DeleteAsync(List{`0},CancellationToken)\n  name: DeleteAsync(List<TEntity>, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_DeleteAsync_List__0__CancellationToken_\n  commentId: M:Venflow.Table`1.DeleteAsync(List{`0},CancellationToken)\n  name.vb: DeleteAsync(List(Of TEntity), CancellationToken)\n  fullName: Venflow.Table<TEntity>.DeleteAsync(List<TEntity>, CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).DeleteAsync(List(Of TEntity), CancellationToken)\n  nameWithType: Table<TEntity>.DeleteAsync(List<TEntity>, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).DeleteAsync(List(Of TEntity), CancellationToken)\n- uid: Venflow.Table`1.DeleteAsync(Venflow.Commands.IDeleteCommand{`0},`0,CancellationToken)\n  name: DeleteAsync(IDeleteCommand<TEntity>, TEntity, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_DeleteAsync_Venflow_Commands_IDeleteCommand__0___0_CancellationToken_\n  commentId: M:Venflow.Table`1.DeleteAsync(Venflow.Commands.IDeleteCommand{`0},`0,CancellationToken)\n  name.vb: DeleteAsync(IDeleteCommand(Of TEntity), TEntity, CancellationToken)\n  fullName: Venflow.Table<TEntity>.DeleteAsync(Venflow.Commands.IDeleteCommand<TEntity>, TEntity, CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).DeleteAsync(Venflow.Commands.IDeleteCommand(Of TEntity), TEntity, CancellationToken)\n  nameWithType: Table<TEntity>.DeleteAsync(IDeleteCommand<TEntity>, TEntity, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).DeleteAsync(IDeleteCommand(Of TEntity), TEntity, CancellationToken)\n- uid: Venflow.Table`1.DeleteAsync(Venflow.Commands.IDeleteCommand{`0},IEnumerable{`0},CancellationToken)\n  name: DeleteAsync(IDeleteCommand<TEntity>, IEnumerable<TEntity>, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_DeleteAsync_Venflow_Commands_IDeleteCommand__0__IEnumerable__0__CancellationToken_\n  commentId: M:Venflow.Table`1.DeleteAsync(Venflow.Commands.IDeleteCommand{`0},IEnumerable{`0},CancellationToken)\n  name.vb: DeleteAsync(IDeleteCommand(Of TEntity), IEnumerable(Of TEntity), CancellationToken)\n  fullName: Venflow.Table<TEntity>.DeleteAsync(Venflow.Commands.IDeleteCommand<TEntity>, IEnumerable<TEntity>, CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).DeleteAsync(Venflow.Commands.IDeleteCommand(Of TEntity), IEnumerable(Of TEntity), CancellationToken)\n  nameWithType: Table<TEntity>.DeleteAsync(IDeleteCommand<TEntity>, IEnumerable<TEntity>, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).DeleteAsync(IDeleteCommand(Of TEntity), IEnumerable(Of TEntity), CancellationToken)\n- uid: Venflow.Table`1.DeleteAsync*\n  name: DeleteAsync\n  href: api/Venflow.Table-1.html#Venflow_Table_1_DeleteAsync_\n  commentId: Overload:Venflow.Table`1.DeleteAsync\n  isSpec: \"True\"\n  fullName: Venflow.Table<TEntity>.DeleteAsync\n  fullName.vb: Venflow.Table(Of TEntity).DeleteAsync\n  nameWithType: Table<TEntity>.DeleteAsync\n  nameWithType.vb: Table(Of TEntity).DeleteAsync\n- uid: Venflow.Table`1.GetProxiedEntity\n  name: GetProxiedEntity()\n  href: api/Venflow.Table-1.html#Venflow_Table_1_GetProxiedEntity\n  commentId: M:Venflow.Table`1.GetProxiedEntity\n  fullName: Venflow.Table<TEntity>.GetProxiedEntity()\n  fullName.vb: Venflow.Table(Of TEntity).GetProxiedEntity()\n  nameWithType: Table<TEntity>.GetProxiedEntity()\n  nameWithType.vb: Table(Of TEntity).GetProxiedEntity()\n- uid: Venflow.Table`1.GetProxiedEntity*\n  name: GetProxiedEntity\n  href: api/Venflow.Table-1.html#Venflow_Table_1_GetProxiedEntity_\n  commentId: Overload:Venflow.Table`1.GetProxiedEntity\n  isSpec: \"True\"\n  fullName: Venflow.Table<TEntity>.GetProxiedEntity\n  fullName.vb: Venflow.Table(Of TEntity).GetProxiedEntity\n  nameWithType: Table<TEntity>.GetProxiedEntity\n  nameWithType.vb: Table(Of TEntity).GetProxiedEntity\n- uid: Venflow.Table`1.Insert\n  name: Insert()\n  href: api/Venflow.Table-1.html#Venflow_Table_1_Insert\n  commentId: M:Venflow.Table`1.Insert\n  fullName: Venflow.Table<TEntity>.Insert()\n  fullName.vb: Venflow.Table(Of TEntity).Insert()\n  nameWithType: Table<TEntity>.Insert()\n  nameWithType.vb: Table(Of TEntity).Insert()\n- uid: Venflow.Table`1.Insert*\n  name: Insert\n  href: api/Venflow.Table-1.html#Venflow_Table_1_Insert_\n  commentId: Overload:Venflow.Table`1.Insert\n  isSpec: \"True\"\n  fullName: Venflow.Table<TEntity>.Insert\n  fullName.vb: Venflow.Table(Of TEntity).Insert\n  nameWithType: Table<TEntity>.Insert\n  nameWithType.vb: Table(Of TEntity).Insert\n- uid: Venflow.Table`1.InsertAsync(`0,CancellationToken)\n  name: InsertAsync(TEntity, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_InsertAsync__0_CancellationToken_\n  commentId: M:Venflow.Table`1.InsertAsync(`0,CancellationToken)\n  fullName: Venflow.Table<TEntity>.InsertAsync(TEntity, CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).InsertAsync(TEntity, CancellationToken)\n  nameWithType: Table<TEntity>.InsertAsync(TEntity, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).InsertAsync(TEntity, CancellationToken)\n- uid: Venflow.Table`1.InsertAsync(IList{`0},CancellationToken)\n  name: InsertAsync(IList<TEntity>, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_InsertAsync_IList__0__CancellationToken_\n  commentId: M:Venflow.Table`1.InsertAsync(IList{`0},CancellationToken)\n  name.vb: InsertAsync(IList(Of TEntity), CancellationToken)\n  fullName: Venflow.Table<TEntity>.InsertAsync(IList<TEntity>, CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).InsertAsync(IList(Of TEntity), CancellationToken)\n  nameWithType: Table<TEntity>.InsertAsync(IList<TEntity>, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).InsertAsync(IList(Of TEntity), CancellationToken)\n- uid: Venflow.Table`1.InsertAsync(Venflow.Commands.IInsertCommand{`0},`0,CancellationToken)\n  name: InsertAsync(IInsertCommand<TEntity>, TEntity, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_InsertAsync_Venflow_Commands_IInsertCommand__0___0_CancellationToken_\n  commentId: M:Venflow.Table`1.InsertAsync(Venflow.Commands.IInsertCommand{`0},`0,CancellationToken)\n  name.vb: InsertAsync(IInsertCommand(Of TEntity), TEntity, CancellationToken)\n  fullName: Venflow.Table<TEntity>.InsertAsync(Venflow.Commands.IInsertCommand<TEntity>, TEntity, CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).InsertAsync(Venflow.Commands.IInsertCommand(Of TEntity), TEntity, CancellationToken)\n  nameWithType: Table<TEntity>.InsertAsync(IInsertCommand<TEntity>, TEntity, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).InsertAsync(IInsertCommand(Of TEntity), TEntity, CancellationToken)\n- uid: Venflow.Table`1.InsertAsync(Venflow.Commands.IInsertCommand{`0},List{`0},CancellationToken)\n  name: InsertAsync(IInsertCommand<TEntity>, List<TEntity>, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_InsertAsync_Venflow_Commands_IInsertCommand__0__List__0__CancellationToken_\n  commentId: M:Venflow.Table`1.InsertAsync(Venflow.Commands.IInsertCommand{`0},List{`0},CancellationToken)\n  name.vb: InsertAsync(IInsertCommand(Of TEntity), List(Of TEntity), CancellationToken)\n  fullName: Venflow.Table<TEntity>.InsertAsync(Venflow.Commands.IInsertCommand<TEntity>, List<TEntity>, CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).InsertAsync(Venflow.Commands.IInsertCommand(Of TEntity), List(Of TEntity), CancellationToken)\n  nameWithType: Table<TEntity>.InsertAsync(IInsertCommand<TEntity>, List<TEntity>, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).InsertAsync(IInsertCommand(Of TEntity), List(Of TEntity), CancellationToken)\n- uid: Venflow.Table`1.InsertAsync*\n  name: InsertAsync\n  href: api/Venflow.Table-1.html#Venflow_Table_1_InsertAsync_\n  commentId: Overload:Venflow.Table`1.InsertAsync\n  isSpec: \"True\"\n  fullName: Venflow.Table<TEntity>.InsertAsync\n  fullName.vb: Venflow.Table(Of TEntity).InsertAsync\n  nameWithType: Table<TEntity>.InsertAsync\n  nameWithType.vb: Table(Of TEntity).InsertAsync\n- uid: Venflow.Table`1.TrackChanges(`0@)\n  name: TrackChanges(ref TEntity)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_TrackChanges__0__\n  commentId: M:Venflow.Table`1.TrackChanges(`0@)\n  name.vb: TrackChanges(ByRef TEntity)\n  fullName: Venflow.Table<TEntity>.TrackChanges(ref TEntity)\n  fullName.vb: Venflow.Table(Of TEntity).TrackChanges(ByRef TEntity)\n  nameWithType: Table<TEntity>.TrackChanges(ref TEntity)\n  nameWithType.vb: Table(Of TEntity).TrackChanges(ByRef TEntity)\n- uid: Venflow.Table`1.TrackChanges(IList{`0})\n  name: TrackChanges(IList<TEntity>)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_TrackChanges_IList__0__\n  commentId: M:Venflow.Table`1.TrackChanges(IList{`0})\n  name.vb: TrackChanges(IList(Of TEntity))\n  fullName: Venflow.Table<TEntity>.TrackChanges(IList<TEntity>)\n  fullName.vb: Venflow.Table(Of TEntity).TrackChanges(IList(Of TEntity))\n  nameWithType: Table<TEntity>.TrackChanges(IList<TEntity>)\n  nameWithType.vb: Table(Of TEntity).TrackChanges(IList(Of TEntity))\n- uid: Venflow.Table`1.TrackChanges*\n  name: TrackChanges\n  href: api/Venflow.Table-1.html#Venflow_Table_1_TrackChanges_\n  commentId: Overload:Venflow.Table`1.TrackChanges\n  isSpec: \"True\"\n  fullName: Venflow.Table<TEntity>.TrackChanges\n  fullName.vb: Venflow.Table(Of TEntity).TrackChanges\n  nameWithType: Table<TEntity>.TrackChanges\n  nameWithType.vb: Table(Of TEntity).TrackChanges\n- uid: Venflow.Table`1.TruncateAsync(Venflow.Enums.ForeignTruncateOptions,CancellationToken)\n  name: TruncateAsync(ForeignTruncateOptions, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_TruncateAsync_Venflow_Enums_ForeignTruncateOptions_CancellationToken_\n  commentId: M:Venflow.Table`1.TruncateAsync(Venflow.Enums.ForeignTruncateOptions,CancellationToken)\n  fullName: Venflow.Table<TEntity>.TruncateAsync(Venflow.Enums.ForeignTruncateOptions, CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).TruncateAsync(Venflow.Enums.ForeignTruncateOptions, CancellationToken)\n  nameWithType: Table<TEntity>.TruncateAsync(ForeignTruncateOptions, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).TruncateAsync(ForeignTruncateOptions, CancellationToken)\n- uid: Venflow.Table`1.TruncateAsync(Venflow.Enums.IdentityTruncateOptions,Venflow.Enums.ForeignTruncateOptions,CancellationToken)\n  name: TruncateAsync(IdentityTruncateOptions, ForeignTruncateOptions, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_TruncateAsync_Venflow_Enums_IdentityTruncateOptions_Venflow_Enums_ForeignTruncateOptions_CancellationToken_\n  commentId: M:Venflow.Table`1.TruncateAsync(Venflow.Enums.IdentityTruncateOptions,Venflow.Enums.ForeignTruncateOptions,CancellationToken)\n  fullName: Venflow.Table<TEntity>.TruncateAsync(Venflow.Enums.IdentityTruncateOptions, Venflow.Enums.ForeignTruncateOptions, CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).TruncateAsync(Venflow.Enums.IdentityTruncateOptions, Venflow.Enums.ForeignTruncateOptions, CancellationToken)\n  nameWithType: Table<TEntity>.TruncateAsync(IdentityTruncateOptions, ForeignTruncateOptions, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).TruncateAsync(IdentityTruncateOptions, ForeignTruncateOptions, CancellationToken)\n- uid: Venflow.Table`1.TruncateAsync*\n  name: TruncateAsync\n  href: api/Venflow.Table-1.html#Venflow_Table_1_TruncateAsync_\n  commentId: Overload:Venflow.Table`1.TruncateAsync\n  isSpec: \"True\"\n  fullName: Venflow.Table<TEntity>.TruncateAsync\n  fullName.vb: Venflow.Table(Of TEntity).TruncateAsync\n  nameWithType: Table<TEntity>.TruncateAsync\n  nameWithType.vb: Table(Of TEntity).TruncateAsync\n- uid: Venflow.Table`1.Update\n  name: Update()\n  href: api/Venflow.Table-1.html#Venflow_Table_1_Update\n  commentId: M:Venflow.Table`1.Update\n  fullName: Venflow.Table<TEntity>.Update()\n  fullName.vb: Venflow.Table(Of TEntity).Update()\n  nameWithType: Table<TEntity>.Update()\n  nameWithType.vb: Table(Of TEntity).Update()\n- uid: Venflow.Table`1.Update(System.Boolean)\n  name: Update(Boolean)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_Update_System_Boolean_\n  commentId: M:Venflow.Table`1.Update(System.Boolean)\n  fullName: Venflow.Table<TEntity>.Update(System.Boolean)\n  fullName.vb: Venflow.Table(Of TEntity).Update(System.Boolean)\n  nameWithType: Table<TEntity>.Update(Boolean)\n  nameWithType.vb: Table(Of TEntity).Update(Boolean)\n- uid: Venflow.Table`1.Update*\n  name: Update\n  href: api/Venflow.Table-1.html#Venflow_Table_1_Update_\n  commentId: Overload:Venflow.Table`1.Update\n  isSpec: \"True\"\n  fullName: Venflow.Table<TEntity>.Update\n  fullName.vb: Venflow.Table(Of TEntity).Update\n  nameWithType: Table<TEntity>.Update\n  nameWithType.vb: Table(Of TEntity).Update\n- uid: Venflow.Table`1.UpdateAsync(`0,CancellationToken)\n  name: UpdateAsync(TEntity, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_UpdateAsync__0_CancellationToken_\n  commentId: M:Venflow.Table`1.UpdateAsync(`0,CancellationToken)\n  fullName: Venflow.Table<TEntity>.UpdateAsync(TEntity, CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).UpdateAsync(TEntity, CancellationToken)\n  nameWithType: Table<TEntity>.UpdateAsync(TEntity, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).UpdateAsync(TEntity, CancellationToken)\n- uid: Venflow.Table`1.UpdateAsync(`0[],CancellationToken)\n  name: UpdateAsync(TEntity[], CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_UpdateAsync__0___CancellationToken_\n  commentId: M:Venflow.Table`1.UpdateAsync(`0[],CancellationToken)\n  name.vb: UpdateAsync(TEntity(), CancellationToken)\n  fullName: Venflow.Table<TEntity>.UpdateAsync(TEntity[], CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).UpdateAsync(TEntity(), CancellationToken)\n  nameWithType: Table<TEntity>.UpdateAsync(TEntity[], CancellationToken)\n  nameWithType.vb: Table(Of TEntity).UpdateAsync(TEntity(), CancellationToken)\n- uid: Venflow.Table`1.UpdateAsync(IEnumerable{`0},CancellationToken)\n  name: UpdateAsync(IEnumerable<TEntity>, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_UpdateAsync_IEnumerable__0__CancellationToken_\n  commentId: M:Venflow.Table`1.UpdateAsync(IEnumerable{`0},CancellationToken)\n  name.vb: UpdateAsync(IEnumerable(Of TEntity), CancellationToken)\n  fullName: Venflow.Table<TEntity>.UpdateAsync(IEnumerable<TEntity>, CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).UpdateAsync(IEnumerable(Of TEntity), CancellationToken)\n  nameWithType: Table<TEntity>.UpdateAsync(IEnumerable<TEntity>, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).UpdateAsync(IEnumerable(Of TEntity), CancellationToken)\n- uid: Venflow.Table`1.UpdateAsync(IList{`0},CancellationToken)\n  name: UpdateAsync(IList<TEntity>, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_UpdateAsync_IList__0__CancellationToken_\n  commentId: M:Venflow.Table`1.UpdateAsync(IList{`0},CancellationToken)\n  name.vb: UpdateAsync(IList(Of TEntity), CancellationToken)\n  fullName: Venflow.Table<TEntity>.UpdateAsync(IList<TEntity>, CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).UpdateAsync(IList(Of TEntity), CancellationToken)\n  nameWithType: Table<TEntity>.UpdateAsync(IList<TEntity>, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).UpdateAsync(IList(Of TEntity), CancellationToken)\n- uid: Venflow.Table`1.UpdateAsync(List{`0},CancellationToken)\n  name: UpdateAsync(List<TEntity>, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_UpdateAsync_List__0__CancellationToken_\n  commentId: M:Venflow.Table`1.UpdateAsync(List{`0},CancellationToken)\n  name.vb: UpdateAsync(List(Of TEntity), CancellationToken)\n  fullName: Venflow.Table<TEntity>.UpdateAsync(List<TEntity>, CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).UpdateAsync(List(Of TEntity), CancellationToken)\n  nameWithType: Table<TEntity>.UpdateAsync(List<TEntity>, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).UpdateAsync(List(Of TEntity), CancellationToken)\n- uid: Venflow.Table`1.UpdateAsync(Venflow.Commands.IUpdateCommand{`0},`0,CancellationToken)\n  name: UpdateAsync(IUpdateCommand<TEntity>, TEntity, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_UpdateAsync_Venflow_Commands_IUpdateCommand__0___0_CancellationToken_\n  commentId: M:Venflow.Table`1.UpdateAsync(Venflow.Commands.IUpdateCommand{`0},`0,CancellationToken)\n  name.vb: UpdateAsync(IUpdateCommand(Of TEntity), TEntity, CancellationToken)\n  fullName: Venflow.Table<TEntity>.UpdateAsync(Venflow.Commands.IUpdateCommand<TEntity>, TEntity, CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).UpdateAsync(Venflow.Commands.IUpdateCommand(Of TEntity), TEntity, CancellationToken)\n  nameWithType: Table<TEntity>.UpdateAsync(IUpdateCommand<TEntity>, TEntity, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).UpdateAsync(IUpdateCommand(Of TEntity), TEntity, CancellationToken)\n- uid: Venflow.Table`1.UpdateAsync(Venflow.Commands.IUpdateCommand{`0},IEnumerable{`0},CancellationToken)\n  name: UpdateAsync(IUpdateCommand<TEntity>, IEnumerable<TEntity>, CancellationToken)\n  href: api/Venflow.Table-1.html#Venflow_Table_1_UpdateAsync_Venflow_Commands_IUpdateCommand__0__IEnumerable__0__CancellationToken_\n  commentId: M:Venflow.Table`1.UpdateAsync(Venflow.Commands.IUpdateCommand{`0},IEnumerable{`0},CancellationToken)\n  name.vb: UpdateAsync(IUpdateCommand(Of TEntity), IEnumerable(Of TEntity), CancellationToken)\n  fullName: Venflow.Table<TEntity>.UpdateAsync(Venflow.Commands.IUpdateCommand<TEntity>, IEnumerable<TEntity>, CancellationToken)\n  fullName.vb: Venflow.Table(Of TEntity).UpdateAsync(Venflow.Commands.IUpdateCommand(Of TEntity), IEnumerable(Of TEntity), CancellationToken)\n  nameWithType: Table<TEntity>.UpdateAsync(IUpdateCommand<TEntity>, IEnumerable<TEntity>, CancellationToken)\n  nameWithType.vb: Table(Of TEntity).UpdateAsync(IUpdateCommand(Of TEntity), IEnumerable(Of TEntity), CancellationToken)\n- uid: Venflow.Table`1.UpdateAsync*\n  name: UpdateAsync\n  href: api/Venflow.Table-1.html#Venflow_Table_1_UpdateAsync_\n  commentId: Overload:Venflow.Table`1.UpdateAsync\n  isSpec: \"True\"\n  fullName: Venflow.Table<TEntity>.UpdateAsync\n  fullName.vb: Venflow.Table(Of TEntity).UpdateAsync\n  nameWithType: Table<TEntity>.UpdateAsync\n  nameWithType.vb: Table(Of TEntity).UpdateAsync\n- uid: Venflow.TableBase`1\n  name: TableBase<TEntity>\n  href: api/Venflow.TableBase-1.html\n  commentId: T:Venflow.TableBase`1\n  name.vb: TableBase(Of TEntity)\n  fullName: Venflow.TableBase<TEntity>\n  fullName.vb: Venflow.TableBase(Of TEntity)\n  nameWithType: TableBase<TEntity>\n  nameWithType.vb: TableBase(Of TEntity)\n- uid: Venflow.TableBase`1.QueryAsync*\n  name: QueryAsync\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryAsync_\n  commentId: Overload:Venflow.TableBase`1.QueryAsync\n  isSpec: \"True\"\n  fullName: Venflow.TableBase<TEntity>.QueryAsync\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryAsync\n  nameWithType: TableBase<TEntity>.QueryAsync\n  nameWithType.vb: TableBase(Of TEntity).QueryAsync\n- uid: Venflow.TableBase`1.QueryAsync``1(Venflow.Commands.IQueryCommand{`0,``0},CancellationToken)\n  name: QueryAsync<TReturn>(IQueryCommand<TEntity, TReturn>, CancellationToken)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryAsync__1_Venflow_Commands_IQueryCommand__0___0__CancellationToken_\n  commentId: M:Venflow.TableBase`1.QueryAsync``1(Venflow.Commands.IQueryCommand{`0,``0},CancellationToken)\n  name.vb: QueryAsync(Of TReturn)(IQueryCommand(Of TEntity, TReturn), CancellationToken)\n  fullName: Venflow.TableBase<TEntity>.QueryAsync<TReturn>(Venflow.Commands.IQueryCommand<TEntity, TReturn>, CancellationToken)\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryAsync(Of TReturn)(Venflow.Commands.IQueryCommand(Of TEntity, TReturn), CancellationToken)\n  nameWithType: TableBase<TEntity>.QueryAsync<TReturn>(IQueryCommand<TEntity, TReturn>, CancellationToken)\n  nameWithType.vb: TableBase(Of TEntity).QueryAsync(Of TReturn)(IQueryCommand(Of TEntity, TReturn), CancellationToken)\n- uid: Venflow.TableBase`1.QueryBatch(Expression{Func{`0,FormattableString}},System.Boolean)\n  name: QueryBatch(Expression<Func<TEntity, FormattableString>>, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch_Expression_Func__0_FormattableString___System_Boolean_\n  commentId: M:Venflow.TableBase`1.QueryBatch(Expression{Func{`0,FormattableString}},System.Boolean)\n  name.vb: QueryBatch(Expression(Of Func(Of TEntity, FormattableString)), Boolean)\n  fullName: Venflow.TableBase<TEntity>.QueryBatch(Expression<Func<TEntity, FormattableString>>, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryBatch(Expression(Of Func(Of TEntity, FormattableString)), System.Boolean)\n  nameWithType: TableBase<TEntity>.QueryBatch(Expression<Func<TEntity, FormattableString>>, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QueryBatch(Expression(Of Func(Of TEntity, FormattableString)), Boolean)\n- uid: Venflow.TableBase`1.QueryBatch(System.String,IList{NpgsqlParameter})\n  name: QueryBatch(String, IList<NpgsqlParameter>)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch_System_String_IList_NpgsqlParameter__\n  commentId: M:Venflow.TableBase`1.QueryBatch(System.String,IList{NpgsqlParameter})\n  name.vb: QueryBatch(String, IList(Of NpgsqlParameter))\n  fullName: Venflow.TableBase<TEntity>.QueryBatch(System.String, IList<NpgsqlParameter>)\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryBatch(System.String, IList(Of NpgsqlParameter))\n  nameWithType: TableBase<TEntity>.QueryBatch(String, IList<NpgsqlParameter>)\n  nameWithType.vb: TableBase(Of TEntity).QueryBatch(String, IList(Of NpgsqlParameter))\n- uid: Venflow.TableBase`1.QueryBatch(System.String,NpgsqlParameter[])\n  name: QueryBatch(String, NpgsqlParameter[])\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch_System_String_NpgsqlParameter___\n  commentId: M:Venflow.TableBase`1.QueryBatch(System.String,NpgsqlParameter[])\n  name.vb: QueryBatch(String, NpgsqlParameter())\n  fullName: Venflow.TableBase<TEntity>.QueryBatch(System.String, NpgsqlParameter[])\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryBatch(System.String, NpgsqlParameter())\n  nameWithType: TableBase<TEntity>.QueryBatch(String, NpgsqlParameter[])\n  nameWithType.vb: TableBase(Of TEntity).QueryBatch(String, NpgsqlParameter())\n- uid: Venflow.TableBase`1.QueryBatch(System.String,System.Boolean)\n  name: QueryBatch(String, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch_System_String_System_Boolean_\n  commentId: M:Venflow.TableBase`1.QueryBatch(System.String,System.Boolean)\n  fullName: Venflow.TableBase<TEntity>.QueryBatch(System.String, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryBatch(System.String, System.Boolean)\n  nameWithType: TableBase<TEntity>.QueryBatch(String, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QueryBatch(String, Boolean)\n- uid: Venflow.TableBase`1.QueryBatch(System.String,System.Boolean,NpgsqlParameter[])\n  name: QueryBatch(String, Boolean, NpgsqlParameter[])\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch_System_String_System_Boolean_NpgsqlParameter___\n  commentId: M:Venflow.TableBase`1.QueryBatch(System.String,System.Boolean,NpgsqlParameter[])\n  name.vb: QueryBatch(String, Boolean, NpgsqlParameter())\n  fullName: Venflow.TableBase<TEntity>.QueryBatch(System.String, System.Boolean, NpgsqlParameter[])\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryBatch(System.String, System.Boolean, NpgsqlParameter())\n  nameWithType: TableBase<TEntity>.QueryBatch(String, Boolean, NpgsqlParameter[])\n  nameWithType.vb: TableBase(Of TEntity).QueryBatch(String, Boolean, NpgsqlParameter())\n- uid: Venflow.TableBase`1.QueryBatch*\n  name: QueryBatch\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch_\n  commentId: Overload:Venflow.TableBase`1.QueryBatch\n  isSpec: \"True\"\n  fullName: Venflow.TableBase<TEntity>.QueryBatch\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryBatch\n  nameWithType: TableBase<TEntity>.QueryBatch\n  nameWithType.vb: TableBase(Of TEntity).QueryBatch\n- uid: Venflow.TableBase`1.QueryBatch``1(Expression{Func{`0,``0,FormattableString}},System.Boolean)\n  name: QueryBatch<TOne>(Expression<Func<TEntity, TOne, FormattableString>>, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__1_Expression_Func__0___0_FormattableString___System_Boolean_\n  commentId: M:Venflow.TableBase`1.QueryBatch``1(Expression{Func{`0,``0,FormattableString}},System.Boolean)\n  name.vb: QueryBatch(Of TOne)(Expression(Of Func(Of TEntity, TOne, FormattableString)), Boolean)\n  fullName: Venflow.TableBase<TEntity>.QueryBatch<TOne>(Expression<Func<TEntity, TOne, FormattableString>>, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryBatch(Of TOne)(Expression(Of Func(Of TEntity, TOne, FormattableString)), System.Boolean)\n  nameWithType: TableBase<TEntity>.QueryBatch<TOne>(Expression<Func<TEntity, TOne, FormattableString>>, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QueryBatch(Of TOne)(Expression(Of Func(Of TEntity, TOne, FormattableString)), Boolean)\n- uid: Venflow.TableBase`1.QueryBatch``2(Expression{Func{`0,``0,``1,FormattableString}},System.Boolean)\n  name: QueryBatch<TOne, Two>(Expression<Func<TEntity, TOne, Two, FormattableString>>, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__2_Expression_Func__0___0___1_FormattableString___System_Boolean_\n  commentId: M:Venflow.TableBase`1.QueryBatch``2(Expression{Func{`0,``0,``1,FormattableString}},System.Boolean)\n  name.vb: QueryBatch(Of TOne, Two)(Expression(Of Func(Of TEntity, TOne, Two, FormattableString)), Boolean)\n  fullName: Venflow.TableBase<TEntity>.QueryBatch<TOne, Two>(Expression<Func<TEntity, TOne, Two, FormattableString>>, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryBatch(Of TOne, Two)(Expression(Of Func(Of TEntity, TOne, Two, FormattableString)), System.Boolean)\n  nameWithType: TableBase<TEntity>.QueryBatch<TOne, Two>(Expression<Func<TEntity, TOne, Two, FormattableString>>, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QueryBatch(Of TOne, Two)(Expression(Of Func(Of TEntity, TOne, Two, FormattableString)), Boolean)\n- uid: Venflow.TableBase`1.QueryBatch``3(Expression{Func{`0,``0,``1,``2,FormattableString}},System.Boolean)\n  name: QueryBatch<TOne, Two, TThree>(Expression<Func<TEntity, TOne, Two, TThree, FormattableString>>, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__3_Expression_Func__0___0___1___2_FormattableString___System_Boolean_\n  commentId: M:Venflow.TableBase`1.QueryBatch``3(Expression{Func{`0,``0,``1,``2,FormattableString}},System.Boolean)\n  name.vb: QueryBatch(Of TOne, Two, TThree)(Expression(Of Func(Of TEntity, TOne, Two, TThree, FormattableString)), Boolean)\n  fullName: Venflow.TableBase<TEntity>.QueryBatch<TOne, Two, TThree>(Expression<Func<TEntity, TOne, Two, TThree, FormattableString>>, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryBatch(Of TOne, Two, TThree)(Expression(Of Func(Of TEntity, TOne, Two, TThree, FormattableString)), System.Boolean)\n  nameWithType: TableBase<TEntity>.QueryBatch<TOne, Two, TThree>(Expression<Func<TEntity, TOne, Two, TThree, FormattableString>>, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QueryBatch(Of TOne, Two, TThree)(Expression(Of Func(Of TEntity, TOne, Two, TThree, FormattableString)), Boolean)\n- uid: Venflow.TableBase`1.QueryBatch``4(Expression{Func{`0,``0,``1,``2,``3,FormattableString}},System.Boolean)\n  name: QueryBatch<TOne, Two, TThree, TFour>(Expression<Func<TEntity, TOne, Two, TThree, TFour, FormattableString>>, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__4_Expression_Func__0___0___1___2___3_FormattableString___System_Boolean_\n  commentId: M:Venflow.TableBase`1.QueryBatch``4(Expression{Func{`0,``0,``1,``2,``3,FormattableString}},System.Boolean)\n  name.vb: QueryBatch(Of TOne, Two, TThree, TFour)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, FormattableString)), Boolean)\n  fullName: Venflow.TableBase<TEntity>.QueryBatch<TOne, Two, TThree, TFour>(Expression<Func<TEntity, TOne, Two, TThree, TFour, FormattableString>>, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryBatch(Of TOne, Two, TThree, TFour)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, FormattableString)), System.Boolean)\n  nameWithType: TableBase<TEntity>.QueryBatch<TOne, Two, TThree, TFour>(Expression<Func<TEntity, TOne, Two, TThree, TFour, FormattableString>>, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QueryBatch(Of TOne, Two, TThree, TFour)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, FormattableString)), Boolean)\n- uid: Venflow.TableBase`1.QueryBatch``5(Expression{Func{`0,``0,``1,``2,``3,``4,FormattableString}},System.Boolean)\n  name: QueryBatch<TOne, Two, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, FormattableString>>, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__5_Expression_Func__0___0___1___2___3___4_FormattableString___System_Boolean_\n  commentId: M:Venflow.TableBase`1.QueryBatch``5(Expression{Func{`0,``0,``1,``2,``3,``4,FormattableString}},System.Boolean)\n  name.vb: QueryBatch(Of TOne, Two, TThree, TFour, TFive)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, FormattableString)), Boolean)\n  fullName: Venflow.TableBase<TEntity>.QueryBatch<TOne, Two, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, FormattableString>>, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryBatch(Of TOne, Two, TThree, TFour, TFive)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, FormattableString)), System.Boolean)\n  nameWithType: TableBase<TEntity>.QueryBatch<TOne, Two, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, FormattableString>>, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QueryBatch(Of TOne, Two, TThree, TFour, TFive)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, FormattableString)), Boolean)\n- uid: Venflow.TableBase`1.QueryBatch``6(Expression{Func{`0,``0,``1,``2,``3,``4,``5,FormattableString}},System.Boolean)\n  name: QueryBatch<TOne, Two, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString>>, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___System_Boolean_\n  commentId: M:Venflow.TableBase`1.QueryBatch``6(Expression{Func{`0,``0,``1,``2,``3,``4,``5,FormattableString}},System.Boolean)\n  name.vb: QueryBatch(Of TOne, Two, TThree, TFour, TFive, TSix)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString)), Boolean)\n  fullName: Venflow.TableBase<TEntity>.QueryBatch<TOne, Two, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString>>, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryBatch(Of TOne, Two, TThree, TFour, TFive, TSix)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString)), System.Boolean)\n  nameWithType: TableBase<TEntity>.QueryBatch<TOne, Two, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString>>, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QueryBatch(Of TOne, Two, TThree, TFour, TFive, TSix)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString)), Boolean)\n- uid: Venflow.TableBase`1.QueryBatch``7(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,FormattableString}},System.Boolean)\n  name: QueryBatch<TOne, Two, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString>>, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___System_Boolean_\n  commentId: M:Venflow.TableBase`1.QueryBatch``7(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,FormattableString}},System.Boolean)\n  name.vb: QueryBatch(Of TOne, Two, TThree, TFour, TFive, TSix, TSeven)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString)), Boolean)\n  fullName: Venflow.TableBase<TEntity>.QueryBatch<TOne, Two, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString>>, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryBatch(Of TOne, Two, TThree, TFour, TFive, TSix, TSeven)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString)), System.Boolean)\n  nameWithType: TableBase<TEntity>.QueryBatch<TOne, Two, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString>>, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QueryBatch(Of TOne, Two, TThree, TFour, TFive, TSix, TSeven)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString)), Boolean)\n- uid: Venflow.TableBase`1.QueryBatch``8(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,``7,FormattableString}},System.Boolean)\n  name: QueryBatch<TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>>, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryBatch__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___System_Boolean_\n  commentId: M:Venflow.TableBase`1.QueryBatch``8(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,``7,FormattableString}},System.Boolean)\n  name.vb: QueryBatch(Of TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString)), Boolean)\n  fullName: Venflow.TableBase<TEntity>.QueryBatch<TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>>, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryBatch(Of TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString)), System.Boolean)\n  nameWithType: TableBase<TEntity>.QueryBatch<TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>>, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QueryBatch(Of TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString)), Boolean)\n- uid: Venflow.TableBase`1.QueryInterpolatedBatch(FormattableString,System.Boolean)\n  name: QueryInterpolatedBatch(FormattableString, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedBatch_FormattableString_System_Boolean_\n  commentId: M:Venflow.TableBase`1.QueryInterpolatedBatch(FormattableString,System.Boolean)\n  fullName: Venflow.TableBase<TEntity>.QueryInterpolatedBatch(FormattableString, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryInterpolatedBatch(FormattableString, System.Boolean)\n  nameWithType: TableBase<TEntity>.QueryInterpolatedBatch(FormattableString, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QueryInterpolatedBatch(FormattableString, Boolean)\n- uid: Venflow.TableBase`1.QueryInterpolatedBatch(Venflow.FormattableSqlStringBuilder,System.Boolean)\n  name: QueryInterpolatedBatch(FormattableSqlStringBuilder, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedBatch_Venflow_FormattableSqlStringBuilder_System_Boolean_\n  commentId: M:Venflow.TableBase`1.QueryInterpolatedBatch(Venflow.FormattableSqlStringBuilder,System.Boolean)\n  fullName: Venflow.TableBase<TEntity>.QueryInterpolatedBatch(Venflow.FormattableSqlStringBuilder, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryInterpolatedBatch(Venflow.FormattableSqlStringBuilder, System.Boolean)\n  nameWithType: TableBase<TEntity>.QueryInterpolatedBatch(FormattableSqlStringBuilder, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QueryInterpolatedBatch(FormattableSqlStringBuilder, Boolean)\n- uid: Venflow.TableBase`1.QueryInterpolatedBatch*\n  name: QueryInterpolatedBatch\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedBatch_\n  commentId: Overload:Venflow.TableBase`1.QueryInterpolatedBatch\n  isSpec: \"True\"\n  fullName: Venflow.TableBase<TEntity>.QueryInterpolatedBatch\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryInterpolatedBatch\n  nameWithType: TableBase<TEntity>.QueryInterpolatedBatch\n  nameWithType.vb: TableBase(Of TEntity).QueryInterpolatedBatch\n- uid: Venflow.TableBase`1.QueryInterpolatedSingle(FormattableString,System.Boolean)\n  name: QueryInterpolatedSingle(FormattableString, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_FormattableString_System_Boolean_\n  commentId: M:Venflow.TableBase`1.QueryInterpolatedSingle(FormattableString,System.Boolean)\n  fullName: Venflow.TableBase<TEntity>.QueryInterpolatedSingle(FormattableString, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryInterpolatedSingle(FormattableString, System.Boolean)\n  nameWithType: TableBase<TEntity>.QueryInterpolatedSingle(FormattableString, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QueryInterpolatedSingle(FormattableString, Boolean)\n- uid: Venflow.TableBase`1.QueryInterpolatedSingle(Venflow.FormattableSqlStringBuilder,System.Boolean)\n  name: QueryInterpolatedSingle(FormattableSqlStringBuilder, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_Venflow_FormattableSqlStringBuilder_System_Boolean_\n  commentId: M:Venflow.TableBase`1.QueryInterpolatedSingle(Venflow.FormattableSqlStringBuilder,System.Boolean)\n  fullName: Venflow.TableBase<TEntity>.QueryInterpolatedSingle(Venflow.FormattableSqlStringBuilder, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryInterpolatedSingle(Venflow.FormattableSqlStringBuilder, System.Boolean)\n  nameWithType: TableBase<TEntity>.QueryInterpolatedSingle(FormattableSqlStringBuilder, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QueryInterpolatedSingle(FormattableSqlStringBuilder, Boolean)\n- uid: Venflow.TableBase`1.QueryInterpolatedSingle*\n  name: QueryInterpolatedSingle\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QueryInterpolatedSingle_\n  commentId: Overload:Venflow.TableBase`1.QueryInterpolatedSingle\n  isSpec: \"True\"\n  fullName: Venflow.TableBase<TEntity>.QueryInterpolatedSingle\n  fullName.vb: Venflow.TableBase(Of TEntity).QueryInterpolatedSingle\n  nameWithType: TableBase<TEntity>.QueryInterpolatedSingle\n  nameWithType.vb: TableBase(Of TEntity).QueryInterpolatedSingle\n- uid: Venflow.TableBase`1.QuerySingle(Expression{Func{`0,FormattableString}},System.Boolean)\n  name: QuerySingle(Expression<Func<TEntity, FormattableString>>, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_Expression_Func__0_FormattableString___System_Boolean_\n  commentId: M:Venflow.TableBase`1.QuerySingle(Expression{Func{`0,FormattableString}},System.Boolean)\n  name.vb: QuerySingle(Expression(Of Func(Of TEntity, FormattableString)), Boolean)\n  fullName: Venflow.TableBase<TEntity>.QuerySingle(Expression<Func<TEntity, FormattableString>>, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QuerySingle(Expression(Of Func(Of TEntity, FormattableString)), System.Boolean)\n  nameWithType: TableBase<TEntity>.QuerySingle(Expression<Func<TEntity, FormattableString>>, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QuerySingle(Expression(Of Func(Of TEntity, FormattableString)), Boolean)\n- uid: Venflow.TableBase`1.QuerySingle(System.String,IList{NpgsqlParameter})\n  name: QuerySingle(String, IList<NpgsqlParameter>)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_System_String_IList_NpgsqlParameter__\n  commentId: M:Venflow.TableBase`1.QuerySingle(System.String,IList{NpgsqlParameter})\n  name.vb: QuerySingle(String, IList(Of NpgsqlParameter))\n  fullName: Venflow.TableBase<TEntity>.QuerySingle(System.String, IList<NpgsqlParameter>)\n  fullName.vb: Venflow.TableBase(Of TEntity).QuerySingle(System.String, IList(Of NpgsqlParameter))\n  nameWithType: TableBase<TEntity>.QuerySingle(String, IList<NpgsqlParameter>)\n  nameWithType.vb: TableBase(Of TEntity).QuerySingle(String, IList(Of NpgsqlParameter))\n- uid: Venflow.TableBase`1.QuerySingle(System.String,NpgsqlParameter[])\n  name: QuerySingle(String, NpgsqlParameter[])\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_System_String_NpgsqlParameter___\n  commentId: M:Venflow.TableBase`1.QuerySingle(System.String,NpgsqlParameter[])\n  name.vb: QuerySingle(String, NpgsqlParameter())\n  fullName: Venflow.TableBase<TEntity>.QuerySingle(System.String, NpgsqlParameter[])\n  fullName.vb: Venflow.TableBase(Of TEntity).QuerySingle(System.String, NpgsqlParameter())\n  nameWithType: TableBase<TEntity>.QuerySingle(String, NpgsqlParameter[])\n  nameWithType.vb: TableBase(Of TEntity).QuerySingle(String, NpgsqlParameter())\n- uid: Venflow.TableBase`1.QuerySingle(System.String,System.Boolean)\n  name: QuerySingle(String, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_System_String_System_Boolean_\n  commentId: M:Venflow.TableBase`1.QuerySingle(System.String,System.Boolean)\n  fullName: Venflow.TableBase<TEntity>.QuerySingle(System.String, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QuerySingle(System.String, System.Boolean)\n  nameWithType: TableBase<TEntity>.QuerySingle(String, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QuerySingle(String, Boolean)\n- uid: Venflow.TableBase`1.QuerySingle(System.String,System.Boolean,NpgsqlParameter[])\n  name: QuerySingle(String, Boolean, NpgsqlParameter[])\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_System_String_System_Boolean_NpgsqlParameter___\n  commentId: M:Venflow.TableBase`1.QuerySingle(System.String,System.Boolean,NpgsqlParameter[])\n  name.vb: QuerySingle(String, Boolean, NpgsqlParameter())\n  fullName: Venflow.TableBase<TEntity>.QuerySingle(System.String, System.Boolean, NpgsqlParameter[])\n  fullName.vb: Venflow.TableBase(Of TEntity).QuerySingle(System.String, System.Boolean, NpgsqlParameter())\n  nameWithType: TableBase<TEntity>.QuerySingle(String, Boolean, NpgsqlParameter[])\n  nameWithType.vb: TableBase(Of TEntity).QuerySingle(String, Boolean, NpgsqlParameter())\n- uid: Venflow.TableBase`1.QuerySingle*\n  name: QuerySingle\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle_\n  commentId: Overload:Venflow.TableBase`1.QuerySingle\n  isSpec: \"True\"\n  fullName: Venflow.TableBase<TEntity>.QuerySingle\n  fullName.vb: Venflow.TableBase(Of TEntity).QuerySingle\n  nameWithType: TableBase<TEntity>.QuerySingle\n  nameWithType.vb: TableBase(Of TEntity).QuerySingle\n- uid: Venflow.TableBase`1.QuerySingle``1(Expression{Func{`0,``0,FormattableString}},System.Boolean)\n  name: QuerySingle<TOne>(Expression<Func<TEntity, TOne, FormattableString>>, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__1_Expression_Func__0___0_FormattableString___System_Boolean_\n  commentId: M:Venflow.TableBase`1.QuerySingle``1(Expression{Func{`0,``0,FormattableString}},System.Boolean)\n  name.vb: QuerySingle(Of TOne)(Expression(Of Func(Of TEntity, TOne, FormattableString)), Boolean)\n  fullName: Venflow.TableBase<TEntity>.QuerySingle<TOne>(Expression<Func<TEntity, TOne, FormattableString>>, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QuerySingle(Of TOne)(Expression(Of Func(Of TEntity, TOne, FormattableString)), System.Boolean)\n  nameWithType: TableBase<TEntity>.QuerySingle<TOne>(Expression<Func<TEntity, TOne, FormattableString>>, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QuerySingle(Of TOne)(Expression(Of Func(Of TEntity, TOne, FormattableString)), Boolean)\n- uid: Venflow.TableBase`1.QuerySingle``2(Expression{Func{`0,``0,``1,FormattableString}},System.Boolean)\n  name: QuerySingle<TOne, Two>(Expression<Func<TEntity, TOne, Two, FormattableString>>, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__2_Expression_Func__0___0___1_FormattableString___System_Boolean_\n  commentId: M:Venflow.TableBase`1.QuerySingle``2(Expression{Func{`0,``0,``1,FormattableString}},System.Boolean)\n  name.vb: QuerySingle(Of TOne, Two)(Expression(Of Func(Of TEntity, TOne, Two, FormattableString)), Boolean)\n  fullName: Venflow.TableBase<TEntity>.QuerySingle<TOne, Two>(Expression<Func<TEntity, TOne, Two, FormattableString>>, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QuerySingle(Of TOne, Two)(Expression(Of Func(Of TEntity, TOne, Two, FormattableString)), System.Boolean)\n  nameWithType: TableBase<TEntity>.QuerySingle<TOne, Two>(Expression<Func<TEntity, TOne, Two, FormattableString>>, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QuerySingle(Of TOne, Two)(Expression(Of Func(Of TEntity, TOne, Two, FormattableString)), Boolean)\n- uid: Venflow.TableBase`1.QuerySingle``3(Expression{Func{`0,``0,``1,``2,FormattableString}},System.Boolean)\n  name: QuerySingle<TOne, Two, TThree>(Expression<Func<TEntity, TOne, Two, TThree, FormattableString>>, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__3_Expression_Func__0___0___1___2_FormattableString___System_Boolean_\n  commentId: M:Venflow.TableBase`1.QuerySingle``3(Expression{Func{`0,``0,``1,``2,FormattableString}},System.Boolean)\n  name.vb: QuerySingle(Of TOne, Two, TThree)(Expression(Of Func(Of TEntity, TOne, Two, TThree, FormattableString)), Boolean)\n  fullName: Venflow.TableBase<TEntity>.QuerySingle<TOne, Two, TThree>(Expression<Func<TEntity, TOne, Two, TThree, FormattableString>>, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QuerySingle(Of TOne, Two, TThree)(Expression(Of Func(Of TEntity, TOne, Two, TThree, FormattableString)), System.Boolean)\n  nameWithType: TableBase<TEntity>.QuerySingle<TOne, Two, TThree>(Expression<Func<TEntity, TOne, Two, TThree, FormattableString>>, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QuerySingle(Of TOne, Two, TThree)(Expression(Of Func(Of TEntity, TOne, Two, TThree, FormattableString)), Boolean)\n- uid: Venflow.TableBase`1.QuerySingle``4(Expression{Func{`0,``0,``1,``2,``3,FormattableString}},System.Boolean)\n  name: QuerySingle<TOne, Two, TThree, TFour>(Expression<Func<TEntity, TOne, Two, TThree, TFour, FormattableString>>, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__4_Expression_Func__0___0___1___2___3_FormattableString___System_Boolean_\n  commentId: M:Venflow.TableBase`1.QuerySingle``4(Expression{Func{`0,``0,``1,``2,``3,FormattableString}},System.Boolean)\n  name.vb: QuerySingle(Of TOne, Two, TThree, TFour)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, FormattableString)), Boolean)\n  fullName: Venflow.TableBase<TEntity>.QuerySingle<TOne, Two, TThree, TFour>(Expression<Func<TEntity, TOne, Two, TThree, TFour, FormattableString>>, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QuerySingle(Of TOne, Two, TThree, TFour)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, FormattableString)), System.Boolean)\n  nameWithType: TableBase<TEntity>.QuerySingle<TOne, Two, TThree, TFour>(Expression<Func<TEntity, TOne, Two, TThree, TFour, FormattableString>>, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QuerySingle(Of TOne, Two, TThree, TFour)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, FormattableString)), Boolean)\n- uid: Venflow.TableBase`1.QuerySingle``5(Expression{Func{`0,``0,``1,``2,``3,``4,FormattableString}},System.Boolean)\n  name: QuerySingle<TOne, Two, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, FormattableString>>, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__5_Expression_Func__0___0___1___2___3___4_FormattableString___System_Boolean_\n  commentId: M:Venflow.TableBase`1.QuerySingle``5(Expression{Func{`0,``0,``1,``2,``3,``4,FormattableString}},System.Boolean)\n  name.vb: QuerySingle(Of TOne, Two, TThree, TFour, TFive)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, FormattableString)), Boolean)\n  fullName: Venflow.TableBase<TEntity>.QuerySingle<TOne, Two, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, FormattableString>>, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QuerySingle(Of TOne, Two, TThree, TFour, TFive)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, FormattableString)), System.Boolean)\n  nameWithType: TableBase<TEntity>.QuerySingle<TOne, Two, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, FormattableString>>, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QuerySingle(Of TOne, Two, TThree, TFour, TFive)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, FormattableString)), Boolean)\n- uid: Venflow.TableBase`1.QuerySingle``6(Expression{Func{`0,``0,``1,``2,``3,``4,``5,FormattableString}},System.Boolean)\n  name: QuerySingle<TOne, Two, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString>>, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__6_Expression_Func__0___0___1___2___3___4___5_FormattableString___System_Boolean_\n  commentId: M:Venflow.TableBase`1.QuerySingle``6(Expression{Func{`0,``0,``1,``2,``3,``4,``5,FormattableString}},System.Boolean)\n  name.vb: QuerySingle(Of TOne, Two, TThree, TFour, TFive, TSix)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString)), Boolean)\n  fullName: Venflow.TableBase<TEntity>.QuerySingle<TOne, Two, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString>>, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QuerySingle(Of TOne, Two, TThree, TFour, TFive, TSix)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString)), System.Boolean)\n  nameWithType: TableBase<TEntity>.QuerySingle<TOne, Two, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString>>, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QuerySingle(Of TOne, Two, TThree, TFour, TFive, TSix)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString)), Boolean)\n- uid: Venflow.TableBase`1.QuerySingle``7(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,FormattableString}},System.Boolean)\n  name: QuerySingle<TOne, Two, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString>>, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__7_Expression_Func__0___0___1___2___3___4___5___6_FormattableString___System_Boolean_\n  commentId: M:Venflow.TableBase`1.QuerySingle``7(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,FormattableString}},System.Boolean)\n  name.vb: QuerySingle(Of TOne, Two, TThree, TFour, TFive, TSix, TSeven)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString)), Boolean)\n  fullName: Venflow.TableBase<TEntity>.QuerySingle<TOne, Two, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString>>, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QuerySingle(Of TOne, Two, TThree, TFour, TFive, TSix, TSeven)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString)), System.Boolean)\n  nameWithType: TableBase<TEntity>.QuerySingle<TOne, Two, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString>>, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QuerySingle(Of TOne, Two, TThree, TFour, TFive, TSix, TSeven)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString)), Boolean)\n- uid: Venflow.TableBase`1.QuerySingle``8(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,``7,FormattableString}},System.Boolean)\n  name: QuerySingle<TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>>, Boolean)\n  href: api/Venflow.TableBase-1.html#Venflow_TableBase_1_QuerySingle__8_Expression_Func__0___0___1___2___3___4___5___6___7_FormattableString___System_Boolean_\n  commentId: M:Venflow.TableBase`1.QuerySingle``8(Expression{Func{`0,``0,``1,``2,``3,``4,``5,``6,``7,FormattableString}},System.Boolean)\n  name.vb: QuerySingle(Of TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString)), Boolean)\n  fullName: Venflow.TableBase<TEntity>.QuerySingle<TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>>, System.Boolean)\n  fullName.vb: Venflow.TableBase(Of TEntity).QuerySingle(Of TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString)), System.Boolean)\n  nameWithType: TableBase<TEntity>.QuerySingle<TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>>, Boolean)\n  nameWithType.vb: TableBase(Of TEntity).QuerySingle(Of TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight)(Expression(Of Func(Of TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString)), Boolean)\n- uid: Venflow.TypeArgumentException\n  name: TypeArgumentException\n  href: api/Venflow.TypeArgumentException.html\n  commentId: T:Venflow.TypeArgumentException\n  fullName: Venflow.TypeArgumentException\n  nameWithType: TypeArgumentException\n- uid: Venflow.TypeArgumentException.#ctor\n  name: TypeArgumentException()\n  href: api/Venflow.TypeArgumentException.html#Venflow_TypeArgumentException__ctor\n  commentId: M:Venflow.TypeArgumentException.#ctor\n  fullName: Venflow.TypeArgumentException.TypeArgumentException()\n  nameWithType: TypeArgumentException.TypeArgumentException()\n- uid: Venflow.TypeArgumentException.#ctor(System.String)\n  name: TypeArgumentException(String)\n  href: api/Venflow.TypeArgumentException.html#Venflow_TypeArgumentException__ctor_System_String_\n  commentId: M:Venflow.TypeArgumentException.#ctor(System.String)\n  fullName: Venflow.TypeArgumentException.TypeArgumentException(System.String)\n  nameWithType: TypeArgumentException.TypeArgumentException(String)\n- uid: Venflow.TypeArgumentException.#ctor(System.String,Exception)\n  name: TypeArgumentException(String, Exception)\n  href: api/Venflow.TypeArgumentException.html#Venflow_TypeArgumentException__ctor_System_String_Exception_\n  commentId: M:Venflow.TypeArgumentException.#ctor(System.String,Exception)\n  fullName: Venflow.TypeArgumentException.TypeArgumentException(System.String, Exception)\n  nameWithType: TypeArgumentException.TypeArgumentException(String, Exception)\n- uid: Venflow.TypeArgumentException.#ctor(System.String,System.String)\n  name: TypeArgumentException(String, String)\n  href: api/Venflow.TypeArgumentException.html#Venflow_TypeArgumentException__ctor_System_String_System_String_\n  commentId: M:Venflow.TypeArgumentException.#ctor(System.String,System.String)\n  fullName: Venflow.TypeArgumentException.TypeArgumentException(System.String, System.String)\n  nameWithType: TypeArgumentException.TypeArgumentException(String, String)\n- uid: Venflow.TypeArgumentException.#ctor*\n  name: TypeArgumentException\n  href: api/Venflow.TypeArgumentException.html#Venflow_TypeArgumentException__ctor_\n  commentId: Overload:Venflow.TypeArgumentException.#ctor\n  isSpec: \"True\"\n  fullName: Venflow.TypeArgumentException.TypeArgumentException\n  nameWithType: TypeArgumentException.TypeArgumentException\n- uid: Venflow.VenflowConfiguration\n  name: VenflowConfiguration\n  href: api/Venflow.VenflowConfiguration.html\n  commentId: T:Venflow.VenflowConfiguration\n  fullName: Venflow.VenflowConfiguration\n  nameWithType: VenflowConfiguration\n- uid: Venflow.VenflowConfiguration.DynamicCacheExpirationTime\n  name: DynamicCacheExpirationTime\n  href: api/Venflow.VenflowConfiguration.html#Venflow_VenflowConfiguration_DynamicCacheExpirationTime\n  commentId: P:Venflow.VenflowConfiguration.DynamicCacheExpirationTime\n  fullName: Venflow.VenflowConfiguration.DynamicCacheExpirationTime\n  nameWithType: VenflowConfiguration.DynamicCacheExpirationTime\n- uid: Venflow.VenflowConfiguration.DynamicCacheExpirationTime*\n  name: DynamicCacheExpirationTime\n  href: api/Venflow.VenflowConfiguration.html#Venflow_VenflowConfiguration_DynamicCacheExpirationTime_\n  commentId: Overload:Venflow.VenflowConfiguration.DynamicCacheExpirationTime\n  isSpec: \"True\"\n  fullName: Venflow.VenflowConfiguration.DynamicCacheExpirationTime\n  nameWithType: VenflowConfiguration.DynamicCacheExpirationTime\n- uid: Venflow.VenflowConfiguration.SetDynamicCacheExpirationTime(System.Int64)\n  name: SetDynamicCacheExpirationTime(Int64)\n  href: api/Venflow.VenflowConfiguration.html#Venflow_VenflowConfiguration_SetDynamicCacheExpirationTime_System_Int64_\n  commentId: M:Venflow.VenflowConfiguration.SetDynamicCacheExpirationTime(System.Int64)\n  fullName: Venflow.VenflowConfiguration.SetDynamicCacheExpirationTime(System.Int64)\n  nameWithType: VenflowConfiguration.SetDynamicCacheExpirationTime(Int64)\n- uid: Venflow.VenflowConfiguration.SetDynamicCacheExpirationTime(TimeSpan)\n  name: SetDynamicCacheExpirationTime(TimeSpan)\n  href: api/Venflow.VenflowConfiguration.html#Venflow_VenflowConfiguration_SetDynamicCacheExpirationTime_TimeSpan_\n  commentId: M:Venflow.VenflowConfiguration.SetDynamicCacheExpirationTime(TimeSpan)\n  fullName: Venflow.VenflowConfiguration.SetDynamicCacheExpirationTime(TimeSpan)\n  nameWithType: VenflowConfiguration.SetDynamicCacheExpirationTime(TimeSpan)\n- uid: Venflow.VenflowConfiguration.SetDynamicCacheExpirationTime*\n  name: SetDynamicCacheExpirationTime\n  href: api/Venflow.VenflowConfiguration.html#Venflow_VenflowConfiguration_SetDynamicCacheExpirationTime_\n  commentId: Overload:Venflow.VenflowConfiguration.SetDynamicCacheExpirationTime\n  isSpec: \"True\"\n  fullName: Venflow.VenflowConfiguration.SetDynamicCacheExpirationTime\n  nameWithType: VenflowConfiguration.SetDynamicCacheExpirationTime\n- uid: Venflow.VenflowConfiguration.ShouldUseDeepValidation\n  name: ShouldUseDeepValidation\n  href: api/Venflow.VenflowConfiguration.html#Venflow_VenflowConfiguration_ShouldUseDeepValidation\n  commentId: P:Venflow.VenflowConfiguration.ShouldUseDeepValidation\n  fullName: Venflow.VenflowConfiguration.ShouldUseDeepValidation\n  nameWithType: VenflowConfiguration.ShouldUseDeepValidation\n- uid: Venflow.VenflowConfiguration.ShouldUseDeepValidation*\n  name: ShouldUseDeepValidation\n  href: api/Venflow.VenflowConfiguration.html#Venflow_VenflowConfiguration_ShouldUseDeepValidation_\n  commentId: Overload:Venflow.VenflowConfiguration.ShouldUseDeepValidation\n  isSpec: \"True\"\n  fullName: Venflow.VenflowConfiguration.ShouldUseDeepValidation\n  nameWithType: VenflowConfiguration.ShouldUseDeepValidation\n- uid: Venflow.VenflowConfiguration.ThrowLoggedExceptions\n  name: ThrowLoggedExceptions\n  href: api/Venflow.VenflowConfiguration.html#Venflow_VenflowConfiguration_ThrowLoggedExceptions\n  commentId: P:Venflow.VenflowConfiguration.ThrowLoggedExceptions\n  fullName: Venflow.VenflowConfiguration.ThrowLoggedExceptions\n  nameWithType: VenflowConfiguration.ThrowLoggedExceptions\n- uid: Venflow.VenflowConfiguration.ThrowLoggedExceptions*\n  name: ThrowLoggedExceptions\n  href: api/Venflow.VenflowConfiguration.html#Venflow_VenflowConfiguration_ThrowLoggedExceptions_\n  commentId: Overload:Venflow.VenflowConfiguration.ThrowLoggedExceptions\n  isSpec: \"True\"\n  fullName: Venflow.VenflowConfiguration.ThrowLoggedExceptions\n  nameWithType: VenflowConfiguration.ThrowLoggedExceptions\n- uid: Venflow.VenflowConfiguration.UseDeepValidation(System.Boolean)\n  name: UseDeepValidation(Boolean)\n  href: api/Venflow.VenflowConfiguration.html#Venflow_VenflowConfiguration_UseDeepValidation_System_Boolean_\n  commentId: M:Venflow.VenflowConfiguration.UseDeepValidation(System.Boolean)\n  fullName: Venflow.VenflowConfiguration.UseDeepValidation(System.Boolean)\n  nameWithType: VenflowConfiguration.UseDeepValidation(Boolean)\n- uid: Venflow.VenflowConfiguration.UseDeepValidation*\n  name: UseDeepValidation\n  href: api/Venflow.VenflowConfiguration.html#Venflow_VenflowConfiguration_UseDeepValidation_\n  commentId: Overload:Venflow.VenflowConfiguration.UseDeepValidation\n  isSpec: \"True\"\n  fullName: Venflow.VenflowConfiguration.UseDeepValidation\n  nameWithType: VenflowConfiguration.UseDeepValidation\n- uid: Venflow.VenflowDbType\n  name: VenflowDbType\n  href: api/Venflow.VenflowDbType.html\n  commentId: T:Venflow.VenflowDbType\n  fullName: Venflow.VenflowDbType\n  nameWithType: VenflowDbType\n- uid: Venflow.VenflowDbType.Abstime\n  name: Abstime\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Abstime\n  commentId: F:Venflow.VenflowDbType.Abstime\n  fullName: Venflow.VenflowDbType.Abstime\n  nameWithType: VenflowDbType.Abstime\n- uid: Venflow.VenflowDbType.Array\n  name: Array\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Array\n  commentId: F:Venflow.VenflowDbType.Array\n  fullName: Venflow.VenflowDbType.Array\n  nameWithType: VenflowDbType.Array\n- uid: Venflow.VenflowDbType.Bigint\n  name: Bigint\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Bigint\n  commentId: F:Venflow.VenflowDbType.Bigint\n  fullName: Venflow.VenflowDbType.Bigint\n  nameWithType: VenflowDbType.Bigint\n- uid: Venflow.VenflowDbType.Bit\n  name: Bit\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Bit\n  commentId: F:Venflow.VenflowDbType.Bit\n  fullName: Venflow.VenflowDbType.Bit\n  nameWithType: VenflowDbType.Bit\n- uid: Venflow.VenflowDbType.Boolean\n  name: Boolean\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Boolean\n  commentId: F:Venflow.VenflowDbType.Boolean\n  fullName: Venflow.VenflowDbType.Boolean\n  nameWithType: VenflowDbType.Boolean\n- uid: Venflow.VenflowDbType.Box\n  name: Box\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Box\n  commentId: F:Venflow.VenflowDbType.Box\n  fullName: Venflow.VenflowDbType.Box\n  nameWithType: VenflowDbType.Box\n- uid: Venflow.VenflowDbType.Bytea\n  name: Bytea\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Bytea\n  commentId: F:Venflow.VenflowDbType.Bytea\n  fullName: Venflow.VenflowDbType.Bytea\n  nameWithType: VenflowDbType.Bytea\n- uid: Venflow.VenflowDbType.Char\n  name: Char\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Char\n  commentId: F:Venflow.VenflowDbType.Char\n  fullName: Venflow.VenflowDbType.Char\n  nameWithType: VenflowDbType.Char\n- uid: Venflow.VenflowDbType.Cid\n  name: Cid\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Cid\n  commentId: F:Venflow.VenflowDbType.Cid\n  fullName: Venflow.VenflowDbType.Cid\n  nameWithType: VenflowDbType.Cid\n- uid: Venflow.VenflowDbType.Cidr\n  name: Cidr\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Cidr\n  commentId: F:Venflow.VenflowDbType.Cidr\n  fullName: Venflow.VenflowDbType.Cidr\n  nameWithType: VenflowDbType.Cidr\n- uid: Venflow.VenflowDbType.Circle\n  name: Circle\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Circle\n  commentId: F:Venflow.VenflowDbType.Circle\n  fullName: Venflow.VenflowDbType.Circle\n  nameWithType: VenflowDbType.Circle\n- uid: Venflow.VenflowDbType.Citext\n  name: Citext\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Citext\n  commentId: F:Venflow.VenflowDbType.Citext\n  fullName: Venflow.VenflowDbType.Citext\n  nameWithType: VenflowDbType.Citext\n- uid: Venflow.VenflowDbType.Date\n  name: Date\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Date\n  commentId: F:Venflow.VenflowDbType.Date\n  fullName: Venflow.VenflowDbType.Date\n  nameWithType: VenflowDbType.Date\n- uid: Venflow.VenflowDbType.Double\n  name: Double\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Double\n  commentId: F:Venflow.VenflowDbType.Double\n  fullName: Venflow.VenflowDbType.Double\n  nameWithType: VenflowDbType.Double\n- uid: Venflow.VenflowDbType.Geography\n  name: Geography\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Geography\n  commentId: F:Venflow.VenflowDbType.Geography\n  fullName: Venflow.VenflowDbType.Geography\n  nameWithType: VenflowDbType.Geography\n- uid: Venflow.VenflowDbType.Geometry\n  name: Geometry\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Geometry\n  commentId: F:Venflow.VenflowDbType.Geometry\n  fullName: Venflow.VenflowDbType.Geometry\n  nameWithType: VenflowDbType.Geometry\n- uid: Venflow.VenflowDbType.Hstore\n  name: Hstore\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Hstore\n  commentId: F:Venflow.VenflowDbType.Hstore\n  fullName: Venflow.VenflowDbType.Hstore\n  nameWithType: VenflowDbType.Hstore\n- uid: Venflow.VenflowDbType.Inet\n  name: Inet\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Inet\n  commentId: F:Venflow.VenflowDbType.Inet\n  fullName: Venflow.VenflowDbType.Inet\n  nameWithType: VenflowDbType.Inet\n- uid: Venflow.VenflowDbType.Int2Vector\n  name: Int2Vector\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Int2Vector\n  commentId: F:Venflow.VenflowDbType.Int2Vector\n  fullName: Venflow.VenflowDbType.Int2Vector\n  nameWithType: VenflowDbType.Int2Vector\n- uid: Venflow.VenflowDbType.Integer\n  name: Integer\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Integer\n  commentId: F:Venflow.VenflowDbType.Integer\n  fullName: Venflow.VenflowDbType.Integer\n  nameWithType: VenflowDbType.Integer\n- uid: Venflow.VenflowDbType.InternalChar\n  name: InternalChar\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_InternalChar\n  commentId: F:Venflow.VenflowDbType.InternalChar\n  fullName: Venflow.VenflowDbType.InternalChar\n  nameWithType: VenflowDbType.InternalChar\n- uid: Venflow.VenflowDbType.Interval\n  name: Interval\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Interval\n  commentId: F:Venflow.VenflowDbType.Interval\n  fullName: Venflow.VenflowDbType.Interval\n  nameWithType: VenflowDbType.Interval\n- uid: Venflow.VenflowDbType.Json\n  name: Json\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Json\n  commentId: F:Venflow.VenflowDbType.Json\n  fullName: Venflow.VenflowDbType.Json\n  nameWithType: VenflowDbType.Json\n- uid: Venflow.VenflowDbType.Jsonb\n  name: Jsonb\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Jsonb\n  commentId: F:Venflow.VenflowDbType.Jsonb\n  fullName: Venflow.VenflowDbType.Jsonb\n  nameWithType: VenflowDbType.Jsonb\n- uid: Venflow.VenflowDbType.JsonPath\n  name: JsonPath\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_JsonPath\n  commentId: F:Venflow.VenflowDbType.JsonPath\n  fullName: Venflow.VenflowDbType.JsonPath\n  nameWithType: VenflowDbType.JsonPath\n- uid: Venflow.VenflowDbType.Line\n  name: Line\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Line\n  commentId: F:Venflow.VenflowDbType.Line\n  fullName: Venflow.VenflowDbType.Line\n  nameWithType: VenflowDbType.Line\n- uid: Venflow.VenflowDbType.LQuery\n  name: LQuery\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_LQuery\n  commentId: F:Venflow.VenflowDbType.LQuery\n  fullName: Venflow.VenflowDbType.LQuery\n  nameWithType: VenflowDbType.LQuery\n- uid: Venflow.VenflowDbType.LSeg\n  name: LSeg\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_LSeg\n  commentId: F:Venflow.VenflowDbType.LSeg\n  fullName: Venflow.VenflowDbType.LSeg\n  nameWithType: VenflowDbType.LSeg\n- uid: Venflow.VenflowDbType.LTree\n  name: LTree\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_LTree\n  commentId: F:Venflow.VenflowDbType.LTree\n  fullName: Venflow.VenflowDbType.LTree\n  nameWithType: VenflowDbType.LTree\n- uid: Venflow.VenflowDbType.LTxtQuery\n  name: LTxtQuery\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_LTxtQuery\n  commentId: F:Venflow.VenflowDbType.LTxtQuery\n  fullName: Venflow.VenflowDbType.LTxtQuery\n  nameWithType: VenflowDbType.LTxtQuery\n- uid: Venflow.VenflowDbType.MacAddr\n  name: MacAddr\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_MacAddr\n  commentId: F:Venflow.VenflowDbType.MacAddr\n  fullName: Venflow.VenflowDbType.MacAddr\n  nameWithType: VenflowDbType.MacAddr\n- uid: Venflow.VenflowDbType.MacAddr8\n  name: MacAddr8\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_MacAddr8\n  commentId: F:Venflow.VenflowDbType.MacAddr8\n  fullName: Venflow.VenflowDbType.MacAddr8\n  nameWithType: VenflowDbType.MacAddr8\n- uid: Venflow.VenflowDbType.Money\n  name: Money\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Money\n  commentId: F:Venflow.VenflowDbType.Money\n  fullName: Venflow.VenflowDbType.Money\n  nameWithType: VenflowDbType.Money\n- uid: Venflow.VenflowDbType.Multirange\n  name: Multirange\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Multirange\n  commentId: F:Venflow.VenflowDbType.Multirange\n  fullName: Venflow.VenflowDbType.Multirange\n  nameWithType: VenflowDbType.Multirange\n- uid: Venflow.VenflowDbType.Name\n  name: Name\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Name\n  commentId: F:Venflow.VenflowDbType.Name\n  fullName: Venflow.VenflowDbType.Name\n  nameWithType: VenflowDbType.Name\n- uid: Venflow.VenflowDbType.Numeric\n  name: Numeric\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Numeric\n  commentId: F:Venflow.VenflowDbType.Numeric\n  fullName: Venflow.VenflowDbType.Numeric\n  nameWithType: VenflowDbType.Numeric\n- uid: Venflow.VenflowDbType.Oid\n  name: Oid\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Oid\n  commentId: F:Venflow.VenflowDbType.Oid\n  fullName: Venflow.VenflowDbType.Oid\n  nameWithType: VenflowDbType.Oid\n- uid: Venflow.VenflowDbType.Oidvector\n  name: Oidvector\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Oidvector\n  commentId: F:Venflow.VenflowDbType.Oidvector\n  fullName: Venflow.VenflowDbType.Oidvector\n  nameWithType: VenflowDbType.Oidvector\n- uid: Venflow.VenflowDbType.Path\n  name: Path\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Path\n  commentId: F:Venflow.VenflowDbType.Path\n  fullName: Venflow.VenflowDbType.Path\n  nameWithType: VenflowDbType.Path\n- uid: Venflow.VenflowDbType.PgLsn\n  name: PgLsn\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_PgLsn\n  commentId: F:Venflow.VenflowDbType.PgLsn\n  fullName: Venflow.VenflowDbType.PgLsn\n  nameWithType: VenflowDbType.PgLsn\n- uid: Venflow.VenflowDbType.Point\n  name: Point\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Point\n  commentId: F:Venflow.VenflowDbType.Point\n  fullName: Venflow.VenflowDbType.Point\n  nameWithType: VenflowDbType.Point\n- uid: Venflow.VenflowDbType.Polygon\n  name: Polygon\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Polygon\n  commentId: F:Venflow.VenflowDbType.Polygon\n  fullName: Venflow.VenflowDbType.Polygon\n  nameWithType: VenflowDbType.Polygon\n- uid: Venflow.VenflowDbType.Range\n  name: Range\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Range\n  commentId: F:Venflow.VenflowDbType.Range\n  fullName: Venflow.VenflowDbType.Range\n  nameWithType: VenflowDbType.Range\n- uid: Venflow.VenflowDbType.Real\n  name: Real\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Real\n  commentId: F:Venflow.VenflowDbType.Real\n  fullName: Venflow.VenflowDbType.Real\n  nameWithType: VenflowDbType.Real\n- uid: Venflow.VenflowDbType.Refcursor\n  name: Refcursor\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Refcursor\n  commentId: F:Venflow.VenflowDbType.Refcursor\n  fullName: Venflow.VenflowDbType.Refcursor\n  nameWithType: VenflowDbType.Refcursor\n- uid: Venflow.VenflowDbType.Regconfig\n  name: Regconfig\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Regconfig\n  commentId: F:Venflow.VenflowDbType.Regconfig\n  fullName: Venflow.VenflowDbType.Regconfig\n  nameWithType: VenflowDbType.Regconfig\n- uid: Venflow.VenflowDbType.Regtype\n  name: Regtype\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Regtype\n  commentId: F:Venflow.VenflowDbType.Regtype\n  fullName: Venflow.VenflowDbType.Regtype\n  nameWithType: VenflowDbType.Regtype\n- uid: Venflow.VenflowDbType.Smallint\n  name: Smallint\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Smallint\n  commentId: F:Venflow.VenflowDbType.Smallint\n  fullName: Venflow.VenflowDbType.Smallint\n  nameWithType: VenflowDbType.Smallint\n- uid: Venflow.VenflowDbType.Text\n  name: Text\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Text\n  commentId: F:Venflow.VenflowDbType.Text\n  fullName: Venflow.VenflowDbType.Text\n  nameWithType: VenflowDbType.Text\n- uid: Venflow.VenflowDbType.Tid\n  name: Tid\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Tid\n  commentId: F:Venflow.VenflowDbType.Tid\n  fullName: Venflow.VenflowDbType.Tid\n  nameWithType: VenflowDbType.Tid\n- uid: Venflow.VenflowDbType.Time\n  name: Time\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Time\n  commentId: F:Venflow.VenflowDbType.Time\n  fullName: Venflow.VenflowDbType.Time\n  nameWithType: VenflowDbType.Time\n- uid: Venflow.VenflowDbType.Timestamp\n  name: Timestamp\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Timestamp\n  commentId: F:Venflow.VenflowDbType.Timestamp\n  fullName: Venflow.VenflowDbType.Timestamp\n  nameWithType: VenflowDbType.Timestamp\n- uid: Venflow.VenflowDbType.TimestampTz\n  name: TimestampTz\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_TimestampTz\n  commentId: F:Venflow.VenflowDbType.TimestampTz\n  fullName: Venflow.VenflowDbType.TimestampTz\n  nameWithType: VenflowDbType.TimestampTz\n- uid: Venflow.VenflowDbType.TimestampTZ\n  name: TimestampTZ\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_TimestampTZ\n  commentId: F:Venflow.VenflowDbType.TimestampTZ\n  fullName: Venflow.VenflowDbType.TimestampTZ\n  nameWithType: VenflowDbType.TimestampTZ\n- uid: Venflow.VenflowDbType.TimeTz\n  name: TimeTz\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_TimeTz\n  commentId: F:Venflow.VenflowDbType.TimeTz\n  fullName: Venflow.VenflowDbType.TimeTz\n  nameWithType: VenflowDbType.TimeTz\n- uid: Venflow.VenflowDbType.TimeTZ\n  name: TimeTZ\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_TimeTZ\n  commentId: F:Venflow.VenflowDbType.TimeTZ\n  fullName: Venflow.VenflowDbType.TimeTZ\n  nameWithType: VenflowDbType.TimeTZ\n- uid: Venflow.VenflowDbType.TsQuery\n  name: TsQuery\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_TsQuery\n  commentId: F:Venflow.VenflowDbType.TsQuery\n  fullName: Venflow.VenflowDbType.TsQuery\n  nameWithType: VenflowDbType.TsQuery\n- uid: Venflow.VenflowDbType.TsVector\n  name: TsVector\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_TsVector\n  commentId: F:Venflow.VenflowDbType.TsVector\n  fullName: Venflow.VenflowDbType.TsVector\n  nameWithType: VenflowDbType.TsVector\n- uid: Venflow.VenflowDbType.Unknown\n  name: Unknown\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Unknown\n  commentId: F:Venflow.VenflowDbType.Unknown\n  fullName: Venflow.VenflowDbType.Unknown\n  nameWithType: VenflowDbType.Unknown\n- uid: Venflow.VenflowDbType.Uuid\n  name: Uuid\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Uuid\n  commentId: F:Venflow.VenflowDbType.Uuid\n  fullName: Venflow.VenflowDbType.Uuid\n  nameWithType: VenflowDbType.Uuid\n- uid: Venflow.VenflowDbType.Varbit\n  name: Varbit\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Varbit\n  commentId: F:Venflow.VenflowDbType.Varbit\n  fullName: Venflow.VenflowDbType.Varbit\n  nameWithType: VenflowDbType.Varbit\n- uid: Venflow.VenflowDbType.Varchar\n  name: Varchar\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Varchar\n  commentId: F:Venflow.VenflowDbType.Varchar\n  fullName: Venflow.VenflowDbType.Varchar\n  nameWithType: VenflowDbType.Varchar\n- uid: Venflow.VenflowDbType.Xid\n  name: Xid\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Xid\n  commentId: F:Venflow.VenflowDbType.Xid\n  fullName: Venflow.VenflowDbType.Xid\n  nameWithType: VenflowDbType.Xid\n- uid: Venflow.VenflowDbType.Xid8\n  name: Xid8\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Xid8\n  commentId: F:Venflow.VenflowDbType.Xid8\n  fullName: Venflow.VenflowDbType.Xid8\n  nameWithType: VenflowDbType.Xid8\n- uid: Venflow.VenflowDbType.Xml\n  name: Xml\n  href: api/Venflow.VenflowDbType.html#Venflow_VenflowDbType_Xml\n  commentId: F:Venflow.VenflowDbType.Xml\n  fullName: Venflow.VenflowDbType.Xml\n  nameWithType: VenflowDbType.Xml\n"
  },
  {
    "path": "signatures/version1/cla.json",
    "content": "{\n  \"signedContributors\": [\n    {\n      \"name\": \"AltriusRS\",\n      \"id\": 63651404,\n      \"comment_id\": 770773788,\n      \"created_at\": \"2021-02-01T11:06:11Z\",\n      \"repoId\": 258597748,\n      \"pullRequestNo\": 4\n    },\n    {\n      \"name\": \"T0shik\",\n      \"id\": 16464160,\n      \"comment_id\": 932957904,\n      \"created_at\": \"2021-10-03T14:03:08Z\",\n      \"repoId\": 258597748,\n      \"pullRequestNo\": 24\n    },\n    {\n      \"name\": \"shubhamshah14102\",\n      \"id\": 90519134,\n      \"comment_id\": 948776190,\n      \"created_at\": \"2021-10-21T16:23:28Z\",\n      \"repoId\": 258597748,\n      \"pullRequestNo\": 35\n    }\n  ]\n}"
  },
  {
    "path": "src/Venflow/CastTypeHandler.cs",
    "content": "﻿using Npgsql;\n\nnamespace Venflow\n{\n    internal class CastTypeHandler<T> : IParameterTypeHandler\n    {\n        NpgsqlParameter IParameterTypeHandler.Handle(string name, object val)\n            => new NpgsqlParameter<T>(name, (T)val);\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/IBaseInsertRelationBuilder.cs",
    "content": "﻿using System.Linq.Expressions;\n\nnamespace Venflow.Commands\n{\n    /// <summary>\n    /// Represents a base insert relation builder to configure the insert.\n    /// </summary>\n    /// <typeparam name=\"TRelationEntity\">The type of the entity which will be joined with.</typeparam>\n    /// <typeparam name=\"TRootEntity\">The root type of the entity.</typeparam>\n    public interface IBaseInsertRelationBuilder<TRelationEntity, TRootEntity> : IInsertCommandBuilder<TRootEntity>\n        where TRelationEntity : class, new()\n        where TRootEntity : class, new()\n    {\n        /// <summary>\n        /// Allows to configure the current insert, to insert all populated relations which can be reached.\n        /// </summary>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        IBaseInsertRelationBuilder<TRootEntity, TRootEntity> WithAll();\n\n        /// <summary>\n        /// Allows to configure the inserted relations with the current insert.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the inserted entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        IInsertRelationBuilder<TToEntity, TRootEntity> With<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure the inserted relations with the current insert.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the inserted entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        IInsertRelationBuilder<TToEntity, TRootEntity> With<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure the inserted relations with the current insert.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the inserted entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        IInsertRelationBuilder<TToEntity, TRootEntity> With<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector)\n            where TToEntity : class, new();\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/IBaseQueryRelationBuilder.cs",
    "content": "﻿using System.Linq.Expressions;\nusing Venflow.Enums;\n\nnamespace Venflow.Commands\n{\n    /// <summary>\n    /// Represents a base query relation builder to configure the query.\n    /// </summary>\n    /// <typeparam name=\"TRelationEntity\">The type of the entity which will be joined with.</typeparam>\n    /// <typeparam name=\"TRootEntity\">The root type of the entity.</typeparam>\n    /// <typeparam name=\"TReturn\">The return type of the query.</typeparam>\n    public interface IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn> : IPreCommandBuilder<TRootEntity, TReturn>\n        where TRelationEntity : class, new()\n        where TRootEntity : class, new()\n        where TReturn : class, new()\n    {\n        /// <summary>\n        /// Allows to configure materialized joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <param name=\"joinBehaviour\">Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> JoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure materialized joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <param name=\"joinBehaviour\">Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> JoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure materialized joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <param name=\"joinBehaviour\">Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> JoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure materialized left joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        /// <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure materialized left joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        /// <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure materialized left joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        /// <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure materialized right joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        /// <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> RightJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure materialized right joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        /// <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> RightJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure materialized right joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        /// <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> RightJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector)\n            where TToEntity : class, new();\n\n\n        /// <summary>\n        /// Allows to configure materialized full joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        /// <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> FullJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure materialized full joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        /// <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> FullJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure materialized full joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        /// <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> FullJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector)\n            where TToEntity : class, new();\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/IDeleteCommand.cs",
    "content": "﻿namespace Venflow.Commands\n{\n    /// <summary>\n    /// Represents a command which performs deletions of entities.\n    /// </summary>\n    /// <typeparam name=\"TEntity\">The type of the entity which will be deleted.</typeparam>\n    public interface IDeleteCommand<TEntity> : IVenflowCommand<TEntity> where TEntity : class, new()\n    {\n        /// <summary>\n        /// Asynchronously deletes a single entity.\n        /// </summary>\n        /// <param name=\"entity\">The entity instance which should be deleted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        ValueTask<int> DeleteAsync(TEntity entity, CancellationToken cancellationToken = default);\n        /// <summary>\n        /// Asynchronously deletes a set of entity.\n        /// </summary>\n        /// <param name=\"entities\">The entity instances which should be deleted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        ValueTask<int> DeleteAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken = default);\n        /// <summary>\n        /// Asynchronously deletes a set of entity.\n        /// </summary>\n        /// <param name=\"entities\">The entity instances which should be deleted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        ValueTask<int> DeleteAsync(IList<TEntity> entities, CancellationToken cancellationToken = default);\n        /// <summary>\n        /// Asynchronously deletes a set of entity.\n        /// </summary>\n        /// <param name=\"entities\">The entity instances which should be deleted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        ValueTask<int> DeleteAsync(List<TEntity> entities, CancellationToken cancellationToken = default);\n        /// <summary>\n        /// Asynchronously deletes a set of entity.\n        /// </summary>\n        /// <param name=\"entities\">The entity instances which should be deleted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        ValueTask<int> DeleteAsync(TEntity[] entities, CancellationToken cancellationToken = default);\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/IDeleteCommandBuilder.cs",
    "content": "﻿namespace Venflow.Commands\n{\n    /// <summary>\n    /// Represents a command builder to configure the deletion.\n    /// </summary>\n    /// <typeparam name=\"TEntity\">The type of the entity which will be deleted.</typeparam>\n    public interface IDeleteCommandBuilder<TEntity> : ISpecficVenflowCommandBuilder<IDeleteCommand<TEntity>, IDeleteCommandBuilder<TEntity>> where TEntity : class, new()\n    {\n        /// <summary>\n        /// Asynchronously deletes a single entity.\n        /// </summary>\n        /// <param name=\"entity\">The entity instance which should be deleted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        ValueTask<int> DeleteAsync(TEntity entity, CancellationToken cancellationToken = default);\n        /// <summary>\n        /// Asynchronously deletes a set of entity.\n        /// </summary>\n        /// <param name=\"entities\">The entity instances which should be deleted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        ValueTask<int> DeleteAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken = default);\n        /// <summary>\n        /// Asynchronously deletes a set of entity.\n        /// </summary>\n        /// <param name=\"entities\">The entity instances which should be deleted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        ValueTask<int> DeleteAsync(IList<TEntity> entities, CancellationToken cancellationToken = default);\n        /// <summary>\n        /// Asynchronously deletes a set of entity.\n        /// </summary>\n        /// <param name=\"entities\">The entity instances which should be deleted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        ValueTask<int> DeleteAsync(List<TEntity> entities, CancellationToken cancellationToken = default);\n        /// <summary>\n        /// Asynchronously deletes a set of entity.\n        /// </summary>\n        /// <param name=\"entities\">The entity instances which should be deleted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        ValueTask<int> DeleteAsync(TEntity[] entities, CancellationToken cancellationToken = default);\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/IInsertCommand.cs",
    "content": "﻿namespace Venflow.Commands\n{\n    /// <summary>\n    /// Represents a command which performs insertions of entities.\n    /// </summary>\n    /// <typeparam name=\"TEntity\">The type of the entity which will be inserted.</typeparam>\n    public interface IInsertCommand<TEntity> : IVenflowCommand<TEntity> where TEntity : class, new()\n    {\n        /// <summary>\n        /// Asynchronously inserts a single entity.\n        /// </summary>\n        /// <param name=\"entity\">The entity instance which should be inserted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise.</returns>\n        Task<int> InsertAsync(TEntity entity, CancellationToken cancellationToken = default);\n        /// <summary>\n        /// Asynchronously inserts a set of entities.\n        /// </summary>\n        /// <param name=\"entities\">The entity instances which should be inserted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise.</returns>\n        Task<int> InsertAsync(IList<TEntity> entities, CancellationToken cancellationToken = default);\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/IInsertCommandBuilder.cs",
    "content": "﻿namespace Venflow.Commands\n{\n    /// <summary>\n    /// Represents a command builder to configure the insertion.\n    /// </summary>\n    /// <typeparam name=\"TEntity\">The type of the entity which will be inserted.</typeparam>\n    public interface IInsertCommandBuilder<TEntity> : ISpecficVenflowCommandBuilder<IInsertCommand<TEntity>, IBaseInsertRelationBuilder<TEntity, TEntity>>\n        where TEntity : class, new()\n    {\n        /// <summary>\n        /// Asynchronously inserts a single entity.\n        /// </summary>\n        /// <param name=\"entity\">The entity instance which should be inserted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise.</returns>\n        Task<int> InsertAsync(TEntity entity, CancellationToken cancellationToken = default);\n        /// <summary>\n        /// Asynchronously inserts a set of entities.\n        /// </summary>\n        /// <param name=\"entities\">The entity instances which should be inserted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise.</returns>\n        Task<int> InsertAsync(IList<TEntity> entities, CancellationToken cancellationToken = default);\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/IInsertRelationBuilder.cs",
    "content": "﻿using System.Linq.Expressions;\n\nnamespace Venflow.Commands\n{\n    /// <summary>\n    /// Represents a insert relation builder to configure the insert.\n    /// </summary>\n    /// <typeparam name=\"TRelationEntity\">The type of the entity which will be inserted with.</typeparam>\n    /// <typeparam name=\"TRootEntity\">The root type of the entity.</typeparam>\n    public interface IInsertRelationBuilder<TRelationEntity, TRootEntity> : IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>\n        where TRelationEntity : class, new()\n        where TRootEntity : class, new()\n    {\n        /// <summary>\n        /// Allows to configure the inserted relations with the current insert.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the inserted entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        IInsertRelationBuilder<TToEntity, TRootEntity> AndWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure the inserted relations with the current insert.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the inserted entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        IInsertRelationBuilder<TToEntity, TRootEntity> AndWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure the inserted relations with the current insert.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the inserted entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        IInsertRelationBuilder<TToEntity, TRootEntity> AndWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector)\n            where TToEntity : class, new();\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/IPreCommandBuilder.cs",
    "content": "﻿namespace Venflow.Commands\n{\n    /// <summary>\n    /// Represents a pre-command builder to configure the query.\n    /// </summary>s\n    /// <typeparam name=\"TEntity\">The type of the entity which will be queried.</typeparam>\n    /// <typeparam name=\"TReturn\">The return type of the query.</typeparam>\n    public interface IPreCommandBuilder<TEntity, TReturn> : IQueryCommandBuilder<TEntity, TReturn> where TEntity : class, new() where TReturn : class, new()\n    {\n        /// <summary>\n        /// Defines if <b>&gt;&lt;</b> should be replaced by automatically generated joins in your SQL.\n        /// </summary>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, TReturn> AddFormatter();\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/IQueryCommand.cs",
    "content": "﻿namespace Venflow.Commands\n{\n    /// <summary>\n    /// Represents a command which performs queries and materialize the results to entities.\n    /// </summary>\n    /// <typeparam name=\"TEntity\">The type of the entity which represents the result of the query.</typeparam>\n    /// <typeparam name=\"TReturn\">The return type of the query.</typeparam>\n    public interface IQueryCommand<TEntity, TReturn> : IVenflowCommand<TEntity> where TEntity : class, new() where TReturn : class, new()\n    {\n        /// <summary>\n        /// Asynchronously prepares the current SQL command on the database.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        Task<IQueryCommand<TEntity, TReturn>> PrepareAsync(CancellationToken cancellationToken = default);\n        /// <summary>\n        /// Asynchronously un-prepares the current SQL command on the database.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        Task<IQueryCommand<TEntity, TReturn>> UnprepareAsync(CancellationToken cancellationToken = default);\n\n        /// <summary>\n        /// Asynchronously performs queries and materializes the result.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation, with the materialized result of the query; <see langword=\"null\"/> otherwise.</returns>\n        Task<TReturn?> QueryAsync(CancellationToken cancellationToken = default);\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/IQueryCommandBuilder.cs",
    "content": "﻿namespace Venflow.Commands\n{\n    /// <summary>\n    /// Represents a command builder to configure the query.\n    /// </summary>\n    /// <typeparam name=\"TEntity\">The type of the entity which will be queried.</typeparam>\n    /// <typeparam name=\"TReturn\">The return type of the query.</typeparam>\n    public interface IQueryCommandBuilder<TEntity, TReturn> : ISpecficVenflowCommandBuilder<IQueryCommand<TEntity, TReturn>, IBaseQueryRelationBuilder<TEntity, TEntity, TReturn>>\n        where TEntity : class, new()\n        where TReturn : class, new()\n    {\n        /// <summary>\n        /// Determines whether or not to return change tracked entities from the query.\n        /// </summary>\n        /// <param name=\"trackChanges\">Determines if change tracking should be applied.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, TReturn> TrackChanges(bool trackChanges = true);\n\n        /// <summary>\n        /// Asynchronously performs queries and materializes the result.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation, with the materialized result of the query; <see langword=\"null\"/> otherwise.</returns>\n        Task<TReturn?> QueryAsync(CancellationToken cancellationToken = default);\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/IQueryRelationBuilder.cs",
    "content": "﻿using System.Linq.Expressions;\nusing Venflow.Enums;\n\nnamespace Venflow.Commands\n{\n    /// <summary>\n    /// Represents a query relation builder to configure the query.\n    /// </summary>\n    /// <typeparam name=\"TRelationEntity\">The type of the entity which will be joined with.</typeparam>\n    /// <typeparam name=\"TRootEntity\">The root type of the entity.</typeparam>\n    /// <typeparam name=\"TReturn\">The return type of the query.</typeparam>\n    public interface IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn> : IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>\n        where TRelationEntity : class, new()\n        where TRootEntity : class, new()\n        where TReturn : class, new()\n    {\n        /// <summary>\n        /// Allows to configure materialized joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <param name=\"joinBehaviour\">Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure materialized joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <param name=\"joinBehaviour\">Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure materialized joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <param name=\"joinBehaviour\">Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure materialized left joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        /// <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure materialized left joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        /// <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure materialized left joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        /// <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure materialized right joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        /// <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure materialized right joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        /// <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure materialized right joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        /// <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure materialized full joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        /// <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure materialized full joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        /// <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector)\n            where TToEntity : class, new();\n\n        /// <summary>\n        /// Allows to configure materialized full joins for the current query.\n        /// </summary>\n        /// <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        /// <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector)\n            where TToEntity : class, new();\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/ISpecficVenflowCommandBuilder.cs",
    "content": "﻿namespace Venflow.Commands\n{\n    /// <summary>\n    /// Represents a generic command builder for all CRUD operations to finalize the configuration.\n    /// </summary>\n    /// <typeparam name=\"TCommand\">The type of the command which is being configured.</typeparam>\n    /// <typeparam name=\"TLogResult\">The type of the command which is being configured after configuring the loggers.</typeparam>\n    public interface ISpecficVenflowCommandBuilder<out TCommand, out TLogResult>\n        where TCommand : class\n        where TLogResult : class\n    {\n        /// <summary>\n        /// Finalizes the ongoing configuration process and builds the command.\n        /// </summary>\n        /// <returns>The built command.</returns>\n        TCommand Build();\n\n        /// <summary>\n        /// Determines whether or not to log the command to the provided loggers.\n        /// </summary>\n        /// <param name=\"shouldLog\">Determines if this command should be logged. This is helpful, if you configured the default logging behavior to be <see langword=\"true\"/>.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        /// <remarks>You can configure the loggers in the <see cref=\"Database.Configure(DatabaseConfigurationOptionsBuilder)\"/> method with the <see cref=\"DatabaseOptionsBuilder{TDatabase}.LogTo(LoggerCallback)\"/> methods.</remarks>\n        TLogResult Log(bool shouldLog = true);\n\n        /// <summary>\n        /// Logs the command to the provided <paramref name=\"logger\"/>.\n        /// </summary>\n        /// <param name=\"logger\">The logger which is being used for this command.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        /// <remarks>Be aware, that once you configure a logger on a command, the global configured loggers won't be executed for this command.</remarks>\n        TLogResult LogTo(LoggerCallback logger);\n\n        /// <summary>\n        /// Logs the command to the provided <paramref name=\"loggers\"/>.\n        /// </summary>\n        /// <param name=\"loggers\">The loggers which are being used for this command.</param>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        /// <remarks>Be aware, that once you configure one or more loggers on a command, the global configured loggers won't be executed for this command.</remarks>\n        TLogResult LogTo(params LoggerCallback[] loggers);\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/IUpdateCommand.cs",
    "content": "﻿namespace Venflow.Commands\n{\n    /// <summary>\n    /// Represents a command which performs updates of entities.\n    /// </summary>\n    /// <typeparam name=\"TEntity\">The type of the entity which will be updated.</typeparam>\n    public interface IUpdateCommand<TEntity> : IVenflowCommand<TEntity> where TEntity : class, new()\n    {\n        /// <summary>\n        /// Asynchronously updates a single entity.\n        /// </summary>\n        /// <param name=\"entity\">The change tracked entity instance which should be updated.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation.</returns>\n        ValueTask UpdateAsync(TEntity entity, CancellationToken cancellationToken = default);\n        /// <summary>\n        /// Asynchronously updates a set of entities.\n        /// </summary>\n        /// <param name=\"entities\">The change tracked entity instances which should be updated.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation.</returns>\n        ValueTask UpdateAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken = default);\n        /// <summary>\n        /// Asynchronously updates a set of entities.\n        /// </summary>\n        /// <param name=\"entities\">The change tracked entity instances which should be updated.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation.</returns>\n        ValueTask UpdateAsync(IList<TEntity> entities, CancellationToken cancellationToken = default);\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/IUpdateCommandBuilder.cs",
    "content": "﻿namespace Venflow.Commands\n{\n    /// <summary>\n    /// Represents a command builder to configure the update.\n    /// </summary>\n    /// <typeparam name=\"TEntity\">The type of the entity which will be updated.</typeparam>\n    public interface IUpdateCommandBuilder<TEntity> : ISpecficVenflowCommandBuilder<IUpdateCommand<TEntity>, IUpdateCommandBuilder<TEntity>>\n        where TEntity : class, new()\n    {\n        /// <summary>\n        /// Asynchronously updates a single entity.\n        /// </summary>\n        /// <param name=\"entity\">The change tracked entity instance which should be updated.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation.</returns>\n        ValueTask UpdateAsync(TEntity entity, CancellationToken cancellationToken = default);\n        /// <summary>\n        /// Asynchronously updates a set of entities.\n        /// </summary>\n        /// <param name=\"entities\">The change tracked entity instances which should be updated.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation.</returns>\n        ValueTask UpdateAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken = default);\n        /// <summary>\n        /// Asynchronously updates a set of entities.\n        /// </summary>\n        /// <param name=\"entities\">The change tracked entity instances which should be updated.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation.</returns>\n        ValueTask UpdateAsync(List<TEntity> entities, CancellationToken cancellationToken = default);\n        /// <summary>\n        /// Asynchronously updates a set of entities.\n        /// </summary>\n        /// <param name=\"entities\">The change tracked entity instances which should be updated.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation.</returns>\n        ValueTask UpdateAsync(TEntity[] entities, CancellationToken cancellationToken = default);\n        /// <summary>\n        /// Asynchronously updates a set of entities.\n        /// </summary>\n        /// <param name=\"entities\">The change tracked entity instances which should be updated.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task representing the asynchronous operation.</returns>\n        ValueTask UpdateAsync(IList<TEntity> entities, CancellationToken cancellationToken = default);\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/IVenflowCommand.cs",
    "content": "﻿namespace Venflow.Commands\n{\n    /// <summary>\n    /// The base command for all other CRUD commands.\n    /// </summary>\n    /// <typeparam name=\"TEntity\">The type of the entity which is being used in the current operation.</typeparam>\n    public interface IVenflowCommand<TEntity> : IAsyncDisposable where TEntity : class, new()\n    {\n\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/IVenflowCommandBuilder.cs",
    "content": "﻿using System.Linq.Expressions;\nusing Npgsql;\n\nnamespace Venflow.Commands\n{\n    /// <summary>\n    /// Represents a generic command builder to create any CRUD command.\n    /// </summary>\n    /// <typeparam name=\"TEntity\">The type of the entity which will be used for the command.</typeparam>\n    public interface IVenflowCommandBuilder<TEntity> where TEntity : class, new()\n    {\n        /// <summary>\n        /// Creates a query command with a single result. <strong>This API does not support string interpolation!</strong> If you need to pass parameters with the query, either use <see cref=\"QuerySingle(string, NpgsqlParameter[])\"/> or <see cref=\"QueryInterpolatedSingle(FormattableString)\"/>.\n        /// </summary>\n        /// <returns>An object that can be used to further configure the operation.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(string sql);\n\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(Expression<Func<TEntity, FormattableString>> sql);\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne>(Expression<Func<TEntity, TOne, FormattableString>> sql) where TOne : class, new();\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, TTwo>(Expression<Func<TEntity, TOne, TTwo, FormattableString>> sql) where TOne : class, new() where TTwo : class, new();\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, TTwo, TThree>(Expression<Func<TEntity, TOne, TTwo, TThree, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new();\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, TTwo, TThree, TFour>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new() where TFour : class, new();\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, TTwo, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new();\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, TTwo, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new();\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new() where TSeven : class, new();\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new() where TSeven : class, new() where TEight : class, new();\n\n        /// <summary>\n        /// Creates a new query command builder, which expects a single returned primary row. <strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <see cref=\"QueryInterpolatedSingle(FormattableString)\"/>.\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <param name=\"parameters\">A set of <see cref=\"NpgsqlParameter\"/> which contain parameters for the <paramref name=\"sql\"/> command.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(string sql, params NpgsqlParameter[] parameters);\n        /// <summary>\n        /// Creates a new query command builder, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QueryInterpolatedSingle(FormattableString sql);\n        /// <summary>\n        /// Creates a new query command builder, which expects a set of primary rows to be returned. <strong>This API does not support string interpolation!</strong> If you need to pass parameters with the query, either use <see cref=\"QuerySingle(string, NpgsqlParameter[])\"/> or <see cref=\"QueryInterpolatedSingle(FormattableString)\"/>.\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(string sql);\n\n        /// <summary>\n        ///  Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(Expression<Func<TEntity, FormattableString>> sql);\n        /// <summary>\n        ///  Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne>(Expression<Func<TEntity, TOne, FormattableString>> sql) where TOne : class, new();\n        /// <summary>\n        ///  Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, TTwo>(Expression<Func<TEntity, TOne, TTwo, FormattableString>> sql) where TOne : class, new() where TTwo : class, new();\n        /// <summary>\n        ///  Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, TTwo, TThree>(Expression<Func<TEntity, TOne, TTwo, TThree, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new();\n        /// <summary>\n        ///  Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, TTwo, TThree, TFour>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new() where TFour : class, new();\n        /// <summary>\n        ///  Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, TTwo, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new();\n        /// <summary>\n        ///  Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, TTwo, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new();\n        /// <summary>\n        ///  Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new() where TSeven : class, new();\n        /// <summary>\n        ///  Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>> sql) where TOne : class, new() where TTwo : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new() where TSeven : class, new() where TEight : class, new();\n\n        /// <summary>\n        /// Creates a new query command builder, which expects a set of primary rows to be returned.<strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <see cref=\"QueryInterpolatedSingle(FormattableString)\"/>.\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <param name=\"parameters\">A set of <see cref=\"NpgsqlParameter\"/> which contain parameters for the <paramref name=\"sql\"/> command.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(string sql, params NpgsqlParameter[] parameters);\n        /// <summary>\n        /// Creates a new query command builder, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryInterpolatedBatch(FormattableString sql);\n\n        /// <summary>\n        /// Creates a new insert command builder.\n        /// </summary>\n        /// <returns>A Fluent API Builder for a insert command.</returns>\n        IBaseInsertRelationBuilder<TEntity, TEntity> Insert();\n        /// <summary>\n        /// Creates a new delete command builder.\n        /// </summary>\n        /// <returns>A Fluent API Builder for a delete command.</returns>\n        IDeleteCommandBuilder<TEntity> Delete();\n\n        /// <summary>\n        /// Creates a new update command builder.\n        /// </summary>\n        /// <returns>A Fluent API Builder for a update command.</returns>\n        IUpdateCommandBuilder<TEntity> Update();\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/InsertCacheKey.cs",
    "content": "using System.Diagnostics.CodeAnalysis;\nusing Venflow.Enums;\nusing Venflow.Modeling;\n\nnamespace Venflow.Commands\n{\n    internal readonly struct InsertCacheKey\n    {\n        internal EntityRelation[] Relations => _relations;\n\n        private readonly InsertCacheKeyOptions _options;\n        private readonly EntityRelation[] _relations;\n\n        internal InsertCacheKey(EntityRelation[] relations, InsertCacheKeyOptions options)\n        {\n            _relations = relations;\n            _options = options;\n        }\n\n        public bool Equals(\n#if !NET48\n            [AllowNull]\n#endif\n            InsertCacheKey y)\n        {\n            if (y._relations.Length != _relations.Length ||\n                y._options != _options)\n                return false;\n\n            var relaionsSpan = _relations.AsSpan();\n            var foreignRelaionsSpan = y._relations.AsSpan();\n\n            for (var relationIndex = relaionsSpan.Length - 1; relationIndex >= 0; relationIndex--)\n            {\n                if (relaionsSpan[relationIndex].RelationId != foreignRelaionsSpan[relationIndex].RelationId)\n                    return false;\n            }\n\n            return true;\n        }\n\n        public new int GetHashCode()\n        {\n            var hashCode = new HashCode();\n\n            hashCode.Add(_options);\n\n            var relaionsSpan = _relations.AsSpan();\n\n            for (var relationIndex = relaionsSpan.Length - 1; relationIndex >= 0; relationIndex--)\n            {\n                hashCode.Add(relaionsSpan[relationIndex].RelationId);\n            }\n\n            return hashCode.ToHashCode();\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/InsertCacheKeyComparer.cs",
    "content": "﻿using System.Diagnostics.CodeAnalysis;\n\nnamespace Venflow.Commands\n{\n    internal class InsertCacheKeyComparer : IEqualityComparer<InsertCacheKey>\n    {\n        internal static InsertCacheKeyComparer Default { get; } = new InsertCacheKeyComparer();\n\n        private InsertCacheKeyComparer()\n        {\n\n        }\n\n        public bool Equals(\n#if !NET48\n            [AllowNull]\n#endif\n            InsertCacheKey x,\n#if !NET48\n            [AllowNull]\n#endif\n            InsertCacheKey y)\n        {\n            return x.Equals(y);\n        }\n\n        public int GetHashCode(\n#if !NET48\n            [DisallowNull]\n#endif\n            InsertCacheKey obj)\n        {\n            return obj.GetHashCode();\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/InsertRelationBuilder.cs",
    "content": "﻿using System.Linq.Expressions;\nusing Venflow.Modeling;\n\nnamespace Venflow.Commands\n{\n    internal class InsertRelationBuilder<TRelationEntity, TRootEntity> : IInsertRelationBuilder<TRelationEntity, TRootEntity>\n        where TRelationEntity : class, new()\n        where TRootEntity : class, new()\n    {\n        private readonly Entity _root;\n        private readonly Entity _parent;\n        private readonly VenflowInsertCommandBuilder<TRootEntity> _commandBuilder;\n        private readonly RelationBuilderValues _relationBuilder;\n\n        internal InsertRelationBuilder(Entity root, Entity parent, VenflowInsertCommandBuilder<TRootEntity> commandBuilder, RelationBuilderValues relationBuilder)\n        {\n            _root = root;\n            _parent = parent;\n            _commandBuilder = commandBuilder;\n            _relationBuilder = relationBuilder;\n        }\n\n        public IInsertRelationBuilder<TToEntity, TRootEntity> With<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector)\n            where TToEntity : class, new()\n            => new InsertRelationBuilder<TToEntity, TRootEntity>(_root, _relationBuilder.BaseRelationWith(_root, propertySelector), _commandBuilder, _relationBuilder);\n\n        public IInsertRelationBuilder<TToEntity, TRootEntity> With<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector)\n            where TToEntity : class, new()\n            => new InsertRelationBuilder<TToEntity, TRootEntity>(_root, _relationBuilder.BaseRelationWith(_root, propertySelector), _commandBuilder, _relationBuilder);\n\n        public IInsertRelationBuilder<TToEntity, TRootEntity> With<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector)\n           where TToEntity : class, new()\n            => new InsertRelationBuilder<TToEntity, TRootEntity>(_root, _relationBuilder.BaseRelationWith(_root, propertySelector), _commandBuilder, _relationBuilder);\n\n        public IInsertRelationBuilder<TToEntity, TRootEntity> AndWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector)\n            where TToEntity : class, new()\n            => new InsertRelationBuilder<TToEntity, TRootEntity>(_root, _relationBuilder.BaseAndWith(_parent, propertySelector), _commandBuilder, _relationBuilder);\n\n        public IInsertRelationBuilder<TToEntity, TRootEntity> AndWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector)\n            where TToEntity : class, new()\n            => new InsertRelationBuilder<TToEntity, TRootEntity>(_root, _relationBuilder.BaseAndWith(_parent, propertySelector), _commandBuilder, _relationBuilder);\n\n        public IInsertRelationBuilder<TToEntity, TRootEntity> AndWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector)\n            where TToEntity : class, new()\n            => new InsertRelationBuilder<TToEntity, TRootEntity>(_root, _relationBuilder.BaseAndWith(_parent, propertySelector), _commandBuilder, _relationBuilder);\n\n        IInsertCommand<TRootEntity> ISpecficVenflowCommandBuilder<IInsertCommand<TRootEntity>, IBaseInsertRelationBuilder<TRootEntity, TRootEntity>>.Build()\n            => _commandBuilder.Build();\n\n        public IBaseInsertRelationBuilder<TRootEntity, TRootEntity> Log(bool shouldLog = true)\n            => _commandBuilder.Log(shouldLog);\n\n        public IBaseInsertRelationBuilder<TRootEntity, TRootEntity> LogTo(LoggerCallback logger)\n            => _commandBuilder.LogTo(logger);\n\n        public IBaseInsertRelationBuilder<TRootEntity, TRootEntity> LogTo(params LoggerCallback[] loggers)\n            => _commandBuilder.LogTo(loggers);\n\n        Task<int> IInsertCommandBuilder<TRootEntity>.InsertAsync(TRootEntity entity, CancellationToken cancellationToken)\n             => _commandBuilder.InsertAsync(entity, cancellationToken);\n\n        Task<int> IInsertCommandBuilder<TRootEntity>.InsertAsync(IList<TRootEntity> entities, CancellationToken cancellationToken)\n             => _commandBuilder.InsertAsync(entities, cancellationToken);\n\n        IBaseInsertRelationBuilder<TRootEntity, TRootEntity> IBaseInsertRelationBuilder<TRelationEntity, TRootEntity>.WithAll()\n             => _commandBuilder.WithAll();\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/InterpolatedSqlExpressionConverter.cs",
    "content": "﻿using System.Diagnostics.CodeAnalysis;\nusing System.Linq.Expressions;\nusing System.Runtime.CompilerServices;\nusing NpgsqlTypes;\nusing Venflow.Enums;\n\nnamespace Venflow.Commands\n{\n    internal static class InterpolatedSqlExpressionConverter\n    {\n        internal static (Delegate function, SqlExpressionOptions options, Type? parameterType) GetConvertedDelegate(List<Expression> instanceArguments, List<(int Index, NpgsqlDbType DbType)> dbTypes)\n        {\n            var visitor = new ConstantExpressionVisitor();\n\n            if (instanceArguments.Count > 0)\n            {\n                for (var instanceArgumentIndex = 0; instanceArgumentIndex < instanceArguments.Count; instanceArgumentIndex++)\n                {\n                    visitor.Visit(instanceArguments[instanceArgumentIndex]);\n                }\n            }\n\n            if (visitor.DisplayClassType is null &&\n                visitor.ThisType is null)\n            {\n                return (Expression.Lambda<Func<object[]>>(Expression.NewArrayInit(typeof(object), instanceArguments)).Compile(), SqlExpressionOptions.None, null);\n            }\n\n            var replacer = new ConstantExpressionReplacer(visitor.DisplayClassType, visitor.ThisType);\n\n            var nextDbType = dbTypes.Count == 0 ? (-1, 0) : dbTypes[0];\n            var dbTypeIndex = 0;\n\n            for (var instanceArgumentIndex = 0; instanceArgumentIndex < instanceArguments.Count; instanceArgumentIndex++)\n            {\n                if (instanceArgumentIndex == nextDbType.Item1)\n                {\n                    instanceArguments[instanceArgumentIndex] = Expression.New(typeof(Tuple<object, NpgsqlDbType>).GetConstructor(new[] { typeof(object), typeof(NpgsqlDbType) })!, replacer.Visit(instanceArguments[instanceArgumentIndex]), Expression.Constant(nextDbType.Item2));\n\n                    dbTypeIndex++;\n\n                    if (dbTypeIndex == dbTypes.Count)\n                    {\n                        nextDbType = (-1, 0);\n                    }\n                    else\n                    {\n                        nextDbType = dbTypes[dbTypeIndex];\n                    }\n                }\n                else\n                {\n                    instanceArguments[instanceArgumentIndex] = replacer.Visit(instanceArguments[instanceArgumentIndex]);\n                }\n            }\n\n            return (Expression.Lambda<Func<object, object[]>>(Expression.Block(new[] { replacer.LocalExpression }, new Expression[] { replacer.ConvertExpression, Expression.NewArrayInit(typeof(object), instanceArguments) }), replacer.ParameterExpression).Compile(),\n                    SqlExpressionOptions.HasDelegateParameter,\n                    visitor.DisplayClassType is not null ? visitor.DisplayClassType : visitor.ThisType);\n        }\n\n        internal static object? ExtractInstance(Expression expression, Type type)\n        {\n            var extractor = new InstanceExpressionExtractor(type);\n\n            extractor.Visit(expression);\n\n            return extractor.Instance;\n        }\n\n        private class InstanceExpressionExtractor : ExpressionVisitor\n        {\n            internal object? Instance { get; private set; }\n\n            private readonly Type _type;\n\n            internal InstanceExpressionExtractor(Type type)\n            {\n                _type = type;\n            }\n\n#if !NET48\n            [return: NotNullIfNotNull(\"node\")]\n#endif\n            public override Expression? Visit(Expression? node)\n            {\n                if (Instance is not null)\n                    return node;\n\n                return base.Visit(node);\n            }\n\n            protected override Expression VisitConstant(ConstantExpression node)\n            {\n                if (node.Type == _type)\n                {\n                    Instance = node.Value;\n\n                    return node;\n                }\n\n                return base.VisitConstant(node);\n            }\n        }\n\n        private class ConstantExpressionReplacer : ExpressionVisitor\n        {\n            internal ParameterExpression LocalExpression { get; }\n            internal BinaryExpression ConvertExpression { get; }\n            internal ParameterExpression ParameterExpression { get; }\n\n            private readonly Type? _displayClassType;\n            private readonly Type? _thisType;\n            private readonly FieldInfo? _thisField;\n\n            internal ConstantExpressionReplacer(Type? displayClassType, Type? thisType)\n            {\n                _displayClassType = displayClassType;\n                _thisType = thisType;\n\n                ParameterExpression = Expression.Parameter(typeof(object));\n\n                if (displayClassType is null)\n                {\n                    LocalExpression = Expression.Parameter(thisType!);\n                    ConvertExpression = Expression.Assign(LocalExpression, Expression.Convert(ParameterExpression, thisType!));\n                }\n                else\n                {\n                    LocalExpression = Expression.Parameter(displayClassType);\n                    ConvertExpression = Expression.Assign(LocalExpression, Expression.Convert(ParameterExpression, displayClassType));\n\n                    _thisField = _displayClassType!.GetFields().FirstOrDefault(x => x.FieldType == thisType && x.Name.StartsWith(\"<>\") && x.Name.Contains(\"__this\"));\n                }\n            }\n\n            protected override Expression VisitConstant(ConstantExpression node)\n            {\n                if (node.Type == _displayClassType)\n                {\n                    return LocalExpression;\n                }\n\n                if (node.Type == _thisType)\n                {\n                    if (_displayClassType is null)\n                    {\n                        return LocalExpression;\n                    }\n                    else\n                    {\n                        return Expression.Field(LocalExpression, _thisField!);\n                    }\n                }\n\n                return base.VisitConstant(node);\n            }\n        }\n\n        private class ConstantExpressionVisitor : ExpressionVisitor\n        {\n            internal Type? DisplayClassType { get; private set; }\n            internal Type? ThisType { get; private set; }\n\n#if !NET48\n            [return: NotNullIfNotNull(\"node\")]\n#endif\n            public override Expression? Visit(Expression? node)\n            {\n                if (DisplayClassType is not null &&\n                    ThisType is not null)\n                    return node;\n\n                return base.Visit(node);\n            }\n\n            protected override Expression VisitConstant(ConstantExpression node)\n            {\n                if (node.Type.IsClass &&\n                    node.Type.Name.StartsWith(\"<>c__DisplayClass\") &&\n                    Attribute.IsDefined(node.Type, typeof(CompilerGeneratedAttribute)))\n                {\n                    DisplayClassType = node.Type;\n\n                    return node;\n                }\n\n                if (node.Type.IsClass &&\n                    node.Type.Assembly != typeof(int).Assembly)\n                {\n                    ThisType = node.Type;\n\n                    return node;\n                }\n\n\n                return base.VisitConstant(node);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/QueryCacheKey.cs",
    "content": "﻿using System.Diagnostics.CodeAnalysis;\nusing Npgsql.Schema;\nusing Venflow.Dynamic;\nusing Venflow.Modeling;\n\nnamespace Venflow.Commands\n{\n    internal readonly struct QueryCacheKey\n    {\n        private readonly Entity _entity;\n        private readonly Type _returnType;\n        private readonly EntityRelation[]? _relations;\n        private readonly List<NpgsqlDbColumn> _columnSchema;\n        private readonly bool _isChangeTracking;\n\n        public QueryCacheKey(Entity entity, Type returnType, EntityRelation[]? relations, List<NpgsqlDbColumn> columnSchema, bool isChangeTracking)\n        {\n            _entity = entity;\n            _returnType = returnType;\n            _relations = relations;\n            _columnSchema = columnSchema;\n            _isChangeTracking = isChangeTracking;\n        }\n\n        public bool Equals(\n#if !NET48\n            [AllowNull]\n#endif\n            QueryCacheKey y)\n        {\n            if (y._isChangeTracking != _isChangeTracking ||\n                y._columnSchema.Count != _columnSchema.Count ||\n                y._returnType != _returnType)\n                return false;\n\n            var columnSchemaSpan = _columnSchema.AsSpan();\n            var foreignColumnSchemaSpan = y._columnSchema.AsSpan();\n\n            for (var columnIndex = columnSchemaSpan.Length - 1; columnIndex >= 0; columnIndex--)\n            {\n                if (columnSchemaSpan[columnIndex].ColumnName != foreignColumnSchemaSpan[columnIndex].ColumnName)\n                    return false;\n            }\n\n            return true;\n        }\n\n        public new int GetHashCode()\n        {\n            var hashCode = new HashCode();\n\n            hashCode.Add(_returnType);\n\n            if (_relations is not null)\n            {\n                var columnSchemaSpan = _columnSchema.AsSpan();\n\n                var joinIndex = 0;\n\n                var flattenedPathSpan = _relations.AsSpan();\n\n                var nextJoin = _entity;\n                var nextJoinPKName = _entity.GetPrimaryColumn()!.ColumnName;\n\n                for (int columnIndex = 0, max = columnSchemaSpan.Length; columnIndex < max; columnIndex++)\n                {\n                    var columnName = columnSchemaSpan[columnIndex].ColumnName;\n\n                    if (columnName == nextJoinPKName)\n                    {\n                        hashCode.Add(nextJoin.EntityName);\n\n                        if (flattenedPathSpan.Length == joinIndex)\n                            break;\n\n                        nextJoin = flattenedPathSpan[joinIndex].RightEntity;\n                        nextJoinPKName = nextJoin.GetPrimaryColumn()!.ColumnName;\n\n                        joinIndex++;\n                    }\n\n                    hashCode.Add(columnName);\n                }\n            }\n\n            hashCode.Add(_isChangeTracking);\n\n            return hashCode.ToHashCode();\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/QueryCacheKeyComparer.cs",
    "content": "﻿using System.Diagnostics.CodeAnalysis;\n\nnamespace Venflow.Commands\n{\n    internal class QueryCacheKeyComparer : IEqualityComparer<QueryCacheKey>\n    {\n        internal static QueryCacheKeyComparer Default { get; } = new QueryCacheKeyComparer();\n\n        private QueryCacheKeyComparer()\n        {\n\n        }\n\n        public bool Equals(\n#if !NET48\n            [AllowNull]\n#endif\n            QueryCacheKey x,\n#if !NET48\n            [AllowNull]\n#endif\n            QueryCacheKey y)\n        {\n            return x.Equals(y);\n        }\n\n        public int GetHashCode(\n#if !NET48\n            [DisallowNull]\n#endif\n            QueryCacheKey obj)\n        {\n            return obj.GetHashCode();\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/QueryRelationBuilder.cs",
    "content": "﻿using System.Linq.Expressions;\nusing Venflow.Enums;\nusing Venflow.Modeling;\n\nnamespace Venflow.Commands\n{\n    internal class QueryRelationBuilder<TRelationEntity, TRootEntity, TReturn> : IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>\n        where TRelationEntity : class, new()\n        where TRootEntity : class, new()\n        where TReturn : class, new()\n    {\n        private readonly Entity _root;\n        private readonly Entity _parent;\n        private readonly VenflowQueryCommandBuilder<TRootEntity, TReturn> _commandBuilder;\n        private readonly RelationBuilderValues _relationBuilder;\n\n        internal QueryRelationBuilder(Entity parent, VenflowQueryCommandBuilder<TRootEntity, TReturn> commandBuilder, RelationBuilderValues relationBuilder)\n        {\n            _parent = _root = parent;\n            _commandBuilder = commandBuilder;\n            _relationBuilder = relationBuilder;\n        }\n\n        internal QueryRelationBuilder(Entity root, Entity parent, VenflowQueryCommandBuilder<TRootEntity, TReturn> commandBuilder, RelationBuilderValues relationBuilder)\n        {\n            _root = root;\n            _parent = parent;\n            _commandBuilder = commandBuilder;\n            _relationBuilder = relationBuilder;\n        }\n\n        public IQueryCommand<TRootEntity, TReturn> Build()\n            => _commandBuilder.Build();\n\n        public IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> JoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin) where TToEntity : class, new()\n            => new QueryRelationBuilder<TToEntity, TRootEntity, TReturn>(_root, _relationBuilder.BaseRelationWith(_root, propertySelector, joinBehaviour), _commandBuilder, _relationBuilder);\n\n        public IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> JoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin) where TToEntity : class, new()\n            => new QueryRelationBuilder<TToEntity, TRootEntity, TReturn>(_root, _relationBuilder.BaseRelationWith(_root, propertySelector, joinBehaviour), _commandBuilder, _relationBuilder);\n\n        public IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> JoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin) where TToEntity : class, new()\n            => new QueryRelationBuilder<TToEntity, TRootEntity, TReturn>(_root, _relationBuilder.BaseRelationWith(_root, propertySelector, joinBehaviour), _commandBuilder, _relationBuilder);\n\n        public IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin) where TToEntity : class, new()\n            => new QueryRelationBuilder<TToEntity, TRootEntity, TReturn>(_root, _relationBuilder.BaseAndWith(_parent, propertySelector, joinBehaviour), _commandBuilder, _relationBuilder);\n\n        public IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin) where TToEntity : class, new()\n            => new QueryRelationBuilder<TToEntity, TRootEntity, TReturn>(_root, _relationBuilder.BaseAndWith(_parent, propertySelector, joinBehaviour), _commandBuilder, _relationBuilder);\n\n        public IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> ThenWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin) where TToEntity : class, new()\n           => new QueryRelationBuilder<TToEntity, TRootEntity, TReturn>(_root, _relationBuilder.BaseAndWith(_parent, propertySelector, joinBehaviour), _commandBuilder, _relationBuilder);\n\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector)\n            => ThenWith(propertySelector, JoinBehaviour.LeftJoin);\n\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector)\n            => ThenWith(propertySelector, JoinBehaviour.LeftJoin);\n\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenLeftWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector)\n            => ThenWith(propertySelector, JoinBehaviour.LeftJoin);\n\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector)\n            => ThenWith(propertySelector, JoinBehaviour.RightJoin);\n\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector)\n            => ThenWith(propertySelector, JoinBehaviour.RightJoin);\n\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenRightWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector)\n            => ThenWith(propertySelector, JoinBehaviour.RightJoin);\n\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, TToEntity>> propertySelector)\n            => ThenWith(propertySelector, JoinBehaviour.FullJoin);\n\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, IList<TToEntity>>> propertySelector)\n            => ThenWith(propertySelector, JoinBehaviour.FullJoin);\n\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> IQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.ThenFullWith<TToEntity>(Expression<Func<TRelationEntity, List<TToEntity>>> propertySelector)\n            => ThenWith(propertySelector, JoinBehaviour.FullJoin);\n\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector)\n            => JoinWith(propertySelector, JoinBehaviour.LeftJoin);\n\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector)\n            => JoinWith(propertySelector, JoinBehaviour.LeftJoin);\n\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.LeftJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector)\n            => JoinWith(propertySelector, JoinBehaviour.LeftJoin);\n\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector)\n            => JoinWith(propertySelector, JoinBehaviour.RightJoin);\n\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector)\n            => JoinWith(propertySelector, JoinBehaviour.RightJoin);\n\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.RightJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector)\n            => JoinWith(propertySelector, JoinBehaviour.RightJoin);\n\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith<TToEntity>(Expression<Func<TRootEntity, TToEntity>> propertySelector)\n            => JoinWith(propertySelector, JoinBehaviour.FullJoin);\n\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith<TToEntity>(Expression<Func<TRootEntity, IList<TToEntity>>> propertySelector)\n            => JoinWith(propertySelector, JoinBehaviour.FullJoin);\n\n        IQueryRelationBuilder<TToEntity, TRootEntity, TReturn> IBaseQueryRelationBuilder<TRelationEntity, TRootEntity, TReturn>.FullJoinWith<TToEntity>(Expression<Func<TRootEntity, List<TToEntity>>> propertySelector)\n            => JoinWith(propertySelector, JoinBehaviour.FullJoin);\n\n        public IBaseQueryRelationBuilder<TRootEntity, TRootEntity, TReturn> TrackChanges(bool trackChanges = true)\n            => _commandBuilder.TrackChanges(trackChanges);\n\n        public IBaseQueryRelationBuilder<TRootEntity, TRootEntity, TReturn> Log(bool shouldLog = true)\n            => _commandBuilder.Log(shouldLog);\n\n        public IBaseQueryRelationBuilder<TRootEntity, TRootEntity, TReturn> LogTo(LoggerCallback logger)\n            => _commandBuilder.LogTo(logger);\n\n        public IBaseQueryRelationBuilder<TRootEntity, TRootEntity, TReturn> LogTo(params LoggerCallback[] loggers)\n            => _commandBuilder.LogTo(loggers);\n\n        public Task<TReturn?> QueryAsync(CancellationToken cancellationToken = default)\n            => _commandBuilder.QueryAsync(cancellationToken);\n\n        public IBaseQueryRelationBuilder<TRootEntity, TRootEntity, TReturn> AddFormatter()\n            => _commandBuilder.AddFormatter();\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/RelationBuilderValues.cs",
    "content": "﻿using System.Linq.Expressions;\nusing Venflow.Dynamic;\nusing Venflow.Modeling;\nusing Venflow.Modeling.Definitions;\n\nnamespace Venflow.Commands\n{\n    internal class RelationBuilderValues : IRelationPath\n    {\n        internal List<RelationPath> FlattenedPath { get; }\n\n        List<RelationPath> IRelationPath.TrailingPath => _trailingPath;\n        Entity IRelationPath.Entity => _entity;\n\n        private RelationPath _currentPath;\n\n        private readonly List<RelationPath> _trailingPath;\n        private readonly Entity _entity;\n\n        internal RelationBuilderValues(Entity entity)\n        {\n            _entity = entity;\n            _currentPath = default!;\n            _trailingPath = new(1);\n            FlattenedPath = new(4);\n        }\n\n        internal EntityRelation[] GetFlattenedRelations()\n        {\n            var flattenedPathSpan = FlattenedPath.AsSpan();\n            var entityRelations = new EntityRelation[flattenedPathSpan.Length];\n            var entityRelationsSpan = entityRelations.AsSpan();\n\n            for (var i = flattenedPathSpan.Length - 1; i >= 0; i--)\n            {\n                entityRelationsSpan[i] = flattenedPathSpan[i].CurrentRelation;\n            }\n\n            return entityRelations;\n        }\n\n        internal Entity BaseRelationWith<TRootEntity, TTarget>(Entity parent, Expression<Func<TRootEntity, TTarget>> propertySelector)\n            where TRootEntity : class, new()\n            where TTarget : class\n        {\n            var foreignProperty = propertySelector.ValidatePropertySelector(false);\n\n            if (!parent.Relations!.TryGetValue(foreignProperty.Name, out var relation))\n            {\n                throw new TypeArgumentException($\"The provided entity '{typeof(TRootEntity).Name}' isn't in any relation with the entity '{typeof(TRootEntity).Name}' over the foreign property '{foreignProperty.Name}'. Ensure that you defined the relation in your configuration file.\");\n            }\n\n            AddToPath(relation!, true);\n\n            return relation!.RightEntity;\n        }\n\n        internal Entity BaseRelationWith<TRootEntity, TTarget, T>(Entity parent, Expression<Func<TRootEntity, TTarget>> propertySelector, T value)\n            where TRootEntity : class, new()\n            where TTarget : class\n        {\n            var foreignProperty = propertySelector.ValidatePropertySelector(false);\n\n            if (!parent.Relations!.TryGetValue(foreignProperty.Name, out var relation))\n            {\n                throw new TypeArgumentException($\"The provided entity '{typeof(TRootEntity).Name}' isn't in any relation with the entity '{typeof(TRootEntity).Name}' over the foreign property '{foreignProperty.Name}'. Ensure that you defined the relation in your configuration file.\");\n            }\n\n            AddToPath(relation!, value, true);\n\n            return relation!.RightEntity;\n        }\n\n        internal Entity BaseAndWith<TRelationEntity, TTarget>(Entity parent, Expression<Func<TRelationEntity, TTarget>> propertySelector)\n            where TRelationEntity : class, new()\n            where TTarget : class\n        {\n            var foreignProperty = propertySelector.ValidatePropertySelector(false);\n\n            if (!parent.Relations!.TryGetValue(foreignProperty.Name, out var relation))\n            {\n                throw new TypeArgumentException($\"The provided entity '{typeof(TRelationEntity).Name}' isn't in any relation with the entity '{typeof(TRelationEntity).Name}' over the foreign property '{foreignProperty.Name}'. Ensure that you defined the relation in your configuration file.\");\n            }\n\n            AddToPath(relation!, false);\n\n            return relation!.RightEntity;\n        }\n\n        internal Entity BaseAndWith<TRelationEntity, TTarget, T>(Entity parent, Expression<Func<TRelationEntity, TTarget>> propertySelector, T value)\n            where TRelationEntity : class, new()\n            where TTarget : class\n        {\n            var foreignProperty = propertySelector.ValidatePropertySelector(false);\n\n            if (!parent.Relations!.TryGetValue(foreignProperty.Name, out var relation))\n            {\n                throw new TypeArgumentException($\"The provided entity '{typeof(TRelationEntity).Name}' isn't in any relation with the entity '{typeof(TRelationEntity).Name}' over the foreign property '{foreignProperty.Name}'. Ensure that you defined the relation in your configuration file.\");\n            }\n\n            AddToPath(relation!, value, false);\n\n            return relation!.RightEntity;\n        }\n\n        private void AddToPath<T>(EntityRelation relation, T value, bool newFullPath)\n        {\n            if (newFullPath)\n            {\n                for (var pathIndex = _trailingPath.Count - 1; pathIndex >= 0; pathIndex--)\n                {\n                    var path = _trailingPath[pathIndex];\n\n                    if (path.CurrentRelation == relation)\n                    {\n                        _currentPath = path;\n\n                        return;\n                    }\n                }\n\n                _currentPath = new RelationPath<T>(relation, value);\n\n                _trailingPath.Add(_currentPath);\n\n                FlattenedPath.Add(_currentPath);\n            }\n            else\n            {\n                _currentPath = _currentPath.AddToPath(relation, value, out var isNew);\n\n                if (isNew)\n                {\n                    FlattenedPath.Add(_currentPath);\n                }\n            }\n        }\n\n        private void AddToPath(EntityRelation relation, bool newFullPath)\n        {\n            if (newFullPath)\n            {\n                for (var pathIndex = _trailingPath.Count - 1; pathIndex >= 0; pathIndex--)\n                {\n                    var path = _trailingPath[pathIndex];\n\n                    if (path.CurrentRelation == relation)\n                    {\n                        _currentPath = path;\n\n                        return;\n                    }\n                }\n\n                _currentPath = new RelationPath(relation);\n\n                _trailingPath.Add(_currentPath);\n\n                FlattenedPath.Add(_currentPath);\n            }\n            else\n            {\n                _currentPath = _currentPath.AddToPath(relation, out var isNew);\n\n                if (isNew)\n                {\n                    FlattenedPath.Add(_currentPath);\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/RelationPath.cs",
    "content": "﻿using Venflow.Modeling;\n\nnamespace Venflow.Commands\n{\n    internal interface IRelationPath\n    {\n        Entity Entity { get; }\n        List<RelationPath> TrailingPath { get; }\n    }\n\n    internal class RelationPath : IRelationPath\n    {\n        public Entity Entity => CurrentRelation.RightEntity;\n        internal EntityRelation CurrentRelation { get; }\n        public List<RelationPath> TrailingPath { get; }\n\n        internal RelationPath(EntityRelation currentRelation)\n        {\n            CurrentRelation = currentRelation;\n\n            TrailingPath = new(1);\n        }\n\n        internal RelationPath AddToPath(EntityRelation relation, out bool isNew)\n        {\n            for (var pathIndex = TrailingPath.Count - 1; pathIndex >= 0; pathIndex--)\n            {\n                var trailingPath = TrailingPath[pathIndex];\n\n                if (trailingPath.CurrentRelation == relation)\n                {\n                    isNew = false;\n\n                    return trailingPath;\n                }\n            }\n\n            var path = new RelationPath(relation);\n\n            TrailingPath.Add(path);\n\n            isNew = true;\n\n            return path;\n        }\n\n        internal RelationPath AddToPath<T>(EntityRelation relation, T value, out bool isNew)\n        {\n            for (var pathIndex = TrailingPath.Count - 1; pathIndex >= 0; pathIndex--)\n            {\n                var trailingPath = TrailingPath[pathIndex];\n\n                if (trailingPath.CurrentRelation == relation)\n                {\n                    isNew = false;\n\n                    return trailingPath;\n                }\n            }\n\n            var path = new RelationPath<T>(relation, value);\n\n            TrailingPath.Add(path);\n\n            isNew = true;\n\n            return path;\n        }\n    }\n\n    internal class RelationPath<T> : RelationPath\n    {\n        internal T Value { get; }\n\n        internal RelationPath(EntityRelation currentRelation, T value) : base(currentRelation)\n        {\n            Value = value;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/SqlQueryCacheKey.cs",
    "content": "﻿using System.Diagnostics.CodeAnalysis;\n\nnamespace Venflow.Commands\n{\n    internal readonly struct SqlQueryCacheKey\n    {\n        internal bool IsChangeTracking => _isChangeTracking;\n\n        private readonly Type _returnType;\n\n        private readonly string _sql;\n\n        private readonly bool _isChangeTracking;\n\n        public SqlQueryCacheKey(string sql, bool isChangeTracking, Type returnType)\n        {\n            _sql = sql;\n            _isChangeTracking = isChangeTracking;\n            _returnType = returnType;\n        }\n\n        public bool Equals(\n#if !NET48\n            [AllowNull]\n#endif\n            SqlQueryCacheKey y)\n        {\n            return _isChangeTracking == y._isChangeTracking && _returnType == y._returnType && _sql == y._sql;\n        }\n\n        public new int GetHashCode()\n        {\n            var hashCode = new HashCode();\n\n            hashCode.Add(_sql);\n\n            hashCode.Add(_returnType);\n\n            hashCode.Add(_isChangeTracking);\n\n            return hashCode.ToHashCode();\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/SqlQueryCacheKeyComparer.cs",
    "content": "﻿using System.Diagnostics.CodeAnalysis;\n\nnamespace Venflow.Commands\n{\n    internal class SqlQueryCacheKeyComparer : IEqualityComparer<SqlQueryCacheKey>\n    {\n        internal static SqlQueryCacheKeyComparer Default { get; } = new SqlQueryCacheKeyComparer();\n\n        private SqlQueryCacheKeyComparer()\n        {\n\n        }\n\n        public bool Equals(\n#if !NET48\n            [AllowNull]\n#endif\n            SqlQueryCacheKey x,\n#if !NET48\n            [AllowNull]\n#endif\n            SqlQueryCacheKey y)\n        {\n            return x.Equals(y);\n        }\n\n        public int GetHashCode(\n#if !NET48\n            [DisallowNull]\n#endif\n            SqlQueryCacheKey obj)\n        {\n            return obj.GetHashCode();\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/VenflowBaseCommand.cs",
    "content": "﻿using Npgsql;\nusing Venflow.Modeling;\n\nnamespace Venflow.Commands\n{\n    internal abstract class VenflowBaseCommand<TEntity> where TEntity : class, new()\n    {\n        internal bool DisposeCommand { get; set; }\n        internal Database Database { get; set; }\n        internal NpgsqlCommand UnderlyingCommand { get; set; }\n\n        internal Entity<TEntity> EntityConfiguration { get; }\n\n        protected List<LoggerCallback> Loggers { get; }\n        protected bool ShouldLog => _shouldLog && (Database.HasLoggers || Loggers.Count > 0);\n\n        protected bool ShouldAutoCommit = true;\n        protected const string TransactionName = \"_VenflowSavepoint\";\n        private readonly bool _shouldLog;\n\n        protected VenflowBaseCommand(Database database, Entity<TEntity> entityConfiguration, NpgsqlCommand? underlyingCommand, bool disposeCommand, List<LoggerCallback> loggers, bool shouldLog)\n        {\n            Database = database;\n            EntityConfiguration = entityConfiguration;\n            UnderlyingCommand = underlyingCommand!;\n            DisposeCommand = disposeCommand;\n\n            Loggers = loggers;\n            _shouldLog = shouldLog;\n\n            if (underlyingCommand is not null)\n                underlyingCommand.Connection = database.GetConnection();\n        }\n\n        protected bool Log(Enums.CommandType commandType, Exception? exception = default)\n        {\n            if (ShouldLog)\n            {\n                if (Loggers.Count == 0)\n                {\n                    Database.ExecuteLoggers(UnderlyingCommand, commandType, exception);\n                }\n                else\n                {\n                    Database.ExecuteLoggers(Loggers, UnderlyingCommand, commandType, exception);\n                }\n            }\n\n            if (VenflowConfiguration.ThrowLoggedExceptions &&\n                exception is not null)\n                throw exception;\n\n            return true;\n        }\n\n        protected ValueTask ValidateConnectionAsync(bool hasGeneratedCommands = false)\n        {\n            var connection = hasGeneratedCommands ? Database.GetConnection() : UnderlyingCommand.Connection;\n\n            if (connection!.State == System.Data.ConnectionState.Open)\n                return default;\n\n            if (connection!.State == System.Data.ConnectionState.Closed)\n            {\n                return new ValueTask(connection.OpenAsync());\n            }\n            else\n            {\n                throw new InvalidOperationException($\"The current connection state is invalid. Expected: '{System.Data.ConnectionState.Open}' or '{System.Data.ConnectionState.Closed}'. Actual: '{connection.State}'.\");\n            }\n        }\n\n        protected ValueTask<IDatabaseTransaction> GetTransactionAsync(\n#if !NET48\n            CancellationToken cancellationToken = default\n#endif\n            )\n        {\n            ShouldAutoCommit = !Database.HasActiveTransaction;\n\n#if NET48\n            return Database.GetOrCreateTransactionAsync();\n#else\n            return Database.GetOrCreateTransactionAsync(cancellationToken);\n#endif\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/VenflowCommandBuilder.cs",
    "content": "using System.Linq.Expressions;\nusing Npgsql;\nusing Venflow.Modeling;\n\nnamespace Venflow.Commands\n{\n    internal class VenflowCommandBuilder<TEntity> : IVenflowCommandBuilder<TEntity> where TEntity : class, new()\n    {\n        internal RelationBuilderValues? RelationValues { get; set; }\n\n        private readonly bool _disposeCommand;\n        private readonly Database _database;\n        private readonly Entity<TEntity> _entityConfiguration;\n\n        internal VenflowCommandBuilder(Database database, Entity<TEntity> entityConfiguration, bool disposeCommand = true)\n        {\n            _database = database;\n            _entityConfiguration = entityConfiguration;\n            _disposeCommand = disposeCommand;\n        }\n\n        #region Query\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(string sql)\n        {\n            return new VenflowQueryCommandBuilder<TEntity, TEntity>(_database, _entityConfiguration, sql, _disposeCommand, true);\n        }\n\n        internal IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingleBase(LambdaExpression sql)\n        {\n            return new VenflowQueryCommandBuilder<TEntity, TEntity>(_database, _entityConfiguration, sql, _disposeCommand, true);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(Expression<Func<TEntity, FormattableString>> sql)\n        {\n            return QuerySingleBase(sql);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne>(Expression<Func<TEntity, TOne, FormattableString>> sql)\n            where TOne : class, new()\n        {\n            return QuerySingleBase(sql);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, TTwo>(Expression<Func<TEntity, TOne, TTwo, FormattableString>> sql)\n            where TOne : class, new()\n            where TTwo : class, new()\n        {\n            return QuerySingleBase(sql);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, TTwo, TThree>(Expression<Func<TEntity, TOne, TTwo, TThree, FormattableString>> sql)\n            where TOne : class, new()\n            where TTwo : class, new()\n            where TThree : class, new()\n        {\n            return QuerySingleBase(sql);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, TTwo, TThree, TFour>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, FormattableString>> sql)\n            where TOne : class, new()\n            where TTwo : class, new()\n            where TThree : class, new()\n            where TFour : class, new()\n        {\n            return QuerySingleBase(sql);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, TTwo, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString>> sql)\n            where TOne : class, new()\n            where TTwo : class, new()\n            where TThree : class, new()\n            where TFour : class, new()\n            where TFive : class, new()\n        {\n            return QuerySingleBase(sql);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, TTwo, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString>> sql)\n            where TOne : class, new()\n            where TTwo : class, new()\n            where TThree : class, new()\n            where TFour : class, new()\n            where TFive : class, new()\n            where TSix : class, new()\n        {\n            return QuerySingleBase(sql);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString>> sql)\n            where TOne : class, new()\n            where TTwo : class, new()\n            where TThree : class, new()\n            where TFour : class, new()\n            where TFive : class, new()\n            where TSix : class, new()\n            where TSeven : class, new()\n        {\n            return QuerySingleBase(sql);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>> sql)\n            where TOne : class, new()\n            where TTwo : class, new()\n            where TThree : class, new()\n            where TFour : class, new()\n            where TFive : class, new()\n            where TSix : class, new()\n            where TSeven : class, new()\n            where TEight : class, new()\n        {\n            return QuerySingleBase(sql);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(string sql, params NpgsqlParameter[] parameters)\n        {\n            return new VenflowQueryCommandBuilder<TEntity, TEntity>(_database, _entityConfiguration, sql, parameters, _disposeCommand, true);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(string sql, IList<NpgsqlParameter> parameters)\n        {\n            return new VenflowQueryCommandBuilder<TEntity, TEntity>(_database, _entityConfiguration, sql, parameters, _disposeCommand, true);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QueryInterpolatedSingle(FormattableString sql)\n        {\n            return new VenflowQueryCommandBuilder<TEntity, TEntity>(_database, _entityConfiguration, sql, _disposeCommand, true);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(string sql)\n        {\n            return new VenflowQueryCommandBuilder<TEntity, List<TEntity>>(_database, _entityConfiguration, sql, _disposeCommand, false);\n        }\n\n        internal IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatchBase(LambdaExpression sql)\n        {\n            return new VenflowQueryCommandBuilder<TEntity, List<TEntity>>(_database, _entityConfiguration, sql, _disposeCommand, false);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(Expression<Func<TEntity, FormattableString>> sql)\n        {\n            return QueryBatchBase(sql);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne>(Expression<Func<TEntity, TOne, FormattableString>> sql)\n            where TOne : class, new()\n        {\n            return QueryBatchBase(sql);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, TTwo>(Expression<Func<TEntity, TOne, TTwo, FormattableString>> sql)\n            where TOne : class, new()\n            where TTwo : class, new()\n        {\n            return QueryBatchBase(sql);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, TTwo, TThree>(Expression<Func<TEntity, TOne, TTwo, TThree, FormattableString>> sql)\n            where TOne : class, new()\n            where TTwo : class, new()\n            where TThree : class, new()\n        {\n            return QueryBatchBase(sql);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, TTwo, TThree, TFour>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, FormattableString>> sql)\n            where TOne : class, new()\n            where TTwo : class, new()\n            where TThree : class, new()\n            where TFour : class, new()\n        {\n            return QueryBatchBase(sql);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, TTwo, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, FormattableString>> sql)\n            where TOne : class, new()\n            where TTwo : class, new()\n            where TThree : class, new()\n            where TFour : class, new()\n            where TFive : class, new()\n        {\n            return QueryBatchBase(sql);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, TTwo, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, FormattableString>> sql)\n            where TOne : class, new()\n            where TTwo : class, new()\n            where TThree : class, new()\n            where TFour : class, new()\n            where TFive : class, new()\n            where TSix : class, new()\n        {\n            return QueryBatchBase(sql);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, FormattableString>> sql)\n            where TOne : class, new()\n            where TTwo : class, new()\n            where TThree : class, new()\n            where TFour : class, new()\n            where TFive : class, new()\n            where TSix : class, new()\n            where TSeven : class, new()\n        {\n            return QueryBatchBase(sql);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>> sql)\n            where TOne : class, new()\n            where TTwo : class, new()\n            where TThree : class, new()\n            where TFour : class, new()\n            where TFive : class, new()\n            where TSix : class, new()\n            where TSeven : class, new()\n            where TEight : class, new()\n        {\n            return QueryBatchBase(sql);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(string sql, params NpgsqlParameter[] parameters)\n        {\n            return new VenflowQueryCommandBuilder<TEntity, List<TEntity>>(_database, _entityConfiguration, sql, parameters, _disposeCommand, false);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(string sql, IList<NpgsqlParameter> parameters)\n        {\n            return new VenflowQueryCommandBuilder<TEntity, List<TEntity>>(_database, _entityConfiguration, sql, parameters, _disposeCommand, false);\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryInterpolatedBatch(FormattableString sql)\n        {\n            return new VenflowQueryCommandBuilder<TEntity, List<TEntity>>(_database, _entityConfiguration, sql, _disposeCommand, false);\n        }\n\n        #endregion\n\n        #region Insert\n\n        public IBaseInsertRelationBuilder<TEntity, TEntity> Insert()\n        {\n            return new VenflowInsertCommandBuilder<TEntity>(_database, _entityConfiguration);\n        }\n\n        #endregion\n\n        #region Delete\n\n        public IDeleteCommandBuilder<TEntity> Delete()\n        {\n            return new VenflowDeleteCommandBuilder<TEntity>(_database, _entityConfiguration, _disposeCommand);\n        }\n\n        #endregion\n\n        #region Update\n\n        public IUpdateCommandBuilder<TEntity> Update()\n        {\n            return new VenflowUpdateCommandBuilder<TEntity>(_database, _entityConfiguration, _disposeCommand);\n        }\n\n        #endregion\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/VenflowDeleteCommand.cs",
    "content": "using Venflow.Dynamic;\nusing Venflow.Modeling;\n\nnamespace Venflow.Commands\n{\n    internal class VenflowDeleteCommand<TEntity> : VenflowBaseCommand<TEntity>, IDeleteCommand<TEntity> where TEntity : class, new()\n    {\n        private const int _minStringLength = 35; // Rough estimate of minimum length\n        private const int _minEntityStringLength = 3; // Rough estimate of minimum length\n\n        internal VenflowDeleteCommand(Database database, Entity<TEntity> entityConfiguration, bool disposeCommand, List<LoggerCallback> loggers, bool shouldLog) : base(database, entityConfiguration, new(), disposeCommand, loggers, shouldLog)\n        {\n\n        }\n\n        ValueTask<int> IDeleteCommand<TEntity>.DeleteAsync(TEntity entity, CancellationToken cancellationToken)\n        {\n            if (entity is null)\n                return default;\n\n            var commandString = new StringBuilder(_minStringLength);\n\n            commandString.Append(\"DELETE FROM \")\n                         .AppendLine(EntityConfiguration.TableName)\n                         .Append(\" WHERE \")\n                         .Append(EntityConfiguration.PrimaryColumn!.NormalizedColumnName)\n                         .Append(\" = \");\n\n            var primaryParameter = EntityConfiguration.PrimaryColumn.ValueRetriever(entity, \"0\");\n\n            UnderlyingCommand.Parameters.Add(primaryParameter);\n\n            commandString.Append(primaryParameter.ParameterName)\n                         .Append(';');\n\n            UnderlyingCommand.CommandText = commandString.ToString();\n\n            return new ValueTask<int>(ExecuteBase(Enums.CommandType.DeleteSingle, cancellationToken));\n        }\n\n        ValueTask<int> IDeleteCommand<TEntity>.DeleteAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken)\n        {\n            var commandString = new StringBuilder(_minStringLength + _minEntityStringLength);\n\n            commandString.Append(\"DELETE FROM \")\n                         .AppendLine(EntityConfiguration.TableName)\n                         .Append(\" WHERE \")\n                         .Append(EntityConfiguration.PrimaryColumn!.NormalizedColumnName)\n                         .Append(\" IN (\");\n\n            var valueRetriever = EntityConfiguration.PrimaryColumn.ValueRetriever;\n\n            var index = 0;\n\n            foreach (var entity in entities)\n            {\n                var parameter = valueRetriever.Invoke(entity, index++.ToString());\n\n                commandString.Append(parameter.ParameterName)\n                             .Append(\", \");\n\n                UnderlyingCommand.Parameters.Add(parameter);\n            }\n\n            if (index == 0)\n                return default;\n\n            commandString.Length -= 2;\n            commandString.Append(\");\");\n\n            UnderlyingCommand.CommandText = commandString.ToString();\n\n            return new ValueTask<int>(ExecuteBase(Enums.CommandType.DeleteBatch, cancellationToken));\n        }\n\n        ValueTask<int> IDeleteCommand<TEntity>.DeleteAsync(IList<TEntity> entities, CancellationToken cancellationToken)\n        {\n            if (entities is null ||\n                entities.Count == 0)\n                return default;\n\n            var commandString = new StringBuilder(_minStringLength + _minEntityStringLength * entities.Count);\n\n            commandString.Append(\"DELETE FROM \")\n                         .AppendLine(EntityConfiguration.TableName)\n                         .Append(\" WHERE \")\n                         .Append(EntityConfiguration.PrimaryColumn!.NormalizedColumnName)\n                         .Append(\" IN (\");\n\n            var valueRetriever = EntityConfiguration.PrimaryColumn.ValueRetriever;\n\n            for (var i = entities.Count - 1; i >= 0; i--)\n            {\n                var parameter = valueRetriever.Invoke(entities[i], i.ToString());\n\n                commandString.Append(parameter.ParameterName)\n                             .Append(\", \");\n\n                UnderlyingCommand.Parameters.Add(parameter);\n            }\n\n            commandString.Length -= 2;\n            commandString.Append(\");\");\n\n            UnderlyingCommand.CommandText = commandString.ToString();\n\n            return new ValueTask<int>(ExecuteBase(Enums.CommandType.DeleteBatch, cancellationToken));\n        }\n\n        ValueTask<int> IDeleteCommand<TEntity>.DeleteAsync(List<TEntity> entities, CancellationToken cancellationToken)\n        {\n            if (entities is null ||\n                entities.Count == 0)\n                return default;\n\n            UnderlyingCommand.CommandText = DeleteBase(entities.AsSpan());\n\n            return new ValueTask<int>(ExecuteBase(Enums.CommandType.DeleteBatch, cancellationToken));\n        }\n\n        ValueTask<int> IDeleteCommand<TEntity>.DeleteAsync(TEntity[] entities, CancellationToken cancellationToken)\n        {\n            if (entities is null ||\n                entities.Length == 0)\n                return default;\n\n            UnderlyingCommand.CommandText = DeleteBase(entities.AsSpan());\n\n            return new ValueTask<int>(ExecuteBase(Enums.CommandType.DeleteBatch, cancellationToken));\n        }\n\n        private string DeleteBase(Span<TEntity> entities)\n        {\n            var commandString = new StringBuilder(_minStringLength + _minEntityStringLength * entities.Length);\n\n            commandString.Append(\"DELETE FROM \")\n                         .AppendLine(EntityConfiguration.TableName)\n                         .Append(\" WHERE \")\n                         .Append(EntityConfiguration.PrimaryColumn!.NormalizedColumnName)\n                         .Append(\" IN (\");\n\n            var valueRetriever = EntityConfiguration.PrimaryColumn.ValueRetriever;\n\n            for (var i = entities.Length - 1; i >= 0; i--)\n            {\n                var parameter = valueRetriever.Invoke(entities[i], i.ToString());\n\n                commandString.Append(parameter.ParameterName)\n                             .Append(\", \");\n\n                UnderlyingCommand.Parameters.Add(parameter);\n            }\n\n            commandString.Length -= 2;\n            commandString.Append(\");\");\n\n            return commandString.ToString();\n        }\n\n        private async Task<int> ExecuteBase(Enums.CommandType commandType, CancellationToken cancellationToken)\n        {\n            await ValidateConnectionAsync();\n\n            var transaction = await GetTransactionAsync(\n#if !NET48\n                cancellationToken\n#endif\n            );\n\n            try\n            {\n                if (!ShouldAutoCommit)\n                    await transaction.SaveAsync(TransactionName, cancellationToken);\n\n                var affectedRows = await UnderlyingCommand.ExecuteNonQueryAsync(cancellationToken);\n\n                if (ShouldAutoCommit)\n                    await transaction.CommitAsync(cancellationToken);\n\n                Log(commandType);\n\n                return affectedRows;\n            }\n            catch (Exception ex)\n            {\n                if (ShouldAutoCommit)\n                    await transaction.RollbackAsync(cancellationToken);\n                else\n                    await transaction.RollbackAsync(TransactionName, cancellationToken);\n\n                Log(commandType, ex);\n\n                return default;\n            }\n            finally\n            {\n                if (ShouldAutoCommit)\n                    await transaction.DisposeAsync();\n                else\n                    await transaction.ReleaseAsync(TransactionName, cancellationToken);\n\n                if (DisposeCommand)\n                    await this.DisposeAsync();\n            }\n        }\n\n        public ValueTask DisposeAsync()\n        {\n            UnderlyingCommand.Dispose();\n\n            return default;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/VenflowDeleteCommandBuilder.cs",
    "content": "﻿using Venflow.Enums;\nusing Venflow.Modeling;\n\nnamespace Venflow.Commands\n{\n    internal class VenflowDeleteCommandBuilder<TEntity> : IDeleteCommandBuilder<TEntity>\n        where TEntity : class, new()\n    {\n        private bool _disposeCommand;\n        private bool? _shouldForceLog;\n\n        private readonly Database _database;\n        private readonly Entity<TEntity> _entityConfiguration;\n        private readonly List<LoggerCallback> _loggers;\n\n        internal VenflowDeleteCommandBuilder(Database database, Entity<TEntity> entityConfiguration, bool disposeCommand)\n        {\n            _database = database;\n            _entityConfiguration = entityConfiguration;\n            _disposeCommand = disposeCommand;\n\n            _loggers = new(0);\n        }\n\n        public IDeleteCommand<TEntity> Build()\n        {\n            var shouldLog = _shouldForceLog ?? _database.DefaultLoggingBehavior == LoggingBehavior.Always || _loggers.Count != 0;\n\n            return new VenflowDeleteCommand<TEntity>(_database, _entityConfiguration, _disposeCommand, _loggers, shouldLog);\n        }\n\n        ValueTask<int> IDeleteCommandBuilder<TEntity>.DeleteAsync(TEntity entity, CancellationToken cancellationToken)\n        {\n            _disposeCommand = true;\n\n            return Build().DeleteAsync(entity, cancellationToken);\n        }\n\n        ValueTask<int> IDeleteCommandBuilder<TEntity>.DeleteAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken)\n        {\n            _disposeCommand = true;\n\n            return Build().DeleteAsync(entities, cancellationToken);\n        }\n\n        ValueTask<int> IDeleteCommandBuilder<TEntity>.DeleteAsync(IList<TEntity> entities, CancellationToken cancellationToken)\n        {\n            _disposeCommand = true;\n\n            return Build().DeleteAsync(entities, cancellationToken);\n        }\n\n        ValueTask<int> IDeleteCommandBuilder<TEntity>.DeleteAsync(List<TEntity> entities, CancellationToken cancellationToken)\n        {\n            _disposeCommand = true;\n\n            return Build().DeleteAsync(entities, cancellationToken);\n        }\n\n        ValueTask<int> IDeleteCommandBuilder<TEntity>.DeleteAsync(TEntity[] entities, CancellationToken cancellationToken)\n        {\n            _disposeCommand = true;\n\n            return Build().DeleteAsync(entities, cancellationToken);\n        }\n\n        public IDeleteCommandBuilder<TEntity> Log(bool shouldLog = true)\n        {\n            _shouldForceLog = shouldLog;\n\n            return this;\n        }\n\n        public IDeleteCommandBuilder<TEntity> LogTo(LoggerCallback logger)\n        {\n            _loggers.Add(logger);\n\n            return this;\n        }\n\n        public IDeleteCommandBuilder<TEntity> LogTo(params LoggerCallback[] loggers)\n        {\n            _loggers.AddRange(loggers);\n\n            return this;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/VenflowInsertCommand.cs",
    "content": "using Npgsql;\nusing Venflow.Enums;\nusing Venflow.Modeling;\n\nnamespace Venflow.Commands\n{\n    internal class VenflowInsertCommand<TEntity> : VenflowBaseCommand<TEntity>, IInsertCommand<TEntity> where TEntity : class, new()\n    {\n        private Delegate? _singleInserter;\n        private Delegate? _singleLoggingInserter;\n        private Delegate? _batchInserter;\n        private Delegate? _batchLoggingInserter;\n\n        private readonly RelationBuilderValues? _relationBuilderValues;\n        private readonly bool _isFullInsert;\n\n        internal VenflowInsertCommand(Database database, Entity<TEntity> entityConfiguration, bool isFullInsert, List<LoggerCallback> loggers, bool shouldLog) : base(database, entityConfiguration, null, true, loggers, shouldLog)\n        {\n            _isFullInsert = isFullInsert;\n        }\n\n        internal VenflowInsertCommand(Database database, Entity<TEntity> entityConfiguration, RelationBuilderValues? relationBuilderValues, bool isFullInsert, List<LoggerCallback> loggers, bool shouldLog) : base(database, entityConfiguration, null, true, loggers, shouldLog)\n        {\n            _relationBuilderValues = relationBuilderValues;\n            _isFullInsert = isFullInsert;\n        }\n\n        async Task<int> IInsertCommand<TEntity>.InsertAsync(TEntity entity, CancellationToken cancellationToken)\n        {\n            await ValidateConnectionAsync(true);\n\n            Delegate inserter;\n\n            if (ShouldLog)\n            {\n                if (_singleLoggingInserter is null)\n                {\n                    _singleLoggingInserter = inserter = EntityConfiguration.InsertionFactory.GetOrCreateInserter<TEntity>(_relationBuilderValues!, ShouldLog, true, _isFullInsert);\n                }\n                else\n                {\n                    inserter = _singleLoggingInserter;\n                }\n            }\n            else\n            {\n                if (_singleInserter is null)\n                {\n                    _singleInserter = inserter = EntityConfiguration.InsertionFactory.GetOrCreateInserter<TEntity>(_relationBuilderValues!, ShouldLog, true, _isFullInsert);\n                }\n                else\n                {\n                    inserter = _singleInserter;\n                }\n            }\n\n            var transaction = await GetTransactionAsync(\n#if !NET48\n                cancellationToken\n#endif\n            );\n\n            UnderlyingCommand = new NpgsqlCommand\n            {\n                Connection = Database.GetConnection()\n            };\n\n            try\n            {\n                if (!ShouldAutoCommit)\n                    await transaction.SaveAsync(TransactionName, cancellationToken);\n\n                int affectedRows;\n\n                if (ShouldLog)\n                {\n                    affectedRows = await (inserter as Func<NpgsqlCommand, TEntity, Action<CommandType>, CancellationToken, Task<int>>)!.Invoke(UnderlyingCommand, entity, Log, cancellationToken);\n                }\n                else\n                {\n                    affectedRows = await (inserter as Func<NpgsqlCommand, TEntity, CancellationToken, Task<int>>)!.Invoke(UnderlyingCommand, entity, cancellationToken);\n                }\n\n                if (ShouldAutoCommit)\n                    await transaction.CommitAsync(cancellationToken);\n\n                return affectedRows;\n            }\n            catch (Exception ex)\n            {\n                if (ShouldAutoCommit)\n                    await transaction.RollbackAsync(cancellationToken);\n                else\n                    await transaction.RollbackAsync(TransactionName, cancellationToken);\n\n                Log(CommandType.InsertSingle, ex);\n\n                return default;\n            }\n            finally\n            {\n                if (ShouldAutoCommit)\n                    await transaction.DisposeAsync();\n                else\n                    await transaction.ReleaseAsync(TransactionName, cancellationToken);\n\n                UnderlyingCommand.Dispose();\n            }\n        }\n\n        async Task<int> IInsertCommand<TEntity>.InsertAsync(IList<TEntity> entities, CancellationToken cancellationToken)\n        {\n            await ValidateConnectionAsync(true);\n\n            Delegate inserter;\n\n            if (ShouldLog)\n            {\n                if (_batchLoggingInserter is null)\n                {\n                    _batchLoggingInserter = inserter = EntityConfiguration.InsertionFactory.GetOrCreateInserter<IList<TEntity>>(_relationBuilderValues!, ShouldLog, false, _isFullInsert);\n                }\n                else\n                {\n                    inserter = _batchLoggingInserter;\n                }\n            }\n            else\n            {\n                if (_batchInserter is null)\n                {\n                    _batchInserter = inserter = EntityConfiguration.InsertionFactory.GetOrCreateInserter<IList<TEntity>>(_relationBuilderValues!, ShouldLog, false, _isFullInsert);\n                }\n                else\n                {\n                    inserter = _batchInserter;\n                }\n            }\n\n            var transaction = await GetTransactionAsync(\n#if !NET48\n                cancellationToken\n#endif\n            );\n\n            UnderlyingCommand = new NpgsqlCommand\n            {\n                Connection = Database.GetConnection()\n            };\n\n            try\n            {\n                if (!ShouldAutoCommit)\n                    await transaction.SaveAsync(TransactionName, cancellationToken);\n\n                int affectedRows;\n\n                if (ShouldLog)\n                {\n                    affectedRows = await (inserter as Func<NpgsqlCommand, IList<TEntity>, Action<CommandType>, CancellationToken, Task<int>>)!.Invoke(UnderlyingCommand, entities, Log, cancellationToken);\n                }\n                else\n                {\n                    affectedRows = await (inserter as Func<NpgsqlCommand, IList<TEntity>, CancellationToken, Task<int>>)!.Invoke(UnderlyingCommand, entities, cancellationToken);\n                }\n\n                if (ShouldAutoCommit)\n                    await transaction.CommitAsync(cancellationToken);\n\n                return affectedRows;\n            }\n            catch (Exception ex)\n            {\n                if (ShouldAutoCommit)\n                    await transaction.RollbackAsync(cancellationToken);\n                else\n                    await transaction.RollbackAsync(TransactionName, cancellationToken);\n\n                Log(CommandType.InsertBatch, ex);\n\n                return default;\n            }\n            finally\n            {\n                if (ShouldAutoCommit)\n                    await transaction.DisposeAsync();\n                else\n                    await transaction.ReleaseAsync(TransactionName, cancellationToken);\n\n                UnderlyingCommand.Dispose();\n            }\n        }\n\n        private void Log(CommandType commandType)\n        {\n            if (Loggers.Count == 0)\n            {\n                Database.ExecuteLoggers(UnderlyingCommand, commandType, null);\n            }\n            else\n            {\n                Database.ExecuteLoggers(Loggers, UnderlyingCommand, commandType, null);\n            }\n        }\n\n        public ValueTask DisposeAsync()\n            => default;\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/VenflowInsertCommandBuilder.cs",
    "content": "﻿using System.Linq.Expressions;\nusing Venflow.Enums;\nusing Venflow.Modeling;\n\nnamespace Venflow.Commands\n{\n    internal class VenflowInsertCommandBuilder<TEntity> : IBaseInsertRelationBuilder<TEntity, TEntity>\n        where TEntity : class, new()\n    {\n        private RelationBuilderValues? _relationBuilderValues;\n        private bool _isFullInsert;\n        private bool? _shouldForceLog;\n\n        private readonly Database _database;\n        private readonly Entity<TEntity> _entityConfiguration;\n        private readonly List<LoggerCallback> _loggers;\n\n        internal VenflowInsertCommandBuilder(Database database, Entity<TEntity> entityConfiguration)\n        {\n            _database = database;\n            _entityConfiguration = entityConfiguration;\n\n            _loggers = new(0);\n        }\n\n        public IInsertCommand<TEntity> Build()\n        {\n            var shouldLog = _shouldForceLog ?? _database.DefaultLoggingBehavior == LoggingBehavior.Always || _loggers.Count != 0;\n\n            if (_relationBuilderValues is not null)\n            {\n                return new VenflowInsertCommand<TEntity>(_database, _entityConfiguration, _relationBuilderValues, _isFullInsert, _loggers, shouldLog);\n            }\n\n            return new VenflowInsertCommand<TEntity>(_database, _entityConfiguration, _isFullInsert, _loggers, shouldLog);\n        }\n\n        public Task<int> InsertAsync(TEntity entity, CancellationToken cancellationToken = default)\n        {\n            return Build().InsertAsync(entity, cancellationToken);\n        }\n\n        public Task<int> InsertAsync(IList<TEntity> entities, CancellationToken cancellationToken = default)\n        {\n            return Build().InsertAsync(entities, cancellationToken);\n        }\n\n        public IBaseInsertRelationBuilder<TEntity, TEntity> WithAll()\n        {\n            _isFullInsert = true;\n\n            return this;\n        }\n\n        IInsertRelationBuilder<TToEntity, TEntity> IBaseInsertRelationBuilder<TEntity, TEntity>.With<TToEntity>(Expression<Func<TEntity, TToEntity>> propertySelector)\n        {\n            _relationBuilderValues = new RelationBuilderValues(_entityConfiguration);\n\n            return new InsertRelationBuilder<TEntity, TEntity>(_entityConfiguration, _entityConfiguration, this, _relationBuilderValues).With(propertySelector);\n        }\n\n        IInsertRelationBuilder<TToEntity, TEntity> IBaseInsertRelationBuilder<TEntity, TEntity>.With<TToEntity>(Expression<Func<TEntity, IList<TToEntity>>> propertySelector)\n        {\n            _relationBuilderValues = new RelationBuilderValues(_entityConfiguration);\n\n            return new InsertRelationBuilder<TEntity, TEntity>(_entityConfiguration, _entityConfiguration, this, _relationBuilderValues).With(propertySelector);\n        }\n\n        IInsertRelationBuilder<TToEntity, TEntity> IBaseInsertRelationBuilder<TEntity, TEntity>.With<TToEntity>(Expression<Func<TEntity, List<TToEntity>>> propertySelector)\n        {\n            _relationBuilderValues = new RelationBuilderValues(_entityConfiguration);\n\n            return new InsertRelationBuilder<TEntity, TEntity>(_entityConfiguration, _entityConfiguration, this, _relationBuilderValues).With(propertySelector);\n        }\n\n        public IBaseInsertRelationBuilder<TEntity, TEntity> Log(bool shouldLog = true)\n        {\n            _shouldForceLog = shouldLog;\n\n            return this;\n        }\n\n        public IBaseInsertRelationBuilder<TEntity, TEntity> LogTo(LoggerCallback logger)\n        {\n            _loggers.Add(logger);\n\n            return this;\n        }\n\n        public IBaseInsertRelationBuilder<TEntity, TEntity> LogTo(params LoggerCallback[] loggers)\n        {\n            _loggers.AddRange(loggers);\n\n            return this;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/VenflowQueryCommand.cs",
    "content": "﻿using Npgsql;\nusing Venflow.Modeling;\n\nnamespace Venflow.Commands\n{\n    internal class VenflowQueryCommand<TEntity, TReturn> : VenflowBaseCommand<TEntity>, IQueryCommand<TEntity, TReturn> where TEntity : class, new() where TReturn : class, new()\n    {\n        private Delegate? _materializer;\n\n        private readonly RelationBuilderValues? _relationBuilderValues;\n        private readonly bool _isSingleResult;\n        private readonly SqlQueryCacheKey _sqlQueryCacheKey;\n\n        internal VenflowQueryCommand(Database database, Entity<TEntity> entityConfiguration, NpgsqlCommand underlyingCommand, RelationBuilderValues? relationBuilderValues, bool trackChanges, bool disposeCommand, bool isSingleResult, List<LoggerCallback> loggers, bool shouldLog) : base(database, entityConfiguration, underlyingCommand, disposeCommand, loggers, shouldLog)\n        {\n            _relationBuilderValues = relationBuilderValues;\n            _isSingleResult = isSingleResult;\n\n            _sqlQueryCacheKey = new SqlQueryCacheKey(underlyingCommand.CommandText, trackChanges, typeof(TReturn));\n        }\n\n        async Task<TReturn?> IQueryCommand<TEntity, TReturn>.QueryAsync(CancellationToken cancellationToken)\n        {\n            await ValidateConnectionAsync();\n\n            var reader = default(NpgsqlDataReader);\n\n            try\n            {\n                reader = await UnderlyingCommand.ExecuteReaderAsync(_isSingleResult ? System.Data.CommandBehavior.SingleRow : System.Data.CommandBehavior.Default, cancellationToken);\n\n                Func<NpgsqlDataReader, CancellationToken, Task<TReturn>> materializer;\n\n                if (_materializer is not null)\n                {\n                    materializer = (_materializer as Func<NpgsqlDataReader, CancellationToken, Task<TReturn>>)!;\n                }\n                else\n                {\n                    _materializer = materializer = EntityConfiguration.MaterializerFactory.GetOrCreateMaterializer<TReturn>(_relationBuilderValues, reader, _sqlQueryCacheKey);\n                }\n\n                var result = await materializer(reader, cancellationToken);\n\n                Log(_isSingleResult ? Enums.CommandType.QuerySingle : Enums.CommandType.QueryBatch);\n\n                return result;\n            }\n            catch (Exception ex) when (Log(_isSingleResult ? Enums.CommandType.QuerySingle : Enums.CommandType.QueryBatch, ex))\n            {\n                return default;\n            }\n            finally\n            {\n                if (reader is not null)\n                    await reader.DisposeAsync();\n\n                if (DisposeCommand)\n                    await this.DisposeAsync();\n            }\n        }\n\n        async Task<IQueryCommand<TEntity, TReturn>> IQueryCommand<TEntity, TReturn>.PrepareAsync(CancellationToken cancellationToken)\n        {\n            await ValidateConnectionAsync();\n\n            await UnderlyingCommand.PrepareAsync(cancellationToken);\n\n            return this;\n        }\n\n        async Task<IQueryCommand<TEntity, TReturn>> IQueryCommand<TEntity, TReturn>.UnprepareAsync(CancellationToken cancellationToken)\n        {\n            await ValidateConnectionAsync();\n\n            await UnderlyingCommand.UnprepareAsync(cancellationToken);\n\n            return this;\n        }\n\n        public async ValueTask DisposeAsync()\n        {\n            UnderlyingCommand.Dispose();\n\n            if (UnderlyingCommand.IsPrepared)\n            {\n                await UnderlyingCommand.UnprepareAsync();\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/VenflowQueryCommandBuilder.cs",
    "content": "using System.Linq.Expressions;\nusing Npgsql;\nusing NpgsqlTypes;\nusing Venflow.Dynamic;\nusing Venflow.Dynamic.Materializer;\nusing Venflow.Enums;\nusing Venflow.Modeling;\n\nnamespace Venflow.Commands\n{\n    internal class VenflowQueryCommandBuilder<TEntity, TReturn> : IBaseQueryRelationBuilder<TEntity, TEntity, TReturn>\n        where TEntity : class, new()\n        where TReturn : class, new()\n    {\n        private bool _trackChanges;\n        private QueryGenerationOptions _queryGenerationOptions;\n        private bool _disposeCommand;\n        private bool? _shouldForceLog;\n\n        private RelationBuilderValues? _relationBuilderValues;\n        private readonly string _rawSql = null!;\n        private readonly bool _singleResult;\n        private readonly NpgsqlCommand _command;\n        private readonly Database _database;\n        private readonly Entity<TEntity> _entityConfiguration;\n        private readonly object?[]? _interpolatedSqlParameters;\n        private readonly LambdaExpression? _interpolatedSqlExpression;\n        private readonly List<LoggerCallback> _loggers;\n\n        private VenflowQueryCommandBuilder(Database database, Entity<TEntity> entityConfiguration, QueryGenerationOptions queryGenerationOptions, bool disposeCommand, bool singleResult)\n        {\n            _database = database;\n            _entityConfiguration = entityConfiguration;\n            _queryGenerationOptions = queryGenerationOptions;\n            _disposeCommand = disposeCommand;\n            _singleResult = singleResult;\n\n            _loggers = new(0);\n            _command = new();\n        }\n\n        internal VenflowQueryCommandBuilder(Database database, Entity<TEntity> entityConfiguration, string sql, bool disposeCommand, bool singleResult) : this(database, entityConfiguration, QueryGenerationOptions.None, disposeCommand, singleResult)\n        {\n            _rawSql = sql;\n        }\n\n        internal VenflowQueryCommandBuilder(Database database, Entity<TEntity> entityConfiguration, LambdaExpression interpolatedSqlExpression, bool disposeCommand, bool singleResult) : this(database, entityConfiguration, QueryGenerationOptions.None, disposeCommand, singleResult)\n        {\n            _interpolatedSqlExpression = interpolatedSqlExpression;\n        }\n\n        internal VenflowQueryCommandBuilder(Database database, Entity<TEntity> entityConfiguration, FormattableString interpolatedSql, bool disposeCommand, bool singleResult) : this(database, entityConfiguration, QueryGenerationOptions.None, disposeCommand, singleResult)\n        {\n            _interpolatedSqlParameters = interpolatedSql.GetArguments();\n            _rawSql = interpolatedSql.Format;\n        }\n\n        internal VenflowQueryCommandBuilder(Database database, Entity<TEntity> entityConfiguration, string sql, IList<NpgsqlParameter> parameters, bool disposeCommand, bool singleResult) : this(database, entityConfiguration, sql, disposeCommand, singleResult)\n        {\n            for (var i = 0; i < parameters.Count; i++)\n            {\n                _command.Parameters.Add(parameters[i]);\n            }\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TReturn> TrackChanges(bool trackChanges = true)\n        {\n            _trackChanges = trackChanges;\n\n            return this;\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TReturn> Log(bool shouldLog = true)\n        {\n            _shouldForceLog = shouldLog;\n\n            return this;\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TReturn> LogTo(LoggerCallback logger)\n        {\n            _loggers.Add(logger);\n\n            return this;\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TReturn> LogTo(params LoggerCallback[] loggers)\n        {\n            _loggers.AddRange(loggers);\n\n            return this;\n        }\n\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TReturn> AddFormatter()\n        {\n            _queryGenerationOptions |= QueryGenerationOptions.GenerateJoins;\n\n            return this;\n        }\n\n        public IQueryCommand<TEntity, TReturn> Build()\n        {\n            if (_interpolatedSqlExpression is not null)\n            {\n                BuildFromExpression();\n            }\n            else if (_interpolatedSqlParameters is null)\n            {\n                if ((_queryGenerationOptions & QueryGenerationOptions.GenerateJoins) != 0 &&\n                    _relationBuilderValues is not null)\n                {\n                    var joinBuilder = new StringBuilder();\n\n                    AppendJoins(joinBuilder);\n\n                    _command.CommandText = _rawSql.Replace(\"><\", joinBuilder.ToString());\n                }\n                else\n                {\n                    _command.CommandText = _rawSql;\n                }\n            }\n            else\n            {\n                BuildFromInterpolatedSql();\n            }\n\n            var shouldLog = _shouldForceLog ?? _database.DefaultLoggingBehavior == LoggingBehavior.Always || _loggers.Count != 0;\n\n            return new VenflowQueryCommand<TEntity, TReturn>(_database, _entityConfiguration, _command, _relationBuilderValues, _trackChanges, _disposeCommand, _singleResult && _relationBuilderValues is null, _loggers, shouldLog);\n        }\n\n        private void BuildFromExpression()\n        {\n            var cacheKey = _interpolatedSqlExpression!.Body.ToString();\n\n            var expressionOptions = SqlExpressionOptions.None;\n            Delegate argumentsFunc = null!;\n            string sql = null!;\n            Type? parameterType = null;\n\n            if (!_entityConfiguration.MaterializerFactory.InterpolatedSqlMaterializerCache.TryGetValue(cacheKey, out var sqlExpression))\n            {\n                lock (_entityConfiguration.MaterializerFactory.InterpolatedSqlMaterializerCache)\n                {\n                    if (!_entityConfiguration.MaterializerFactory.InterpolatedSqlMaterializerCache.TryGetValue(cacheKey, out sqlExpression))\n                    {\n                        if (_interpolatedSqlExpression.Body is not MethodCallExpression method)\n                            throw new InvalidOperationException(\"The body of this Expression has to be an interpolated string.\");\n\n                        var parameters = _interpolatedSqlExpression.Parameters;\n\n                        var expressionArguments = (method.Arguments[1] as NewArrayExpression)!.Expressions;\n\n                        var staticArguments = new List<(int, string)>();\n                        var instanceArguments = new List<Expression>();\n\n                        for (var expressionArgumentIndex = 0; expressionArgumentIndex < expressionArguments.Count; expressionArgumentIndex++)\n                        {\n                            var argument = expressionArguments[expressionArgumentIndex];\n\n                            bool isConverted;\n\n                            if (argument.NodeType == ExpressionType.Convert)\n                            {\n                                argument = (argument as UnaryExpression)!.Operand;\n\n                                isConverted = true;\n                            }\n                            else\n                            {\n                                isConverted = false;\n                            }\n\n                            MemberExpression? memberArgument = null;\n                            ParameterExpression? parameterArgument = null;\n\n                            if (argument.NodeType == ExpressionType.MemberAccess)\n                            {\n                                memberArgument = (argument as MemberExpression)!;\n\n                                parameterArgument = memberArgument.Expression as ParameterExpression;\n\n                                if (parameterArgument is null)\n                                    memberArgument = null;\n                            }\n                            else if (argument.NodeType == ExpressionType.Parameter)\n                            {\n                                parameterArgument = argument as ParameterExpression;\n                            }\n\n                            if (parameterArgument is null)\n                            {\n                                instanceArguments.Add(isConverted ? Expression.Convert(argument, typeof(object)) : argument);\n\n                                continue;\n                            }\n\n                            string? name = null;\n\n                            for (var expressionParameterIndex = 0; expressionParameterIndex < parameters.Count; expressionParameterIndex++)\n                            {\n                                var parameter = parameters[expressionParameterIndex];\n\n                                if (parameterArgument.Name != parameter.Name)\n                                    continue;\n\n                                if (!_database.Entities.TryGetValue(parameter.Type.Name, out var entity))\n                                    throw new InvalidOperationException($\"The generic type parameter '{parameter.Type.Name}' is not a valid entity.\");\n\n                                if (memberArgument is not null)\n                                {\n                                    for (var columnIndex = 0; columnIndex < entity.GetColumnCount(); columnIndex++)\n                                    {\n                                        var column = entity.GetColumn(columnIndex);\n\n                                        if (column.PropertyInfo.Name != memberArgument.Member.Name)\n                                            continue;\n\n                                        name = entity.TableName + \".\" + column.NormalizedColumnName;\n\n                                        break;\n                                    }\n                                }\n                                else\n                                {\n                                    name = entity.TableName;\n                                }\n\n                                break;\n                            }\n\n                            if (name is null)\n                                throw new InvalidOperationException($\"The property {memberArgument!.Member.Name} is not mapped as a column.\");\n\n                            staticArguments.Add((expressionArgumentIndex, name));\n                        }\n\n                        (sql, var dbTypes) = GetFinalizedSqlString(((method.Arguments[0] as ConstantExpression)!.Value as string)!, staticArguments);\n\n                        (argumentsFunc, expressionOptions, parameterType) = InterpolatedSqlExpressionConverter.GetConvertedDelegate(instanceArguments, dbTypes);\n\n                        _entityConfiguration.MaterializerFactory.InterpolatedSqlMaterializerCache.Add(cacheKey, new SqlExpression(sql, argumentsFunc, parameterType!, expressionOptions));\n                    }\n                }\n            }\n\n            if (sqlExpression is not null)\n            {\n                sql = sqlExpression.SQL;\n                argumentsFunc = sqlExpression.Arguments;\n                expressionOptions = sqlExpression.Options;\n                parameterType = sqlExpression.ParameterType;\n            }\n\n            object[] arguments;\n\n            if (expressionOptions == SqlExpressionOptions.None)\n            {\n                arguments = (argumentsFunc as Func<object[]>)!.Invoke();\n            }\n            else\n            {\n                arguments = (argumentsFunc as Func<object, object[]>)!.Invoke(InterpolatedSqlExpressionConverter.ExtractInstance(_interpolatedSqlExpression!, parameterType!)!);\n            }\n\n            var argumentsSpan = arguments.AsSpan();\n            var sqlLength = sql.Length;\n            var argumentedSql = new StringBuilder(sqlLength);\n            var sqlSpan = sql.AsSpan();\n\n            var argumentIndex = 0;\n            var parameterIndex = 0;\n\n            for (var spanIndex = 0; spanIndex < sqlLength; spanIndex++)\n            {\n                var spanChar = sqlSpan[spanIndex];\n\n                if (spanChar == '{' &&\n                    spanIndex + 2 < sqlLength)\n                {\n                    for (spanIndex++; spanIndex < sqlLength; spanIndex++)\n                    {\n                        spanChar = sqlSpan[spanIndex];\n\n                        if (spanChar == '}')\n                            break;\n\n                        if (spanChar is < '0' or > '9')\n                        {\n                            throw new InvalidOperationException();\n                        }\n                    }\n\n                    var argument = argumentsSpan[argumentIndex++];\n                    NpgsqlDbType? dbType = default;\n\n                    if (argument is Tuple<object, NpgsqlDbType> tuple)\n                    {\n                        argument = tuple.Item1;\n                        dbType = tuple.Item2;\n                    }\n\n                    if (argument is IList list)\n                    {\n                        if (list.Count > 0)\n                        {\n                            var listType = default(Type);\n\n                            for (var listIndex = 0; listIndex < list.Count; listIndex++)\n                            {\n                                var listItem = list[listIndex];\n\n                                if (listType is null &&\n                                    listItem is not null)\n                                {\n                                    listType = listItem.GetType();\n\n                                    if (listType == typeof(object))\n                                        throw new InvalidOperationException(\"The SQL string interpolation doesn't support object lists.\");\n                                }\n\n                                var parameterName = \"@p\" + parameterIndex++.ToString();\n\n                                argumentedSql.Append(parameterName)\n                                             .Append(\", \");\n\n                                if (dbType is null)\n                                {\n                                    _command.Parameters.Add(ParameterTypeHandler.HandleParameter(parameterName, listType!, listItem));\n                                }\n                                else\n                                {\n                                    _command.Parameters.Add(ParameterTypeHandler.HandleParameter(parameterName, listItem, dbType.Value));\n                                }\n                            }\n\n                            argumentedSql.Length -= 2;\n                        }\n\n                        parameterIndex--;\n                    }\n                    else\n                    {\n                        var parameterName = \"@p\" + parameterIndex++.ToString();\n\n                        argumentedSql.Append(parameterName);\n\n                        if (dbType is null)\n                        {\n                            _command.Parameters.Add(ParameterTypeHandler.HandleParameter(parameterName, argument));\n                        }\n                        else\n                        {\n                            _command.Parameters.Add(ParameterTypeHandler.HandleParameter(parameterName, argument, dbType.Value));\n                        }\n                    }\n                }\n                else\n                {\n                    argumentedSql.Append(spanChar);\n                }\n            }\n\n            _command.CommandText = argumentedSql.ToString();\n        }\n\n        private (string Sql, List<(int Index, NpgsqlDbType DbType)> DbTypes) GetFinalizedSqlString(string sql, List<(int Index, string Name)> staticArguments)\n        {\n            var hasGeneratedJoins = (_queryGenerationOptions & QueryGenerationOptions.GenerateJoins) != 0 && _relationBuilderValues is not null;\n            var sqlLength = sql.Length;\n            var argumentedSql = new StringBuilder(sqlLength);\n            var sqlSpan = sql.AsSpan();\n\n            var dbTypes = new List<(int Index, NpgsqlDbType DbType)>();\n\n            var argumentIndex = 0;\n            var staticArgumentIndex = 1;\n            var nextStaticArgument = staticArguments.Count == 0 ? (-1, null) : staticArguments[0];\n\n            for (var spanIndex = 0; spanIndex < sqlLength; spanIndex++)\n            {\n                var spanChar = sqlSpan[spanIndex];\n\n                if (spanChar == '{' &&\n                    spanIndex + 2 < sqlLength)\n                {\n                    var dbTypeString = string.Empty;\n                    var appendDbTypeString = false;\n\n                    for (spanIndex++; spanIndex < sqlLength; spanIndex++)\n                    {\n                        spanChar = sqlSpan[spanIndex];\n\n                        if (spanChar == '}')\n                            break;\n\n                        if (spanChar == ',')\n                        {\n                            appendDbTypeString = true;\n                        }\n                        else if (spanChar is < '0' or > '9')\n                        {\n                            throw new InvalidOperationException();\n                        }\n                        else if (appendDbTypeString)\n                        {\n                            dbTypeString += spanChar.ToString();\n                        }\n                    }\n\n                    if (dbTypeString != string.Empty)\n                    {\n                        dbTypes.Add((argumentIndex - staticArgumentIndex + 1, (NpgsqlDbType)int.Parse(dbTypeString)));\n                    }\n\n                    if (argumentIndex == nextStaticArgument.Index)\n                    {\n                        argumentedSql.Append(nextStaticArgument.Name);\n\n                        if (staticArguments.Count > staticArgumentIndex)\n                            nextStaticArgument = staticArguments[staticArgumentIndex];\n\n                        staticArgumentIndex++;\n                    }\n                    else\n                    {\n                        argumentedSql.Append(\"{0}\");\n                    }\n\n                    argumentIndex++;\n                }\n                else if (hasGeneratedJoins &&\n                         spanChar == '>' &&\n                         spanIndex + 1 < sqlLength &&\n                         sqlSpan[spanIndex + 1] == '<')\n                {\n                    hasGeneratedJoins = false;\n\n                    AppendJoins(argumentedSql);\n\n                    spanIndex++;\n                }\n                else\n                {\n                    argumentedSql.Append(spanChar);\n                }\n            }\n\n            return (argumentedSql.ToString(), dbTypes);\n        }\n\n        private void BuildFromInterpolatedSql()\n        {\n            var hasGeneratedJoins = (_queryGenerationOptions & QueryGenerationOptions.GenerateJoins) != 0 && _relationBuilderValues is not null;\n            var argumentsSpan = _interpolatedSqlParameters.AsSpan();\n            var sqlLength = _rawSql.Length;\n            var argumentedSql = new StringBuilder(sqlLength);\n            var sqlSpan = _rawSql.AsSpan();\n\n            var argumentIndex = 0;\n            var parameterIndex = 0;\n\n            for (var spanIndex = 0; spanIndex < sqlLength; spanIndex++)\n            {\n                var spanChar = sqlSpan[spanIndex];\n\n                if (spanChar == '{' &&\n                    spanIndex + 2 < sqlLength)\n                {\n                    for (spanIndex++; spanIndex < sqlLength; spanIndex++)\n                    {\n                        spanChar = sqlSpan[spanIndex];\n\n                        if (spanChar == '}')\n                            break;\n\n                        if (spanChar is < '0' or > '9')\n                        {\n                            throw new InvalidOperationException();\n                        }\n                    }\n\n                    var argument = argumentsSpan[argumentIndex++];\n\n                    if (argument is IList list)\n                    {\n                        if (list.Count > 0)\n                        {\n                            var listType = default(Type);\n\n                            for (var listIndex = 0; listIndex < list.Count; listIndex++)\n                            {\n                                var listItem = list[listIndex];\n\n                                if (listType is null &&\n                                    listItem is not null)\n                                {\n                                    listType = listItem.GetType();\n\n                                    if (listType == typeof(object))\n                                        throw new InvalidOperationException(\"The SQL string interpolation doesn't support object lists.\");\n                                }\n\n                                var parameterName = \"@p\" + parameterIndex++.ToString();\n\n                                argumentedSql.Append(parameterName)\n                                             .Append(\", \");\n\n                                _command.Parameters.Add(ParameterTypeHandler.HandleParameter(parameterName, listType!, listItem));\n                            }\n\n                            argumentedSql.Length -= 2;\n                        }\n\n                        parameterIndex--;\n                    }\n                    else\n                    {\n                        var parameterName = \"@p\" + parameterIndex++.ToString();\n\n                        argumentedSql.Append(parameterName);\n\n                        _command.Parameters.Add(ParameterTypeHandler.HandleParameter(parameterName, argument));\n                    }\n                }\n                else if (hasGeneratedJoins &&\n                         spanChar == '>' &&\n                         spanIndex + 1 < sqlLength &&\n                         sqlSpan[spanIndex + 1] == '<')\n                {\n                    hasGeneratedJoins = false;\n\n                    AppendJoins(argumentedSql);\n\n                    spanIndex++;\n                }\n                else\n                {\n                    argumentedSql.Append(spanChar);\n                }\n            }\n\n            _command.CommandText = argumentedSql.ToString();\n        }\n\n        private void AppendJoins(StringBuilder sb)\n        {\n            var relationsSpan = _relationBuilderValues!.FlattenedPath.AsSpan();\n\n            for (int max = relationsSpan.Length, current = 0; current < max; current++)\n            {\n                var relationPath = (RelationPath<JoinBehaviour>)relationsSpan[current];\n                var relation = relationPath.CurrentRelation;\n\n                switch (relationPath.Value)\n                {\n                    case JoinBehaviour.InnerJoin:\n                        sb.Append(\"INNER JOIN \");\n                        break;\n                    case JoinBehaviour.LeftJoin:\n                        sb.Append(\"LEFT JOIN \");\n                        break;\n                    case JoinBehaviour.RightJoin:\n                        sb.Append(\"RIGHT JOIN \");\n                        break;\n                    case JoinBehaviour.FullJoin:\n                        sb.Append(\"FULL JOIN \");\n                        break;\n                    default:\n                        throw new InvalidOperationException($\"Invalid state '{relationPath.Value}' for the JoinBehaviour on entity {relation.RightEntity.EntityName}\");\n                }\n\n                sb.Append(relation.RightEntity.TableName)\n                  .Append(\" ON \");\n\n                if (relation.ForeignKeyLocation == ForeignKeyLocation.Left)\n                {\n                    sb.Append(relation.LeftEntity.TableName)\n                      .Append(\".\")\n                      .Append(relation.ForeignKeyColumn.NormalizedColumnName)\n                      .Append(\" = \")\n                      .Append(relation.RightEntity.TableName)\n                      .Append(\".\")\n                      .Append(relation.RightEntity.GetPrimaryColumn()!.NormalizedColumnName);\n                }\n                else\n                {\n                    sb.Append(relation.RightEntity.TableName)\n                      .Append(\".\")\n                      .Append(relation.ForeignKeyColumn.NormalizedColumnName)\n                      .Append(\" = \")\n                      .Append(relation.LeftEntity.TableName)\n                      .Append(\".\")\n                      .Append(relation.LeftEntity.GetPrimaryColumn()!.NormalizedColumnName);\n                }\n            }\n        }\n\n        public Task<TReturn?> QueryAsync(CancellationToken cancellationToken = default)\n        {\n            _disposeCommand = true;\n\n            return Build().QueryAsync(cancellationToken);\n        }\n\n        public IQueryRelationBuilder<TToEntity, TEntity, TReturn> JoinWith<TToEntity>(Expression<Func<TEntity, TToEntity>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin) where TToEntity : class, new()\n        {\n            _relationBuilderValues = new RelationBuilderValues(_entityConfiguration);\n\n            return new QueryRelationBuilder<TEntity, TEntity, TReturn>(_entityConfiguration, this, _relationBuilderValues).JoinWith(propertySelector, joinBehaviour);\n        }\n\n        public IQueryRelationBuilder<TToEntity, TEntity, TReturn> JoinWith<TToEntity>(Expression<Func<TEntity, IList<TToEntity>>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin) where TToEntity : class, new()\n        {\n            _relationBuilderValues = new RelationBuilderValues(_entityConfiguration);\n\n            return new QueryRelationBuilder<TEntity, TEntity, TReturn>(_entityConfiguration, this, _relationBuilderValues).JoinWith(propertySelector, joinBehaviour);\n        }\n\n        public IQueryRelationBuilder<TToEntity, TEntity, TReturn> JoinWith<TToEntity>(Expression<Func<TEntity, List<TToEntity>>> propertySelector, JoinBehaviour joinBehaviour = JoinBehaviour.InnerJoin) where TToEntity : class, new()\n        {\n            _relationBuilderValues = new RelationBuilderValues(_entityConfiguration);\n\n            return new QueryRelationBuilder<TEntity, TEntity, TReturn>(_entityConfiguration, this, _relationBuilderValues).JoinWith(propertySelector, joinBehaviour);\n        }\n        IQueryRelationBuilder<TToEntity, TEntity, TReturn> IBaseQueryRelationBuilder<TEntity, TEntity, TReturn>.LeftJoinWith<TToEntity>(Expression<Func<TEntity, TToEntity>> propertySelector)\n                => JoinWith(propertySelector, JoinBehaviour.LeftJoin);\n\n        IQueryRelationBuilder<TToEntity, TEntity, TReturn> IBaseQueryRelationBuilder<TEntity, TEntity, TReturn>.LeftJoinWith<TToEntity>(Expression<Func<TEntity, IList<TToEntity>>> propertySelector)\n                => JoinWith(propertySelector, JoinBehaviour.LeftJoin);\n\n        IQueryRelationBuilder<TToEntity, TEntity, TReturn> IBaseQueryRelationBuilder<TEntity, TEntity, TReturn>.LeftJoinWith<TToEntity>(Expression<Func<TEntity, List<TToEntity>>> propertySelector)\n                => JoinWith(propertySelector, JoinBehaviour.LeftJoin);\n\n        IQueryRelationBuilder<TToEntity, TEntity, TReturn> IBaseQueryRelationBuilder<TEntity, TEntity, TReturn>.RightJoinWith<TToEntity>(Expression<Func<TEntity, TToEntity>> propertySelector)\n                => JoinWith(propertySelector, JoinBehaviour.RightJoin);\n\n        IQueryRelationBuilder<TToEntity, TEntity, TReturn> IBaseQueryRelationBuilder<TEntity, TEntity, TReturn>.RightJoinWith<TToEntity>(Expression<Func<TEntity, IList<TToEntity>>> propertySelector)\n                => JoinWith(propertySelector, JoinBehaviour.RightJoin);\n\n        IQueryRelationBuilder<TToEntity, TEntity, TReturn> IBaseQueryRelationBuilder<TEntity, TEntity, TReturn>.RightJoinWith<TToEntity>(Expression<Func<TEntity, List<TToEntity>>> propertySelector)\n                => JoinWith(propertySelector, JoinBehaviour.RightJoin);\n\n        IQueryRelationBuilder<TToEntity, TEntity, TReturn> IBaseQueryRelationBuilder<TEntity, TEntity, TReturn>.FullJoinWith<TToEntity>(Expression<Func<TEntity, TToEntity>> propertySelector)\n                => JoinWith(propertySelector, JoinBehaviour.FullJoin);\n\n        IQueryRelationBuilder<TToEntity, TEntity, TReturn> IBaseQueryRelationBuilder<TEntity, TEntity, TReturn>.FullJoinWith<TToEntity>(Expression<Func<TEntity, IList<TToEntity>>> propertySelector)\n                => JoinWith(propertySelector, JoinBehaviour.FullJoin);\n\n        IQueryRelationBuilder<TToEntity, TEntity, TReturn> IBaseQueryRelationBuilder<TEntity, TEntity, TReturn>.FullJoinWith<TToEntity>(Expression<Func<TEntity, List<TToEntity>>> propertySelector)\n                => JoinWith(propertySelector, JoinBehaviour.FullJoin);\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/VenflowUpdateCommand.cs",
    "content": "using System.Runtime.CompilerServices;\nusing Venflow.Dynamic;\nusing Venflow.Dynamic.Proxies;\nusing Venflow.Enums;\nusing Venflow.Modeling;\n\nnamespace Venflow.Commands\n{\n    internal class VenflowUpdateCommand<TEntity> : VenflowBaseCommand<TEntity>, IUpdateCommand<TEntity> where TEntity : class, new()\n    {\n        private const int _minEntityStringLength = 35; // Rough estimate of minimum length\n\n        internal VenflowUpdateCommand(Database database, Entity<TEntity> entityConfiguration, bool disposeCommand, List<LoggerCallback> loggers, bool shouldLog) : base(database, entityConfiguration, new(), disposeCommand, loggers, shouldLog)\n        {\n\n        }\n\n        ValueTask IUpdateCommand<TEntity>.UpdateAsync(TEntity entity, CancellationToken cancellationToken)\n        {\n            if (entity is null)\n                return default;\n\n            var commandString = new StringBuilder(_minEntityStringLength);\n\n            BaseUpdate(entity, 0, commandString);\n\n            if (commandString.Length == 0)\n            {\n                return new ValueTask();\n            }\n\n            UnderlyingCommand.CommandText = commandString.ToString();\n\n            return new ValueTask(ExecuteBase(CommandType.UpdateSingle, false, cancellationToken));\n        }\n\n        ValueTask IUpdateCommand<TEntity>.UpdateAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken)\n        {\n            if (entities is null)\n                return default;\n\n            var commandString = new StringBuilder(_minEntityStringLength);\n\n            var index = 0;\n\n            foreach (var entity in entities)\n            {\n                BaseUpdate(entity, index++, commandString);\n            }\n\n            if (index == 0 ||\n                commandString.Length == 0)\n            {\n                return new ValueTask();\n            }\n\n            UnderlyingCommand.CommandText = commandString.ToString();\n\n            return new ValueTask(ExecuteBase(CommandType.UpdateBatch, index >= 10 && UnderlyingCommand.IsPrepared, cancellationToken));\n        }\n\n        ValueTask IUpdateCommand<TEntity>.UpdateAsync(IList<TEntity> entities, CancellationToken cancellationToken)\n        {\n            if (entities is null ||\n                entities.Count == 0)\n                return default;\n\n            var commandString = new StringBuilder(entities.Count * _minEntityStringLength);\n\n            for (var i = 0; i < entities.Count; i++)\n            {\n                BaseUpdate(entities[i], i, commandString);\n            }\n\n            if (commandString.Length == 0)\n            {\n                return new ValueTask();\n            }\n\n            UnderlyingCommand.CommandText = commandString.ToString();\n\n            return new ValueTask(ExecuteBase(CommandType.UpdateBatch, entities.Count >= 10 && UnderlyingCommand.IsPrepared, cancellationToken));\n        }\n\n        private async Task ExecuteBase(Enums.CommandType commandType, bool shouldPrepare, CancellationToken cancellationToken)\n        {\n            await ValidateConnectionAsync();\n\n            var transaction = await GetTransactionAsync(\n#if !NET48\n                cancellationToken\n#endif\n            );\n\n            if (shouldPrepare)\n            {\n                await UnderlyingCommand.PrepareAsync(cancellationToken);\n            }\n\n            try\n            {\n                if (!ShouldAutoCommit)\n                    await transaction.SaveAsync(TransactionName, cancellationToken);\n\n                await UnderlyingCommand.ExecuteNonQueryAsync(cancellationToken);\n\n                if (ShouldAutoCommit)\n                    await transaction.CommitAsync(cancellationToken);\n\n                Log(commandType);\n            }\n            catch (Exception ex)\n            {\n                if (ShouldAutoCommit)\n                    await transaction.RollbackAsync(cancellationToken);\n                else\n                    await transaction.RollbackAsync(TransactionName, cancellationToken);\n\n                Log(commandType, ex);\n            }\n            finally\n            {\n                if (ShouldAutoCommit)\n                    await transaction.DisposeAsync();\n                else\n                    await transaction.ReleaseAsync(TransactionName, cancellationToken);\n\n                if (shouldPrepare)\n                {\n                    await UnderlyingCommand.UnprepareAsync(cancellationToken);\n                }\n\n                if (DisposeCommand)\n                    await this.DisposeAsync();\n            }\n        }\n\n#if NET5_0_OR_GREATER\n        [MethodImpl(MethodImplOptions.AggressiveOptimization)]\n#endif\n        private void BaseUpdate(TEntity entity, int index, StringBuilder commandString)\n        {\n            if (entity is not IEntityProxy<TEntity> proxy)\n            {\n                throw new InvalidOperationException(\"The provided entity is currently not being change tracked. Also ensure that the entity itself has properties which are marked as virtual.\");\n            }\n            else if (!proxy.ChangeTracker.IsDirty)\n            {\n                return;\n            }\n\n            lock (proxy.ChangeTracker)\n            {\n                proxy.ChangeTracker.IsDirty = false;\n\n                commandString.Append(\"UPDATE \")\n                             .Append(EntityConfiguration.TableName)\n                             .Append(\" SET \");\n\n                var columns = proxy.ChangeTracker.GetColumns().AsSpan();\n\n                var entityColumns = EntityConfiguration.Columns.Values.AsSpan();\n\n                for (var i = columns.Length - 1; i >= 0; i--)\n                {\n                    var columnIndex = columns[i];\n\n                    if (columnIndex == 0)\n                        continue;\n\n                    var column = entityColumns[columnIndex - 1];\n\n                    commandString.Append(column.NormalizedColumnName)\n                                 .Append(\" = \");\n\n                    var parameter = column.ValueRetriever(entity, index.ToString());\n\n                    commandString.Append(parameter.ParameterName);\n\n                    UnderlyingCommand.Parameters.Add(parameter);\n\n                    commandString.Append(\", \");\n                }\n            }\n\n            commandString.Length -= 2;\n\n            commandString.Append(\" WHERE \")\n                         .Append(EntityConfiguration.PrimaryColumn!.NormalizedColumnName)\n                         .Append(\" = \");\n\n            var primaryParameter = EntityConfiguration.PrimaryColumn.ValueRetriever(entity, \"PK\" + index);\n\n            UnderlyingCommand.Parameters.Add(primaryParameter);\n\n            commandString.Append(primaryParameter.ParameterName)\n                         .Append(';');\n        }\n\n        public ValueTask DisposeAsync()\n        {\n            UnderlyingCommand.Dispose();\n\n            return default;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Commands/VenflowUpdateCommandBuilder.cs",
    "content": "﻿using Venflow.Enums;\nusing Venflow.Modeling;\n\nnamespace Venflow.Commands\n{\n    internal class VenflowUpdateCommandBuilder<TEntity> : IUpdateCommandBuilder<TEntity>\n        where TEntity : class, new()\n    {\n        private bool _disposeCommand;\n        private bool? _shouldForceLog;\n\n        private readonly Database _database;\n        private readonly Entity<TEntity> _entityConfiguration;\n        private readonly List<LoggerCallback> _loggers;\n\n        internal VenflowUpdateCommandBuilder(Database database, Entity<TEntity> entityConfiguration, bool disposeCommand)\n        {\n            _database = database;\n            _entityConfiguration = entityConfiguration;\n            _disposeCommand = disposeCommand;\n\n            _loggers = new(0);\n        }\n\n        public IUpdateCommand<TEntity> Build()\n        {\n            var shouldLog = _shouldForceLog ?? _database.DefaultLoggingBehavior == LoggingBehavior.Always || _loggers.Count != 0;\n\n            return new VenflowUpdateCommand<TEntity>(_database, _entityConfiguration, _disposeCommand, _loggers, shouldLog);\n        }\n\n        ValueTask IUpdateCommandBuilder<TEntity>.UpdateAsync(TEntity entity, CancellationToken cancellationToken)\n        {\n            _disposeCommand = true;\n\n            return Build().UpdateAsync(entity, cancellationToken);\n        }\n\n        ValueTask IUpdateCommandBuilder<TEntity>.UpdateAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken)\n        {\n            _disposeCommand = true;\n\n            return Build().UpdateAsync(entities, cancellationToken);\n        }\n\n        ValueTask IUpdateCommandBuilder<TEntity>.UpdateAsync(List<TEntity> entities, CancellationToken cancellationToken)\n        {\n            _disposeCommand = true;\n\n            return Build().UpdateAsync(entities, cancellationToken);\n        }\n\n        ValueTask IUpdateCommandBuilder<TEntity>.UpdateAsync(TEntity[] entities, CancellationToken cancellationToken)\n        {\n            _disposeCommand = true;\n\n            return Build().UpdateAsync(entities, cancellationToken);\n        }\n\n        ValueTask IUpdateCommandBuilder<TEntity>.UpdateAsync(IList<TEntity> entities, CancellationToken cancellationToken)\n        {\n            _disposeCommand = true;\n\n            return Build().UpdateAsync(entities, cancellationToken);\n        }\n\n        public IUpdateCommandBuilder<TEntity> Log(bool shouldLog = true)\n        {\n            _shouldForceLog = shouldLog;\n\n            return this;\n        }\n\n        public IUpdateCommandBuilder<TEntity> LogTo(LoggerCallback logger)\n        {\n            _loggers.Add(logger);\n\n            return this;\n        }\n\n        public IUpdateCommandBuilder<TEntity> LogTo(params LoggerCallback[] loggers)\n        {\n            _loggers.AddRange(loggers);\n\n            return this;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Database.cs",
    "content": "using System.Data;\nusing Npgsql;\nusing NpgsqlTypes;\nusing Venflow.Enums;\nusing Venflow.Modeling;\nusing Venflow.Modeling.Definitions;\nusing Venflow.Modeling.Definitions.Builder;\n\nnamespace Venflow\n{\n    internal static class DatabaseConfigurationCache\n    {\n        internal static ConcurrentDictionary<Type, DatabaseConfiguration> DatabaseConfigurations { get; } = new ConcurrentDictionary<Type, DatabaseConfiguration>(Environment.ProcessorCount, 1);\n\n        internal static Dictionary<Type, Entity> CustomEntities { get; } = new Dictionary<Type, Entity>(0);\n\n        internal static object BuildLocker { get; } = new object();\n    }\n\n    /// <summary>\n    /// A <see cref=\"Database\"/> instance represents a session with the database and can be used to perform CRUD operations with your tables and entities.\n    /// </summary>\n    /// <remarks>\n    /// Typically you create a class that derives from <see cref=\"Database\"/> and contains <see cref=\"Table{TEntity}\"/> properties for each entity in the Database. All the <see cref=\"Table{TEntity}\"/> properties must have a public setter, they are automatically initialized when the instance of the derived type is created.\n    /// </remarks>\n    public abstract class Database : IAsyncDisposable, IDisposable\n    {\n        internal IReadOnlyDictionary<string, Entity> Entities { get; private set; } = null!;\n        internal LoggingBehavior DefaultLoggingBehavior { get; }\n        internal bool HasActiveTransaction => _activeTransaction is not null && !_activeTransaction.IsDisposed;\n        internal bool HasLoggers => _loggers.Count > 0;\n\n        internal string ConnectionString { get; }\n\n        private NpgsqlConnection? _connection;\n        private DatabaseTransaction? _activeTransaction;\n\n        private readonly IReadOnlyList<LoggerCallback> _loggers;\n\n        /// <summary>\n        /// Initializes a new instance of the <see cref=\"Database\"/> class using the specified <paramref name=\"connectionString\"/>.\n        /// </summary>\n        /// <param name=\"connectionString\">The connection string to your PostgreSQL Database.</param>\n        protected Database(string connectionString)\n            :this(new DatabaseOptionsBuilder<Database> {ConnectionString = connectionString})\n        {\n        }\n\n        /// <summary>\n        /// Initializes a new instance of the <see cref=\"Database\"/> class using the specified <paramref name=\"optionsBuilder\"/>.\n        /// </summary>\n        /// <param name=\"optionsBuilder\">The options builder containing all the necessary information for the <see cref=\"Database\"/> instance.</param>\n        protected Database(DatabaseOptionsBuilder optionsBuilder)\n        {\n            ConnectionString = optionsBuilder.ConnectionString;\n            DefaultLoggingBehavior = optionsBuilder.DefaultLoggingBehavior;\n            _loggers = optionsBuilder.Loggers;\n            Build();\n        }\n\n#if NET48\n        /// <summary>\n        /// Asynchronously begins a new transaction.\n        /// </summary>\n        /// <returns>A task that represents the asynchronous operation. The task result contains the newly created transaction.</returns>\n        /// <remarks>Be aware, that this method will not create a new transaction on every call. It will only create a new one, if the old one is disposed or not available.</remarks>\n#else\n        /// <summary>\n        /// Asynchronously begins a new transaction.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task that represents the asynchronous operation. The task result contains the newly created transaction.</returns>\n        /// <remarks>Be aware, that this method will not create a new transaction on every call. It will only create a new one, if the old one is disposed or not available.</remarks>\n#endif\n        public async ValueTask<IDatabaseTransaction> BeginTransactionAsync(\n#if !NET48\n            CancellationToken cancellationToken = default\n#endif\n            )\n        {\n            await ValidateConnectionAsync();\n\n#if NET48\n            return HasActiveTransaction ? _activeTransaction! : _activeTransaction = new DatabaseTransaction(GetConnection().BeginTransaction());\n#else\n            return HasActiveTransaction ? _activeTransaction! : _activeTransaction = new DatabaseTransaction(await GetConnection().BeginTransactionAsync(cancellationToken));\n#endif\n        }\n\n#if NET48\n        /// <summary>\n        /// Asynchronously begins a new transaction.\n        /// </summary>\n        /// <param name=\"isolationLevel\">The isolation level under which the transaction should run.</param>\n        /// <returns>A task that represents the asynchronous operation. The task result contains the newly created transaction.</returns>\n        /// <remarks>Be aware, that this method will not create a new transaction on every call. It will only create a new one, if the old one is disposed or not available.</remarks>\n#else\n        /// <summary>\n        /// Asynchronously begins a new transaction.\n        /// </summary>\n        /// <param name=\"isolationLevel\">The isolation level under which the transaction should run.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        /// <returns>A task that represents the asynchronous operation. The task result contains the newly created transaction.</returns>\n        /// <remarks>Be aware, that this method will not create a new transaction on every call. It will only create a new one, if the old one is disposed or not available.</remarks>\n#endif\n        public async ValueTask<IDatabaseTransaction> BeginTransactionAsync(IsolationLevel isolationLevel\n#if !NET48\n            , CancellationToken cancellationToken = default\n#endif\n            )\n        {\n            await ValidateConnectionAsync();\n\n#if NET48\n            return HasActiveTransaction ? _activeTransaction! : _activeTransaction = new DatabaseTransaction(GetConnection().BeginTransaction());\n#else\n            return HasActiveTransaction ? _activeTransaction! : _activeTransaction = new DatabaseTransaction(await GetConnection().BeginTransactionAsync(isolationLevel, cancellationToken));\n#endif\n        }\n\n#if NET48\n        internal ValueTask<IDatabaseTransaction> GetOrCreateTransactionAsync()\n        {\n            if (HasActiveTransaction)\n            {\n                return new ValueTask<IDatabaseTransaction>(_activeTransaction!);\n            }\n\n            return new ValueTask<IDatabaseTransaction>(_activeTransaction = new DatabaseTransaction(GetConnection().BeginTransaction()));\n        }\n#else\n        internal async ValueTask<IDatabaseTransaction> GetOrCreateTransactionAsync(CancellationToken cancellationToken = default)\n        {\n            if (HasActiveTransaction)\n            {\n                return _activeTransaction!;\n            }\n\n            return _activeTransaction = new DatabaseTransaction(await GetConnection().BeginTransactionAsync(cancellationToken));\n        }\n#endif\n\n        /// <summary>\n        /// Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.\n        /// </summary>\n        /// <param name=\"sql\">The SQL to execute.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        /// <remarks>This method represents a <see cref=\"NpgsqlCommand.ExecuteNonQueryAsync(CancellationToken)\"/> call.</remarks>\n        public async Task<int> ExecuteAsync(string sql, CancellationToken cancellationToken = default)\n        {\n            await ValidateConnectionAsync();\n\n            using var command = new NpgsqlCommand(sql, GetConnection());\n\n            return await command.ExecuteNonQueryAsync(cancellationToken);\n        }\n\n        /// <summary>\n        /// Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.\n        /// </summary>\n        /// <param name=\"sql\">The SQL to execute.</param>\n        /// <param name=\"parameters\">The SQL Parameters which are being used for the current command.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        /// <remarks>This method represents a <see cref=\"NpgsqlCommand.ExecuteNonQueryAsync(CancellationToken)\"/> call.</remarks>\n        public async Task<int> ExecuteAsync(string sql, IList<NpgsqlParameter> parameters, CancellationToken cancellationToken = default)\n        {\n            await ValidateConnectionAsync();\n\n            using var command = new NpgsqlCommand(sql, GetConnection());\n\n            for (var i = 0; i < parameters.Count; i++)\n            {\n                command.Parameters.Add(parameters[i]);\n            }\n\n            return await command.ExecuteNonQueryAsync(cancellationToken);\n        }\n\n        /// <summary>\n        /// Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.\n        /// </summary>\n        /// <param name=\"sql\">The SQL to execute.</param>\n        /// <param name=\"parameters\">The SQL Parameters which are being used for the current command.</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        /// <remarks>This method represents a <see cref=\"System.Data.Common.DbCommand.ExecuteNonQueryAsync()\"/> call.</remarks>\n        public async Task<int> ExecuteAsync(string sql, params NpgsqlParameter[] parameters)\n        {\n            await ValidateConnectionAsync();\n\n            using var command = new NpgsqlCommand(sql, GetConnection());\n\n            for (var i = 0; i < parameters.Length; i++)\n            {\n                command.Parameters.Add(parameters[i]);\n            }\n\n            return await command.ExecuteNonQueryAsync();\n        }\n\n        /// <summary>\n        /// Asynchronously executes a command against the current Database. This method does automatically parameterize queries from an interpolated string.\n        /// </summary>\n        /// <param name=\"sql\">The interpolated SQL to execute.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        /// <remarks>This method represents a <see cref=\"System.Data.Common.DbCommand.ExecuteNonQueryAsync()\"/> call.</remarks>\n        public async Task<int> ExecuteInterpolatedAsync(FormattableString sql, CancellationToken cancellationToken = default)\n        {\n            await ValidateConnectionAsync();\n\n            using var command = new NpgsqlCommand();\n\n            command.Connection = GetConnection();\n            command.SetInterpolatedCommandText(sql);\n\n            return await command.ExecuteNonQueryAsync(cancellationToken);\n        }\n\n        /// <summary>\n        /// Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.\n        /// </summary>\n        /// <typeparam name=\"T\">The type of the scalar result.</typeparam>\n        /// <param name=\"sql\">The SQL to execute.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation, with the value of the scalar command.</returns>\n        /// <remarks>This method represents a <see cref=\"NpgsqlCommand.ExecuteScalarAsync(CancellationToken)\"/> call.</remarks>\n        public async Task<T> ExecuteAsync<T>(string sql, CancellationToken cancellationToken = default) where T : struct\n        {\n            await ValidateConnectionAsync();\n\n            using var command = new NpgsqlCommand(sql, GetConnection());\n\n            return (T)(await command.ExecuteScalarAsync(cancellationToken))!;\n        }\n\n        /// <summary>\n        /// Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.\n        /// </summary>\n        /// <typeparam name=\"T\">The type of the scalar result.</typeparam>\n        /// <param name=\"sql\">The SQL to execute.</param>\n        /// <param name=\"parameters\">The SQL Parameters which are being used for the current command.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation, with the value of the scalar command.</returns>\n        /// <remarks>This method represents a <see cref=\"NpgsqlCommand.ExecuteScalarAsync(CancellationToken)\"/> call.</remarks>\n        public async Task<T> ExecuteAsync<T>(string sql, IList<NpgsqlParameter> parameters, CancellationToken cancellationToken = default) where T : struct\n        {\n            await ValidateConnectionAsync();\n\n            using var command = new NpgsqlCommand(sql, GetConnection());\n\n            for (var i = 0; i < parameters.Count; i++)\n            {\n                command.Parameters.Add(parameters[i]);\n            }\n\n            return (T)(await command.ExecuteScalarAsync(cancellationToken))!;\n        }\n\n        /// <summary>\n        /// Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.\n        /// </summary>\n        /// <typeparam name=\"T\">The type of the scalar result.</typeparam>\n        /// <param name=\"sql\">The SQL to execute.</param>\n        /// <param name=\"parameters\">The SQL Parameters which are being used for the current command.</param>\n        /// <returns>A task representing the asynchronous operation, with the value of the scalar command.</returns>\n        /// <remarks>This method represents a <see cref=\"System.Data.Common.DbCommand.ExecuteScalarAsync()\"/> call.</remarks>\n        public async Task<T> ExecuteAsync<T>(string sql, params NpgsqlParameter[] parameters) where T : struct\n        {\n            await ValidateConnectionAsync();\n\n            using var command = new NpgsqlCommand(sql, GetConnection());\n\n            for (var i = 0; i < parameters.Length; i++)\n            {\n                command.Parameters.Add(parameters[i]);\n            }\n\n            return (T)(await command.ExecuteScalarAsync())!;\n        }\n\n        /// <summary>\n        /// Asynchronously executes a command against the current Database. This method does automatically parameterize queries from an interpolated string.\n        /// </summary>\n        /// <typeparam name=\"T\">The type of the scalar result.</typeparam>\n        /// <param name=\"sql\">The interpolated SQL to execute.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation, with the value of the scalar command.</returns>\n        /// <remarks>This method represents a <see cref=\"System.Data.Common.DbCommand.ExecuteScalarAsync()\"/> call.</remarks>\n        public async Task<T> ExecuteInterpolatedAsync<T>(FormattableString sql, CancellationToken cancellationToken = default) where T : struct\n        {\n            await ValidateConnectionAsync();\n\n            using var command = new NpgsqlCommand();\n\n            command.Connection = GetConnection();\n            command.SetInterpolatedCommandText(sql);\n\n            var npgsql = new NpgsqlDateTime(DateTime.Now);\n\n            return (T)(await command.ExecuteScalarAsync(cancellationToken))!;\n        }\n\n        /// <summary>\n        /// Allows for queries against an entity which isn't usually defined, this is usually an entity which hasn't got a table in your database.\n        /// </summary>\n        /// <returns>A <see cref=\"TableBase{TEntity}\"/> instance from which queries can be executed.</returns>\n        /// <remarks>The <typeparamref name=\"TEntity\"/> should always be used with this <see cref=\"Database\"/> instance, otherwise the model has to be generated multiple times.</remarks>\n        public TableBase<TEntity> Custom<TEntity>() where TEntity : class, new()\n        {\n            var entityType = typeof(TEntity);\n\n            if (DatabaseConfigurationCache.CustomEntities.TryGetValue(entityType, out var entity))\n            {\n                return new TableBase<TEntity>(this, (Entity<TEntity>)entity);\n            }\n\n            lock (DatabaseConfigurationCache.CustomEntities)\n            {\n                if (DatabaseConfigurationCache.CustomEntities.TryGetValue(entityType, out entity))\n                {\n                    return new TableBase<TEntity>(this, (Entity<TEntity>)entity);\n                }\n\n                var configuration = DatabaseConfigurationCache.DatabaseConfigurations[this.GetType()];\n                var entityBuilder = new EntityBuilder<TEntity>(configuration.ConfigurationOptionsBuilder, string.Empty)\n                {\n                    IsRegularEntity = false,\n                };\n\n                var entityFactory = new EntityFactory<TEntity>(entityBuilder);\n\n                entity = entityFactory.BuildEntity();\n\n                DatabaseConfigurationCache.CustomEntities.Add(entityType, entity);\n\n                return new TableBase<TEntity>(this, (Entity<TEntity>)entity);\n            }\n        }\n\n        /// <summary>\n        /// Gets or creates a new connections, if none got created yet.\n        /// </summary>\n        /// <returns>the <see cref=\"NpgsqlConnection\"/>.</returns>\n        public NpgsqlConnection GetConnection()\n        {\n            if (_connection is not null)\n                return _connection;\n\n            return _connection = new NpgsqlConnection(ConnectionString);\n        }\n\n        internal void ExecuteLoggers(NpgsqlCommand command, Venflow.Enums.CommandType commandType, Exception? exception)\n            => ExecuteLoggers(_loggers, command, commandType, exception);\n\n        internal void ExecuteLoggers(IReadOnlyList<LoggerCallback> loggers, NpgsqlCommand command, Venflow.Enums.CommandType commandType, Exception? exception)\n        {\n            for (var loggerIndex = 0; loggerIndex < loggers.Count; loggerIndex++)\n            {\n                loggers[loggerIndex].Invoke(command, commandType, exception);\n            }\n        }\n\n        private void Build()\n        {\n            if (!DatabaseConfigurationCache.DatabaseConfigurations.TryGetValue(this.GetType(), out var configuration))\n            {\n                lock (DatabaseConfigurationCache.BuildLocker)\n                {\n                    var type = this.GetType();\n\n                    if (!DatabaseConfigurationCache.DatabaseConfigurations.TryGetValue(type, out configuration))\n                    {\n                        var dbConfigurator = new DatabaseConfigurationFactory();\n\n                        var databaseConfigurationOptionsBuilder = new DatabaseConfigurationOptionsBuilder(this.GetType());\n                        Configure(databaseConfigurationOptionsBuilder);\n\n                        configuration = dbConfigurator.BuildConfiguration(type, databaseConfigurationOptionsBuilder);\n\n                        DatabaseConfigurationCache.DatabaseConfigurations.TryAdd(type, configuration);\n                    }\n                }\n            }\n\n            Entities = configuration.Entities;\n\n            configuration.InstantiateDatabase(this);\n        }\n\n        private ValueTask ValidateConnectionAsync()\n        {\n            var connection = GetConnection();\n\n            if (connection.State == ConnectionState.Open)\n                return default;\n\n            if (connection.State == ConnectionState.Closed)\n            {\n                return new ValueTask(connection.OpenAsync());\n            }\n            else\n            {\n                throw new InvalidOperationException($\"The current connection state is invalid. Expected: '{ConnectionState.Open}' or '{ConnectionState.Closed}'. Actual: '{connection.State}'.\");\n            }\n        }\n\n        /// <summary>\n        /// Allows for further configuration of the <see cref=\"Database\"/>.\n        /// </summary>\n        /// <param name=\"optionsBuilder\">A builder instance used to further configure the <see cref=\"Database\"/>.</param>\n        protected virtual void Configure(DatabaseConfigurationOptionsBuilder optionsBuilder) { }\n\n        /// <summary>\n        /// Releases the allocated resources for this context. Also closes the underlying connection, if open.\n        /// </summary>\n        /// <returns>A value task representing the asynchronous operation</returns>\n        public ValueTask DisposeAsync()\n        {\n            if (_connection is not null)\n            {\n                return _connection.DisposeAsync();\n            }\n\n            if (HasActiveTransaction)\n                throw new InvalidOperationException(\"This database has an open transaction which never has been disposed.\");\n\n            return new ValueTask();\n        }\n\n        /// <summary>\n        /// Releases the allocated resources for this context. Also closes the underlying connection, if open.\n        /// </summary>\n        /// <remarks>If you are in an asynchronous context you should consider using <see cref=\"DisposeAsync\"/> instead.</remarks>\n        public void Dispose()\n        {\n            if (_connection is not null)\n            {\n                _connection.Dispose();\n            }\n\n            if (HasActiveTransaction)\n                throw new InvalidOperationException(\"This database has an open transaction which never has been disposed.\");\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/DatabaseConfiguration.cs",
    "content": "﻿using Venflow.Modeling;\n\nnamespace Venflow\n{\n    internal class DatabaseConfiguration\n    {\n        internal Action<Database, IList<Entity>> DatabaseInstantiater { get; }\n        internal IReadOnlyDictionary<string, Entity> Entities { get; }\n        internal Dictionary<Type, Entity> CustomEntities { get; }\n        internal IList<Entity> EntitiesList { get; }\n        internal DatabaseConfigurationOptionsBuilder ConfigurationOptionsBuilder { get; }\n\n        internal DatabaseConfiguration(Action<Database, IList<Entity>> databaseInstantiater, IReadOnlyDictionary<string, Entity> entities, IList<Entity> entitiesList, DatabaseConfigurationOptionsBuilder configurationOptionsBuilder)\n        {\n            CustomEntities = new Dictionary<Type, Entity>();\n\n            DatabaseInstantiater = databaseInstantiater;\n            Entities = entities;\n            EntitiesList = entitiesList;\n            ConfigurationOptionsBuilder = configurationOptionsBuilder;\n        }\n\n        internal void InstantiateDatabase(Database database)\n        {\n            DatabaseInstantiater.Invoke(database, EntitiesList);\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/DatabaseConfigurationOptionsBuilder.cs",
    "content": "using Npgsql;\nusing Npgsql.NameTranslation;\nusing Venflow.Modeling.Definitions;\n\nnamespace Venflow\n{\n    /// <summary>\n    /// Provides an option builder to further <i>statically</i> configure a <see cref=\"Database\"/> instance.\n    /// </summary>\n    public class DatabaseConfigurationOptionsBuilder\n    {\n        internal List<Assembly> ConfigurationAssemblies { get; }\n        internal INpgsqlNameTranslator NpgsqlNameTranslator { get; private set; }\n\n        internal DatabaseConfigurationOptionsBuilder(Type effectiveDatabaseType)\n        {\n            ConfigurationAssemblies = new(1) { effectiveDatabaseType.Assembly };\n            NpgsqlNameTranslator = new NpgsqlQuotedNameTranslator();\n        }\n\n        /// <summary>\n        /// Adds the assembly of the type <typeparamref name=\"T\"/> to the <see cref=\"EntityConfiguration{TEntity}\"/> lookup list.\n        /// </summary>\n        /// <typeparam name=\"T\">The type of which the assembly should be added to the lookup list.</typeparam>\n        /// <returns>An object that can be used to configure the current <see cref=\"Database\"/> instance.</returns>\n        /// <remarks>If you add a custom configuration location, the assembly of the database type will not be automatically included.</remarks>\n        public DatabaseConfigurationOptionsBuilder UseConfigurations<T>()\n        {\n            ConfigurationAssemblies.Add(typeof(T).Assembly);\n\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the assembly to the <see cref=\"EntityConfiguration{TEntity}\"/> lookup list.\n        /// </summary>\n        /// <param name=\"assembly\">The assembly which should be added to the lookup list.</param>\n        /// <returns>An object that can be used to configure the current <see cref=\"Database\"/> instance.</returns>\n        /// <remarks>If you add a custom configuration location, the assembly of the database type will not be automatically included.</remarks>\n        public DatabaseConfigurationOptionsBuilder UseConfigurations(Assembly assembly)\n        {\n            ConfigurationAssemblies.Add(assembly);\n\n            return this;\n        }\n\n        /// <summary>\n        /// Adds the assemblies to the <see cref=\"EntityConfiguration{TEntity}\"/> lookup list.\n        /// </summary>\n        /// <param name=\"assemblies\">The assemblies which should be added to the lookup list.</param>\n        /// <returns>An object that can be used to configure the current <see cref=\"Database\"/> instance.</returns>\n        /// <remarks>If you add a custom configuration location, the assembly of the database type will not be automatically included.</remarks>\n        public DatabaseConfigurationOptionsBuilder UseConfigurations(params Assembly[] assemblies)\n        {\n            ConfigurationAssemblies.AddRange(assemblies);\n\n            return this;\n        }\n\n        /// <summary>\n        /// Sets the default naming convention to be used for entity table and column names.\n        /// </summary>\n        /// <typeparam name=\"T\">An implementation of <see cref=\"INpgsqlNameTranslator\"/> to be used as the default for name translation.</typeparam>\n        /// <returns>The same builder instance so that multiple calls can be chained.</returns>\n        public DatabaseConfigurationOptionsBuilder SetNamingConvention<T>()\n            where T : INpgsqlNameTranslator, new()\n        {\n            return SetNamingConvention(new T());\n        }\n\n        /// <summary>\n        /// Sets the default naming convention to be used for entity table and column names.\n        /// </summary>\n        /// <param name=\"npgsqlNameTranslator\">An implementation of <see cref=\"INpgsqlNameTranslator\"/> to be used as the default for name translation.</param>\n        /// <returns>The same builder instance so that multiple calls can be chained.</returns>\n        public DatabaseConfigurationOptionsBuilder SetNamingConvention(INpgsqlNameTranslator npgsqlNameTranslator)\n        {\n            NpgsqlNameTranslator = npgsqlNameTranslator;\n\n            return this;\n        }\n\n        /// <summary>\n        /// Maps a PostgreSQL enum to a CLR enum.\n        /// </summary>\n        /// <typeparam name=\"TEnum\">The type of the enum.</typeparam>\n        /// <param name=\"name\">The name of the enum in PostgreSQL, if none used it will try to convert the name of the CLR enum e.g. 'FooBar' to 'foo_bar'</param>\n        /// <param name=\"npgsqlNameTranslator\">A component which will be used to translate CLR names (e.g. SomeClass) into database names (e.g. some_class). Defaults to <see cref=\"Npgsql.NameTranslation.NpgsqlSnakeCaseNameTranslator\"/>.</param>\n        /// <returns>The same builder instance so that multiple calls can be chained.</returns>\n        public DatabaseConfigurationOptionsBuilder RegisterPostgresEnum<TEnum>(string? name = default, INpgsqlNameTranslator? npgsqlNameTranslator = default) where TEnum : struct, Enum\n        {\n            var type = typeof(TEnum);\n\n            if (string.IsNullOrWhiteSpace(name))\n            {\n                var underlyingType = Nullable.GetUnderlyingType(type);\n\n                name = underlyingType is not null ? underlyingType.Name : type.Name;\n\n                var nameBuilder = new StringBuilder(name.Length * 2 - 1);\n\n                nameBuilder.Append(char.ToLowerInvariant(name[0]));\n\n                var nameSpan = name.AsSpan();\n\n                for (var i = 1; i < nameSpan.Length; i++)\n                {\n                    var c = nameSpan[i];\n\n                    if (char.IsUpper(c))\n                    {\n                        nameBuilder.Append('_');\n                        nameBuilder.Append(char.ToLowerInvariant(c));\n                    }\n                    else\n                    {\n                        nameBuilder.Append(c);\n                    }\n                }\n\n                name = nameBuilder.ToString();\n            }\n\n            if (!ParameterTypeHandler.PostgreEnums.Contains(type))\n            {\n                NpgsqlConnection.GlobalTypeMapper.MapEnum<TEnum>(name, npgsqlNameTranslator);\n\n                ParameterTypeHandler.PostgreEnums.Add(type);\n            }\n\n            return this;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/DatabaseOptionsBuilder.cs",
    "content": "﻿using Npgsql;\nusing Venflow.Enums;\n\nnamespace Venflow\n{\n    /// <summary>\n    /// Represent a method that will handle all Logs produced by a <see cref=\"Database\"/> instance.\n    /// </summary>\n    /// <param name=\"command\">The command which produced the log.</param>\n    /// <param name=\"commandType\">The command type which produced the log.</param>\n    /// <param name=\"exception\">The exception occurred while trying to execute the command, if any occurred.</param>\n    public delegate void LoggerCallback(NpgsqlCommand command, CommandType commandType, Exception? exception);\n\n    /// <summary>\n    /// Provides an option builder to further <i>dynamically</i> configure a <see cref=\"Database\"/> instance.\n    /// </summary>\n    public class DatabaseOptionsBuilder<TDatabase> : DatabaseOptionsBuilder\n        where TDatabase : Database\n    {\n        /// <summary>\n        /// Adds a logger, which allows for logging of executed commands.\n        /// </summary>\n        /// <param name=\"loggerCallback\">A callback which is being used to log commands.</param>\n        /// <returns>An object that can be used to configure the current <see cref=\"Database\"/> instance.</returns>\n        /// <remarks>\n        /// Also consider configuring the <see cref=\"DatabaseOptionsBuilder.DefaultLoggingBehavior\"/> property.\n        /// </remarks>\n        public DatabaseOptionsBuilder<TDatabase> LogTo(LoggerCallback loggerCallback)\n        {\n            Loggers.Add(loggerCallback);\n\n            return this;\n        }\n\n        /// <summary>\n        /// Adds a logger, which allows for logging of executed commands.\n        /// </summary>\n        /// <param name=\"loggerCallback\">A callback which is being used to log commands.</param>\n        /// <param name=\"logSensitveData\">Determines whether or not to log parameterized commands.</param>\n        /// <returns>An object that can be used to configure the current <see cref=\"Database\"/> instance.</returns>\n        /// <remarks>\n        /// Also consider configuring the <see cref=\"DatabaseOptionsBuilder.DefaultLoggingBehavior\"/> property.\n        /// Be aware that this method should be used in cases which require quick logging. This API wraps the <paramref name=\"loggerCallback\"/> again and calls <see cref=\"LogTo(LoggerCallback)\"/>.\n        /// </remarks>\n        public DatabaseOptionsBuilder<TDatabase> LogTo(Action<string> loggerCallback, bool logSensitveData = false)\n        {\n            Loggers.Add((command, type, exception) =>\n            {\n                var sb = new StringBuilder();\n\n                sb.Append(\"Type: \")\n                  .Append(type)\n                  .Append(\": \");\n\n                if (logSensitveData)\n                {\n                    sb.AppendLine(command.GetUnParameterizedCommandText());\n                }\n                else\n                {\n                    sb.AppendLine(command.CommandText);\n                }\n\n                if (exception is not null)\n                {\n                    sb.Append(\"Exception: \")\n                      .Append(exception);\n                }\n\n                loggerCallback.Invoke(sb.ToString());\n            });\n\n            return this;\n        }\n    }\n\n    /// <summary>\n    /// Represent a method that will handle all Logs produced by a <see cref=\"Database\"/> instance.\n    /// </summary>\n    public abstract class DatabaseOptionsBuilder\n    {\n        /// <summary>\n        /// Gets or sets the default LoggingBehavior on commands for this <see cref=\"Database\"/>. The default is <see cref=\"LoggingBehavior.Always\"/>, if any loggers are defined.\n        /// </summary>\n        public LoggingBehavior DefaultLoggingBehavior { get; set; }\n\n        /// <summary>\n        /// Gets or sets the connection string which will be used in all <see cref=\"Database\"/> instances using the current <see cref=\"DatabaseOptionsBuilder{TDatabase}\"/> instance.\n        /// </summary>\n        public string ConnectionString { get; set; } = null!;\n\n        internal List<LoggerCallback> Loggers { get; }\n\n        private protected DatabaseOptionsBuilder()\n        {\n            Loggers = new();\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/DatabaseTransaction.cs",
    "content": "﻿using Npgsql;\n\nnamespace Venflow\n{\n    internal class DatabaseTransaction : IDatabaseTransaction\n    {\n        internal bool IsDisposed { get; private set; }\n\n        private readonly NpgsqlTransaction _npgsqlTransaction;\n\n        internal DatabaseTransaction(NpgsqlTransaction transaction)\n        {\n            _npgsqlTransaction = transaction;\n        }\n\n        void IDatabaseTransaction.Commit()\n            => _npgsqlTransaction.Commit();\n\n        Task IDatabaseTransaction.CommitAsync(CancellationToken cancellationToken)\n            => _npgsqlTransaction.CommitAsync(cancellationToken);\n\n        void IDatabaseTransaction.Release(string name)\n            => _npgsqlTransaction.Release(name);\n\n        Task IDatabaseTransaction.ReleaseAsync(string name, CancellationToken cancellationToken)\n            => _npgsqlTransaction.ReleaseAsync(name, cancellationToken);\n\n        void IDatabaseTransaction.Rollback()\n            => _npgsqlTransaction.Rollback();\n\n        void IDatabaseTransaction.Rollback(string name)\n            => _npgsqlTransaction.Rollback(name);\n\n        Task IDatabaseTransaction.RollbackAsync(CancellationToken cancellationToken)\n            => _npgsqlTransaction.RollbackAsync(cancellationToken);\n\n        Task IDatabaseTransaction.RollbackAsync(string name, CancellationToken cancellationToken)\n            => _npgsqlTransaction.RollbackAsync(name, cancellationToken);\n\n        void IDatabaseTransaction.Save(string name)\n            => _npgsqlTransaction.Save(name);\n\n        Task IDatabaseTransaction.SaveAsync(string name, CancellationToken cancellationToken)\n            => _npgsqlTransaction.SaveAsync(name, cancellationToken);\n\n        NpgsqlTransaction IDatabaseTransaction.GetNpgsqlTransaction()\n            => _npgsqlTransaction;\n\n        void IDisposable.Dispose()\n        {\n            IsDisposed = true;\n\n            _npgsqlTransaction.Dispose();\n        }\n\n        ValueTask IAsyncDisposable.DisposeAsync()\n        {\n            IsDisposed = true;\n\n            return _npgsqlTransaction.DisposeAsync();\n        }\n    }\n\n    /// <summary>\n    /// Represents a transaction to be made with a database.\n    /// </summary>\n    public interface IDatabaseTransaction : IAsyncDisposable, IDisposable\n    {\n        /// <summary>\n        /// Commits the database transaction.\n        /// </summary>\n        void Commit();\n\n        /// <summary>\n        /// Commits the database transaction.\n        /// </summary>\n        /// <param name=\"cancellationToken\">An optional token to cancel the asynchronous operation.</param>\n        Task CommitAsync(CancellationToken cancellationToken = default);\n\n        /// <summary>\n        /// Rolls back a transaction from a pending state.\n        /// </summary>\n        void Rollback();\n\n        /// <summary>\n        /// Rolls back a transaction from a pending state.\n        /// </summary>\n        /// <param name=\"cancellationToken\">An optional token to cancel the asynchronous operation.</param>\n        Task RollbackAsync(CancellationToken cancellationToken = default);\n\n        /// <summary>\n        /// Creates a transaction save point.\n        /// </summary>\n        /// <param name=\"name\">The name of the savepoint.</param>\n        /// <remarks>This method does not cause a database roundtrip to be made. The savepoint creation statement will instead be sent along with the next command.</remarks>\n        void Save(string name);\n\n        /// <summary>\n        /// Creates a transaction save point.\n        /// </summary>\n        /// <param name=\"name\">The name of the savepoint.</param>\n        /// <param name=\"cancellationToken\">An optional token to cancel the asynchronous operation.</param>\n        /// <remarks>This method does not cause a database roundtrip to be made, and will therefore always complete synchronously. The savepoint creation statement will instead be sent along with the next command.</remarks>\n        Task SaveAsync(string name, CancellationToken cancellationToken = default);\n\n        /// <summary>\n        /// Rolls back a transaction from a pending savepoint state.\n        /// </summary>\n        /// <param name=\"name\">The name of the savepoint.</param>\n        void Rollback(string name);\n\n        /// <summary>\n        /// Rolls back a transaction from a pending savepoint state.\n        /// </summary>\n        /// <param name=\"name\">The name of the savepoint.</param>\n        /// <param name=\"cancellationToken\">An optional token to cancel the asynchronous operation.</param>\n        Task RollbackAsync(string name, CancellationToken cancellationToken = default);\n\n        /// <summary>\n        /// Releases a transaction from a pending savepoint state.\n        /// </summary>\n        /// <param name=\"name\">The name of the savepoint.</param>\n        void Release(string name);\n\n        /// <summary>\n        /// Releases a transaction from a pending savepoint state.\n        /// </summary>\n        /// <param name=\"name\">The name of the savepoint.</param>\n        /// <param name=\"cancellationToken\">An optional token to cancel the asynchronous operation.</param>\n        Task ReleaseAsync(string name, CancellationToken cancellationToken = default);\n\n        /// <summary>\n        /// Will return the underlying <see cref=\"NpgsqlTransaction\"/>.\n        /// </summary>\n        /// <returns>The underlying <see cref=\"NpgsqlTransaction\"/></returns>\n        /// <remarks>\n        /// Please do note, that if you call any of the Dispose methods on the <see cref=\"NpgsqlTransaction\"/> instead of the <see cref=\"IDatabaseTransaction\"/> ones, Venflow will never know about it being disposed. Therefore, always call one of the Dispose methods on the <see cref=\"IDatabaseTransaction\"/> itself.\n        /// </remarks>\n        NpgsqlTransaction GetNpgsqlTransaction();\n    }\n}\n"
  },
  {
    "path": "src/Venflow/DualKeyCollection.cs",
    "content": "﻿namespace Venflow\n{\n    internal class DualKeyCollection<TKeyTwo, TValue>\n        where TKeyTwo : notnull\n        where TValue : class\n    {\n        private readonly TValue[] _oneToValue;\n        private readonly IDictionary<TKeyTwo, TValue> _twoToOne;\n\n        internal int Count => _oneToValue.Length;\n\n        internal TValue[] Values => _oneToValue;\n\n        internal DualKeyCollection(TValue[] firstCollction, Dictionary<TKeyTwo, TValue> twoToOne)\n        {\n            _oneToValue = firstCollction;\n            _twoToOne = twoToOne;\n        }\n\n        internal TValue this[int key] => _oneToValue[key];\n\n        internal TValue this[TKeyTwo key] => _twoToOne[key];\n\n        internal bool TryGetValue(TKeyTwo key, out TValue? value)\n        {\n            return _twoToOne.TryGetValue(key, out value);\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/IL/IILBaseInst.cs",
    "content": "﻿using System.Reflection.Emit;\n\nnamespace Venflow.Dynamic.IL\n{\n    internal interface IILBaseInst\n    {\n        void WriteIL(ILGenerator ilGenerator);\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/IL/ILAsyncGenerator.cs",
    "content": "﻿using System.Reflection.Emit;\n\nnamespace Venflow.Dynamic.IL\n{\n    // TODO: Add ConfigureAwait(false) to all calls\n    internal class ILAsyncGenerator\n    {\n        private int _awaiterIndex = -1;\n\n        private readonly ILGenerator _ilGenerator;\n        private readonly ILSwitchBuilder _ilSwitchBuilder;\n\n        private readonly Type _stateMachineType;\n\n        private readonly FieldBuilder _methodBuilderField;\n\n        private readonly FieldBuilder _stateField;\n        private readonly LocalBuilder _stateLocal;\n\n        private readonly Label _returnOfMethodLabel;\n\n        internal ILAsyncGenerator(ILGenerator ilGenerator, ILSwitchBuilder ilSwitchBuilder, FieldBuilder methodBuilderField, FieldBuilder stateField, LocalBuilder stateLocal, Label returnOfMethodLabel, Type stateMachineType)\n        {\n            _ilGenerator = ilGenerator;\n            _ilSwitchBuilder = ilSwitchBuilder;\n            _methodBuilderField = methodBuilderField;\n            _stateField = stateField;\n            _stateLocal = stateLocal;\n            _returnOfMethodLabel = returnOfMethodLabel;\n            _stateMachineType = stateMachineType;\n        }\n\n        internal void WriteAsyncMethodAwaiter(Type returnType, LocalBuilder taskAwaiterLocal, FieldBuilder taskAwaiterField)\n        {\n            var afterAwaitLabel = _ilGenerator.DefineLabel();\n\n            _ilGenerator.Emit(OpCodes.Callvirt, returnType.GetMethod(\"GetAwaiter\")!);\n            _ilGenerator.Emit(OpCodes.Stloc, taskAwaiterLocal);\n            _ilGenerator.Emit(OpCodes.Ldloca, taskAwaiterLocal);\n            _ilGenerator.Emit(OpCodes.Call, taskAwaiterLocal.LocalType.GetProperty(\"IsCompleted\")!.GetGetMethod()!);\n            _ilGenerator.Emit(OpCodes.Brtrue, afterAwaitLabel);\n\n            // await handler\n\n            // stateField = stateLocal\n            _ilGenerator.Emit(OpCodes.Ldarg_0);\n\n            if (++_awaiterIndex < sbyte.MaxValue)\n                _ilGenerator.Emit(OpCodes.Ldc_I4_S, (sbyte)_awaiterIndex);\n            else\n                _ilGenerator.Emit(OpCodes.Ldc_I4, _awaiterIndex);\n\n            _ilGenerator.Emit(OpCodes.Dup);\n            _ilGenerator.Emit(OpCodes.Stloc, _stateLocal);\n            _ilGenerator.Emit(OpCodes.Stfld, _stateField);\n\n            // taskAwaiterField = taskAwaiterLocal\n            _ilGenerator.Emit(OpCodes.Ldarg_0);\n            _ilGenerator.Emit(OpCodes.Ldloc, taskAwaiterLocal);\n            _ilGenerator.Emit(OpCodes.Stfld, taskAwaiterField);\n\n            // call AwaitUnsafeOnCompleted\n            _ilGenerator.Emit(OpCodes.Ldarg_0);\n            _ilGenerator.Emit(OpCodes.Ldflda, _methodBuilderField);\n            _ilGenerator.Emit(OpCodes.Ldloca, taskAwaiterLocal);\n            _ilGenerator.Emit(OpCodes.Ldarg_0);\n            _ilGenerator.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetMethod(\"AwaitUnsafeOnCompleted\")!.MakeGenericMethod(taskAwaiterLocal.LocalType, _stateMachineType));\n            _ilGenerator.Emit(OpCodes.Leave, _returnOfMethodLabel);\n\n            _ilSwitchBuilder.MarkCase();\n\n            // taskAwaiterLocal = taskAwaiterField\n            _ilGenerator.Emit(OpCodes.Ldarg_0);\n            _ilGenerator.Emit(OpCodes.Ldfld, taskAwaiterField);\n            _ilGenerator.Emit(OpCodes.Stloc, taskAwaiterLocal);\n\n            // taskAwaiterField = default\n            _ilGenerator.Emit(OpCodes.Ldarg_0);\n            _ilGenerator.Emit(OpCodes.Ldflda, taskAwaiterField);\n            _ilGenerator.Emit(OpCodes.Initobj, taskAwaiterField.FieldType);\n\n            // stateField = stateLocal = -1\n            _ilGenerator.Emit(OpCodes.Ldarg_0);\n            _ilGenerator.Emit(OpCodes.Ldc_I4_M1);\n            _ilGenerator.Emit(OpCodes.Dup);\n            _ilGenerator.Emit(OpCodes.Stloc, _stateLocal);\n            _ilGenerator.Emit(OpCodes.Stfld, _stateField);\n\n            // wait of the result from the TaskAwaiter\n            _ilGenerator.MarkLabel(afterAwaitLabel);\n            _ilGenerator.Emit(OpCodes.Ldloca, taskAwaiterLocal);\n            _ilGenerator.Emit(OpCodes.Call, taskAwaiterLocal.LocalType.GetMethod(\"GetResult\")!);\n        }\n\n        internal void WriteAsyncValueTaskMethodAwaiter(LocalBuilder valueTaskLocal, LocalBuilder valueTaskAwaiterLocal, FieldBuilder valueTaskAwaiterField)\n        {\n            _ilGenerator.Emit(OpCodes.Stloc, valueTaskLocal);\n            _ilGenerator.Emit(OpCodes.Ldloca, valueTaskLocal);\n\n            WriteAsyncMethodAwaiter(valueTaskLocal.LocalType, valueTaskAwaiterLocal, valueTaskAwaiterField);\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/IL/ILFieldInfo.cs",
    "content": "﻿using System.Reflection.Emit;\n\nnamespace Venflow.Dynamic.IL\n{\n    internal struct ILFieldInfo : IILBaseInst\n    {\n        private readonly OpCode _opCode;\n        private readonly FieldInfo _value;\n\n        internal ILFieldInfo(OpCode opCode, FieldInfo value)\n        {\n            _opCode = opCode;\n            _value = value;\n        }\n\n        void IILBaseInst.WriteIL(ILGenerator ilGenerator)\n        {\n            ilGenerator.Emit(_opCode, _value);\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/IL/ILGeneratorExtensions.cs",
    "content": "﻿using System.Reflection.Emit;\n\nnamespace Venflow.Dynamic.IL\n{\n    internal static class ILGeneratorExtensions\n    {\n        internal static ILSwitchBuilder EmitSwitch(this ILGenerator ilGenerator, int labelCount)\n        {\n            var switchBuilder = new ILSwitchBuilder(ilGenerator, labelCount);\n\n            ilGenerator.Emit(OpCodes.Switch, switchBuilder.GetLabels());\n\n            return switchBuilder;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/IL/ILGhostGenerator.cs",
    "content": "using System.Reflection.Emit;\n\nnamespace Venflow.Dynamic.IL\n{\n    internal class ILGhostGenerator\n    {\n        private IILBaseInst[] _ilInstructions;\n        private int _index;\n\n        internal ILGhostGenerator()\n        {\n            _ilInstructions = new IILBaseInst[16];\n        }\n\n        internal void EnsureCapacity()\n        {\n            if (_ilInstructions.Length - 1 != _index)\n                return;\n\n            var tempArr = new IILBaseInst[_ilInstructions.Length * 2];\n\n            Array.Copy(_ilInstructions, 0, tempArr, 0, _ilInstructions.Length - 1);\n\n            _ilInstructions = tempArr;\n        }\n\n        internal void Emit(OpCode opCode)\n        {\n            EnsureCapacity();\n\n            _ilInstructions[_index++] = new ILInst(opCode);\n        }\n\n\n        internal void Emit(OpCode opCode, FieldInfo field)\n        {\n            EnsureCapacity();\n\n            _ilInstructions[_index++] = new ILFieldInfo(opCode, field);\n        }\n\n        internal void WriteIL(ILGenerator ilGenerator)\n        {\n            for (var i = 0; i < _index; i++)\n            {\n                _ilInstructions[i].WriteIL(ilGenerator);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/IL/ILInst.cs",
    "content": "﻿using System.Reflection.Emit;\n\nnamespace Venflow.Dynamic.IL\n{\n    internal struct ILInst : IILBaseInst\n    {\n        private readonly OpCode _opCode;\n\n        internal ILInst(OpCode opCode)\n        {\n            _opCode = opCode;\n        }\n\n        void IILBaseInst.WriteIL(ILGenerator ilGenerator)\n        {\n            ilGenerator.Emit(_opCode);\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/IL/ILSwitchBuilder.cs",
    "content": "﻿using System.Reflection.Emit;\n\nnamespace Venflow.Dynamic.IL\n{\n    internal class ILSwitchBuilder\n    {\n        private int _labelIndex;\n\n        private readonly Label[] _labels;\n        private readonly ILGenerator _iLGenerator;\n\n        internal ILSwitchBuilder(ILGenerator iLGenerator, int labelCount)\n        {\n            _iLGenerator = iLGenerator;\n            _labels = new Label[labelCount];\n\n            for (var i = labelCount - 1; i >= 0; i--)\n            {\n                _labels[i] = iLGenerator.DefineLabel();\n            }\n        }\n\n        internal void MarkCase()\n        {\n            _iLGenerator.MarkLabel(_labels[_labelIndex++]);\n        }\n\n        internal Label[] GetLabels()\n        {\n            return _labels;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/IgnoresAccessChecksToAttribute.cs",
    "content": "﻿using System.ComponentModel;\n\nnamespace System.Runtime.CompilerServices\n{\n    /// <summary>\n    /// <strong>Do not use this attribute, if you are not absolutely sure what it does.</strong>\n    /// </summary>\n    [EditorBrowsable(EditorBrowsableState.Never)]\n    [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]\n    public class IgnoresAccessChecksToAttribute : Attribute\n    {\n#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member\n        public IgnoresAccessChecksToAttribute(string assemblyName)\n            => AssemblyName = assemblyName;\n\n        public string AssemblyName { get; }\n#pragma warning restore CS1591 // Missing XML comment for publicly visible type or member\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/Inserter/EntityRelationHolder.cs",
    "content": "﻿using Venflow.Modeling;\n\nnamespace Venflow.Dynamic.Inserter\n{\n    internal class EntityRelationHolder\n    {\n        internal Entity Entity { get; }\n        internal List<EntityRelation> SelfAssignedRelations { get; }\n        internal List<EntityRelation> ForeignAssignedRelations { get; }\n        internal EntityRelation? DirectAssignedRelation { get; set; }\n\n        internal EntityRelationHolder(Entity entity)\n        {\n            Entity = entity;\n            SelfAssignedRelations = new List<EntityRelation>();\n            ForeignAssignedRelations = new List<EntityRelation>();\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/Inserter/InsertionFactory.cs",
    "content": "using Venflow.Commands;\nusing Venflow.Enums;\nusing Venflow.Modeling;\n\nnamespace Venflow.Dynamic.Inserter\n{\n    internal class InsertionFactory<TEntity> where TEntity : class, new()\n    {\n        private readonly Entity<TEntity> _entity;\n\n        private readonly Dictionary<InsertCacheKey, Delegate> _inserterCache;\n        private readonly object _insertionLock;\n\n        internal InsertionFactory(Entity<TEntity> entity)\n        {\n            _entity = entity;\n\n            _inserterCache = new(InsertCacheKeyComparer.Default);\n            _insertionLock = new();\n        }\n\n        internal Delegate GetOrCreateInserter<TInsert>(RelationBuilderValues relationBuilderValues, bool shouldLog, bool isSingleInsert, bool isFullInsert) where TInsert : class\n        {\n            var insertOptions = InsertCacheKeyOptions.None;\n\n            if (isSingleInsert)\n                insertOptions |= InsertCacheKeyOptions.IsSingleInsert;\n\n            if (isFullInsert)\n                insertOptions |= InsertCacheKeyOptions.IsFullInsert;\n\n            if (shouldLog)\n                insertOptions |= InsertCacheKeyOptions.HasLogging;\n\n            var cacheKey = new InsertCacheKey(!isFullInsert && relationBuilderValues is not null ? relationBuilderValues.GetFlattenedRelations() : Array.Empty<EntityRelation>(), insertOptions);\n\n            if (_inserterCache.TryGetValue(cacheKey, out var tempInserter))\n            {\n                return tempInserter!;\n            }\n\n            lock (_insertionLock)\n            {\n                if (_inserterCache.TryGetValue(cacheKey, out tempInserter))\n                {\n                    return tempInserter!;\n                }\n                else\n                {\n                    var sourceCompiler = new InsertionSourceCompiler();\n\n                    if (isFullInsert)\n                    {\n                        sourceCompiler.CompileFromRoot(_entity);\n                    }\n                    else\n                    {\n                        sourceCompiler.CompileFromRelations(_entity, relationBuilderValues!);\n                    }\n\n                    var inserter = new InsertionFactoryCompiler(_entity).CreateInserter<TInsert>(sourceCompiler.GetEntities(), sourceCompiler.VisitedEntityIds, sourceCompiler.ReachableRelations, shouldLog);\n\n                    _inserterCache.Add(cacheKey, inserter);\n\n                    return inserter;\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/Inserter/InsertionFactoryCompiler.cs",
    "content": "#pragma warning disable 8602,8604\nusing System.Reflection.Emit;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.Serialization;\nusing Npgsql;\nusing Venflow.Dynamic.IL;\nusing Venflow.Enums;\nusing Venflow.Modeling;\n\nnamespace Venflow.Dynamic.Inserter\n{\n    // TODO: Add CommandBehaviour.SingleRow to batch inserts\n    // TODO: Consider adding Spans\n    internal class InsertionFactoryCompiler\n    {\n        private FieldBuilder _commandField = null!;\n        private FieldBuilder _rootEntityInsertField = null!;\n        private FieldBuilder _cancellationTokenField = null!;\n        private FieldBuilder? _loggerField;\n\n        private FieldBuilder _stateField = null!;\n        private LocalBuilder _stateLocal = null!;\n        private Type _insertType = null!;\n\n        private FieldBuilder _methodBuilderField = null!;\n\n        private TypeBuilder _inserterTypeBuilder = null!;\n        private TypeBuilder _stateMachineTypeBuilder = null!;\n\n        private MethodBuilder _moveNextMethod = null!;\n        private ILGenerator _moveNextMethodIL = null!;\n\n        private ObjectIDGenerator _reachableEntities = null!;\n        private HashSet<uint> _reachableRelations = null!;\n\n        private readonly Type _intType = typeof(int);\n        private readonly Type _genericICollectionType = typeof(ICollection<>);\n\n        private readonly Entity _rootEntity;\n\n        internal InsertionFactoryCompiler(Entity rootEntity)\n        {\n            _rootEntity = rootEntity;\n        }\n\n        internal Delegate CreateInserter<TInsert>(EntityRelationHolder[] entities, ObjectIDGenerator reachableEntities, HashSet<uint> reachableRelations, bool shouldLog) where TInsert : class\n        {\n            _reachableEntities = reachableEntities;\n            _reachableRelations = reachableRelations;\n\n            _insertType = typeof(TInsert);\n\n            var isSingleInsert = _insertType == _rootEntity.EntityType;\n\n            if (_rootEntity.HasDbGeneratedPrimaryKey ||\n                !isSingleInsert ||\n                entities.Length > 1 ||\n                shouldLog)\n            {\n                _inserterTypeBuilder = TypeFactory.GetNewInserterBuilder(_rootEntity.EntityName, TypeAttributes.Public | TypeAttributes.AutoClass | TypeAttributes.AnsiClass | TypeAttributes.Abstract | TypeAttributes.Sealed | TypeAttributes.BeforeFieldInit);\n                _stateMachineTypeBuilder = _inserterTypeBuilder.DefineNestedType(\"StateMachine\", TypeAttributes.NestedPrivate | TypeAttributes.AutoClass | TypeAttributes.AnsiClass | TypeAttributes.Sealed | TypeAttributes.BeforeFieldInit, typeof(ValueType), new[] { typeof(IAsyncStateMachine) });\n\n                _moveNextMethod = _stateMachineTypeBuilder.DefineMethod(\"MoveNext\", MethodAttributes.Private | MethodAttributes.Final | MethodAttributes.HideBySig | MethodAttributes.NewSlot | MethodAttributes.Virtual);\n                _moveNextMethod.InitLocals = false;\n\n                _moveNextMethodIL = _moveNextMethod.GetILGenerator();\n\n                _methodBuilderField = _stateMachineTypeBuilder.DefineField(\"_builder\", typeof(AsyncTaskMethodBuilder<int>), FieldAttributes.Public);\n\n                _stateField = _stateMachineTypeBuilder.DefineField(\"_state\", _intType, FieldAttributes.Public);\n                _stateLocal = _moveNextMethodIL.DeclareLocal(_intType);\n\n                _cancellationTokenField = _stateMachineTypeBuilder.DefineField(\"_canellationToken\", typeof(CancellationToken), FieldAttributes.Public);\n                _commandField = _stateMachineTypeBuilder.DefineField(\"_command\", typeof(NpgsqlCommand), FieldAttributes.Public);\n                _rootEntityInsertField = _stateMachineTypeBuilder.DefineField(\"_root\" + _rootEntity.EntityName + \"Entity\", _insertType, FieldAttributes.Public);\n\n                if (shouldLog)\n                {\n                    _loggerField = _stateMachineTypeBuilder.DefineField(\"_logger\", typeof(Action<CommandType>), FieldAttributes.Public);\n                }\n\n                if (isSingleInsert)\n                {\n                    if (entities.Length == 1)\n                    {\n                        CreateSingleNoRelationInserter();\n                    }\n                    else\n                    {\n                        CreateSingleRelationInserter(entities);\n                    }\n                }\n                else\n                {\n                    if (entities.Length == 1)\n                    {\n                        CreateBatchNoRelationInserter();\n                    }\n                    else\n                    {\n                        CreateBatchRelationInserter(entities);\n                    }\n                }\n\n                #region StateMachine\n\n                _stateMachineTypeBuilder.DefineMethodOverride(_moveNextMethod, typeof(IAsyncStateMachine).GetMethod(\"MoveNext\"));\n\n                var setStateMachineMethod = _stateMachineTypeBuilder.DefineMethod(\"SetStateMachine\", MethodAttributes.Private | MethodAttributes.Final | MethodAttributes.HideBySig | MethodAttributes.NewSlot | MethodAttributes.Virtual, null, new[] { typeof(IAsyncStateMachine) });\n                setStateMachineMethod.InitLocals = false;\n\n                var setStateMachineMethodIL = setStateMachineMethod.GetILGenerator();\n\n                setStateMachineMethodIL.Emit(OpCodes.Ldarg_0);\n                setStateMachineMethodIL.Emit(OpCodes.Ldflda, _methodBuilderField);\n                setStateMachineMethodIL.Emit(OpCodes.Ldarg_1);\n                setStateMachineMethodIL.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetMethod(\"SetStateMachine\"));\n                setStateMachineMethodIL.Emit(OpCodes.Ret);\n\n                _stateMachineTypeBuilder.DefineMethodOverride(setStateMachineMethod, typeof(IAsyncStateMachine).GetMethod(\"SetStateMachine\"));\n\n                var parameters = new Type[shouldLog ? 4 : 3];\n\n                parameters[0] = typeof(NpgsqlCommand);\n                parameters[1] = _insertType;\n\n                if (shouldLog)\n                {\n                    parameters[2] = _loggerField.FieldType;\n                    parameters[3] = _cancellationTokenField.FieldType;\n                }\n                else\n                {\n                    parameters[2] = _cancellationTokenField.FieldType;\n                }\n\n                var materializeMethod = _inserterTypeBuilder.DefineMethod(\"InsertAsync\", MethodAttributes.Public | MethodAttributes.HideBySig | MethodAttributes.Static, typeof(Task<int>), parameters);\n                materializeMethod.InitLocals = false;\n                materializeMethod.SetCustomAttribute(new CustomAttributeBuilder(typeof(AsyncStateMachineAttribute).GetConstructor(new[] { typeof(Type) }), new[] { _stateMachineTypeBuilder }));\n\n                var materializeMethodIL = materializeMethod.GetILGenerator();\n\n                var stateMachineLocal = materializeMethodIL.DeclareLocal(_stateMachineTypeBuilder);\n\n                // Create and execute the StateMachine\n                materializeMethodIL.Emit(OpCodes.Ldloca_S, stateMachineLocal);\n                materializeMethodIL.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetMethod(\"Create\", BindingFlags.Public | BindingFlags.Static));\n                materializeMethodIL.Emit(OpCodes.Stfld, _methodBuilderField);\n                materializeMethodIL.Emit(OpCodes.Ldloca_S, stateMachineLocal);\n                materializeMethodIL.Emit(OpCodes.Ldarg_0);\n                materializeMethodIL.Emit(OpCodes.Stfld, _commandField);\n                materializeMethodIL.Emit(OpCodes.Ldloca_S, stateMachineLocal);\n                materializeMethodIL.Emit(OpCodes.Ldarg_1);\n                materializeMethodIL.Emit(OpCodes.Stfld, _rootEntityInsertField);\n\n                if (shouldLog)\n                {\n                    materializeMethodIL.Emit(OpCodes.Ldloca_S, stateMachineLocal);\n                    materializeMethodIL.Emit(OpCodes.Ldarg_2);\n                    materializeMethodIL.Emit(OpCodes.Stfld, _loggerField);\n                    materializeMethodIL.Emit(OpCodes.Ldloca_S, stateMachineLocal);\n                    materializeMethodIL.Emit(OpCodes.Ldarg_3);\n                    materializeMethodIL.Emit(OpCodes.Stfld, _cancellationTokenField);\n                }\n                else\n                {\n                    materializeMethodIL.Emit(OpCodes.Ldloca_S, stateMachineLocal);\n                    materializeMethodIL.Emit(OpCodes.Ldarg_2);\n                    materializeMethodIL.Emit(OpCodes.Stfld, _cancellationTokenField);\n                }\n\n                materializeMethodIL.Emit(OpCodes.Ldloca_S, stateMachineLocal);\n                materializeMethodIL.Emit(OpCodes.Ldc_I4_M1);\n                materializeMethodIL.Emit(OpCodes.Stfld, _stateField);\n                materializeMethodIL.Emit(OpCodes.Ldloca_S, stateMachineLocal);\n                materializeMethodIL.Emit(OpCodes.Ldflda, _methodBuilderField);\n                materializeMethodIL.Emit(OpCodes.Ldloca_S, stateMachineLocal);\n                materializeMethodIL.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetMethod(\"Start\", BindingFlags.Public | BindingFlags.Instance).MakeGenericMethod(_stateMachineTypeBuilder));\n                materializeMethodIL.Emit(OpCodes.Ldloca_S, stateMachineLocal);\n                materializeMethodIL.Emit(OpCodes.Ldflda, _methodBuilderField);\n                materializeMethodIL.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetProperty(\"Task\").GetGetMethod());\n\n                materializeMethodIL.Emit(OpCodes.Ret);\n\n                #endregion\n\n                _stateMachineTypeBuilder.CreateType();\n                var inserterType = _inserterTypeBuilder.CreateType();\n\n                return inserterType.GetMethod(\"InsertAsync\").CreateDelegate(shouldLog ? typeof(Func<NpgsqlCommand, TInsert, Action<CommandType>, CancellationToken, Task<int>>) : typeof(Func<NpgsqlCommand, TInsert, CancellationToken, Task<int>>));\n            }\n            else\n            {\n                var insertMethod = TypeFactory.GetDynamicMethod(\"InsertAsync\", typeof(Task<int>), new[] { typeof(NpgsqlCommand), typeof(TInsert), typeof(CancellationToken) });\n\n                CreateSingleNoRelationNoDbKeysInserter(insertMethod.GetILGenerator());\n\n                return insertMethod.CreateDelegate(typeof(Func<NpgsqlCommand, TInsert, CancellationToken, Task<int>>));\n            }\n        }\n\n        private void CreateBatchNoRelationInserter()\n        {\n            var insertedCountLocal = _moveNextMethodIL.DeclareLocal(_intType);\n\n            var retOfMethodLabel = _moveNextMethodIL.DefineLabel();\n            var endOfMethodLabel = _moveNextMethodIL.DefineLabel();\n\n            // Assign the local state from the local field => state = _state;\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _stateField);\n            _moveNextMethodIL.Emit(OpCodes.Stloc, _stateLocal);\n\n            // Start try block\n            _moveNextMethodIL.BeginExceptionBlock();\n\n            var skipPrimaryKey = _rootEntity.HasDbGeneratedPrimaryKey;\n\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, _stateLocal);\n            var switchBuilder = _moveNextMethodIL.EmitSwitch(skipPrimaryKey ? 4 : 1);\n\n            var asyncGenerator = new ILAsyncGenerator(_moveNextMethodIL, switchBuilder, _methodBuilderField, _stateField, _stateLocal, retOfMethodLabel, _stateMachineTypeBuilder);\n\n            // Check if insert is null\n            var beforeInvalidRootReturnLabel = _moveNextMethodIL.DefineLabel();\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _rootEntityInsertField);\n            _moveNextMethodIL.Emit(OpCodes.Brfalse, beforeInvalidRootReturnLabel);\n\n            // Check if insert is empty\n            var afterInvalidRootReturnLabel = _moveNextMethodIL.DefineLabel();\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _rootEntityInsertField);\n            _moveNextMethodIL.Emit(OpCodes.Callvirt, _rootEntityInsertField.FieldType.FindProperty(\"Count\", _genericICollectionType).GetGetMethod());\n            _moveNextMethodIL.Emit(OpCodes.Brtrue, afterInvalidRootReturnLabel);\n\n            _moveNextMethodIL.MarkLabel(beforeInvalidRootReturnLabel);\n\n            // Return from method and assign -1 to the insert count\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_M1);\n            _moveNextMethodIL.Emit(OpCodes.Stloc, insertedCountLocal);\n            _moveNextMethodIL.Emit(OpCodes.Leave, endOfMethodLabel);\n\n            _moveNextMethodIL.MarkLabel(afterInvalidRootReturnLabel);\n\n            var commandBuilderLocal = _moveNextMethodIL.DeclareLocal(typeof(StringBuilder));\n            var npgsqlCommandLocal = _moveNextMethodIL.DeclareLocal(_commandField.FieldType);\n\n            // Instantiate CommandBuilder\n            _moveNextMethodIL.Emit(OpCodes.Newobj, commandBuilderLocal.LocalType.GetConstructor(Type.EmptyTypes));\n            _moveNextMethodIL.Emit(OpCodes.Stloc, commandBuilderLocal);\n\n            // Instantiate Command\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _commandField);\n            _moveNextMethodIL.Emit(OpCodes.Stloc, npgsqlCommandLocal);\n\n            var stringBuilder = new StringBuilder();\n\n            var totalColumnCount = _rootEntity.GetColumnCount();\n            var columnCount = totalColumnCount - _rootEntity.GetReadOnlyCount();\n            var columnOffset = skipPrimaryKey ? _rootEntity.GetRegularColumnOffset() : 0;\n            var lastNonReadOnlyIndex = _rootEntity.GetLastRegularColumnsIndex();\n\n            stringBuilder.Append(\"INSERT INTO \")\n                         .Append(_rootEntity.TableName)\n                         .Append(\" (\")\n                         .Append(skipPrimaryKey ? _rootEntity.NonPrimaryColumnListString : _rootEntity.ColumnListString)\n                         .Append(\") VALUES \");\n\n            // Outer loop to keep one single command under ushort.MaxValue parameters\n\n            var totalLocal = _moveNextMethodIL.DeclareLocal(_intType);\n            var currentLocal = _moveNextMethodIL.DeclareLocal(_intType);\n\n            // Assign the total amount of parameters to the total local\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _rootEntityInsertField);\n            _moveNextMethodIL.Emit(OpCodes.Callvirt, _rootEntityInsertField.FieldType.FindProperty(\"Count\", _genericICollectionType).GetGetMethod());\n            _moveNextMethodIL.Emit(OpCodes.Stloc, totalLocal);\n\n            // Assign 0 to the current local\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n            _moveNextMethodIL.Emit(OpCodes.Stloc, currentLocal);\n\n            var outerIteratorLocal = _moveNextMethodIL.DeclareLocal(_intType);\n\n            var outerLoopConditionLabel = _moveNextMethodIL.DefineLabel();\n            var outerStartLoopBodyLabel = _moveNextMethodIL.DefineLabel();\n\n            // Assign 0 to the iterator\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n            _moveNextMethodIL.Emit(OpCodes.Stloc, outerIteratorLocal);\n            _moveNextMethodIL.Emit(OpCodes.Br, outerLoopConditionLabel);\n\n            // loop body\n            _moveNextMethodIL.MarkLabel(outerStartLoopBodyLabel);\n\n            // Append base Insert Command to command builder\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, commandBuilderLocal);\n            _moveNextMethodIL.Emit(OpCodes.Ldstr, stringBuilder.ToString());\n            _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderLocal.LocalType.GetMethod(\"Append\", new[] { typeof(string) }));\n            _moveNextMethodIL.Emit(OpCodes.Pop);\n\n            var leftLocal = _moveNextMethodIL.DeclareLocal(_intType);\n\n            var totalColumns = columnCount - columnOffset;\n\n            // Assign the amount of left items to the left local\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, totalLocal);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4, totalColumns);\n            _moveNextMethodIL.Emit(OpCodes.Mul);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, currentLocal);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4, totalColumns);\n            _moveNextMethodIL.Emit(OpCodes.Mul);\n            _moveNextMethodIL.Emit(OpCodes.Sub);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4, ushort.MaxValue);\n            _moveNextMethodIL.Emit(OpCodes.Call, typeof(Math).GetMethod(\"Min\", new[] { _intType, _intType }));\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4, totalColumns);\n            _moveNextMethodIL.Emit(OpCodes.Div);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, currentLocal);\n            _moveNextMethodIL.Emit(OpCodes.Add);\n            _moveNextMethodIL.Emit(OpCodes.Stloc, leftLocal);\n\n            var iteratorElementLocal = _moveNextMethodIL.DeclareLocal(_rootEntity.EntityType);\n\n            var loopConditionLabel = _moveNextMethodIL.DefineLabel();\n            var startLoopBodyLabel = _moveNextMethodIL.DefineLabel();\n\n            // loop body\n            _moveNextMethodIL.MarkLabel(startLoopBodyLabel);\n\n            // get element at iterator from list\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _rootEntityInsertField);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, currentLocal);\n            _moveNextMethodIL.Emit(OpCodes.Callvirt, _rootEntityInsertField.FieldType.GetMethod(\"get_Item\"));\n            _moveNextMethodIL.Emit(OpCodes.Stloc, iteratorElementLocal);\n\n            // append placeholders to command builder\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, commandBuilderLocal);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4, (int)'(');\n            _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderLocal.LocalType.GetMethod(\"Append\", new[] { typeof(char) }));\n            _moveNextMethodIL.Emit(OpCodes.Pop);\n\n            for (var k = columnOffset; k <= lastNonReadOnlyIndex; k++)\n            {\n                var column = _rootEntity.GetColumn(k);\n\n                if (column.Options.HasFlag(ColumnOptions.ReadOnly))\n                    continue;\n\n                // Write placeholder to the command builder => (@Name(n)),\n                _moveNextMethodIL.Emit(OpCodes.Ldloc, commandBuilderLocal);\n\n                if (column.Options.HasFlag(ColumnOptions.DefaultValue))\n                {\n                    _moveNextMethodIL.Emit(OpCodes.Ldstr, lastNonReadOnlyIndex == k ? \"DEFAULT), \" : \"DEFAULT, \");\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderLocal.LocalType.GetMethod(\"Append\", new[] { typeof(string) }));\n                    _moveNextMethodIL.Emit(OpCodes.Pop);\n                }\n                else\n                {\n                    // Create new parameter with placeholder and add it to the parameter list\n                    _moveNextMethodIL.Emit(OpCodes.Ldloc, npgsqlCommandLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, npgsqlCommandLocal.LocalType.GetProperty(\"Parameters\", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly).GetGetMethod());\n\n                    WriteNpgsqlParameterFromColumn(_moveNextMethodIL, iteratorElementLocal, column, currentLocal);\n\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, typeof(NpgsqlParameterCollection).GetMethod(\"Add\", new[] { typeof(NpgsqlParameter) }));\n\n                    // Write placeholder to the command builder => (@Name(n)),\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, typeof(NpgsqlParameter).GetProperty(\"ParameterName\", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly).GetGetMethod());\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderLocal.LocalType.GetMethod(\"Append\", new[] { typeof(string) }));\n                    _moveNextMethodIL.Emit(OpCodes.Ldstr, lastNonReadOnlyIndex == k ? \"), \" : \", \");\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderLocal.LocalType.GetMethod(\"Append\", new[] { typeof(string) }));\n                    _moveNextMethodIL.Emit(OpCodes.Pop);\n                }\n            }\n\n            // loop iterator increment\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, currentLocal);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_1);\n            _moveNextMethodIL.Emit(OpCodes.Add);\n            _moveNextMethodIL.Emit(OpCodes.Stloc, currentLocal);\n\n            // loop condition\n            _moveNextMethodIL.MarkLabel(loopConditionLabel);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, currentLocal);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, leftLocal);\n            _moveNextMethodIL.Emit(OpCodes.Blt, startLoopBodyLabel);\n\n            // Remove the last the values form the command string e.g. \", \"\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, commandBuilderLocal);\n            _moveNextMethodIL.Emit(OpCodes.Dup);\n            _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderLocal.LocalType.GetProperty(\"Length\").GetGetMethod());\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_2);\n            _moveNextMethodIL.Emit(OpCodes.Sub);\n            _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderLocal.LocalType.GetProperty(\"Length\").GetSetMethod());\n\n            if (skipPrimaryKey)\n            {\n                // Append \" RETURNING \\\"PrimaryKey\\\"\"\n                _moveNextMethodIL.Emit(OpCodes.Ldloc, commandBuilderLocal);\n                _moveNextMethodIL.Emit(OpCodes.Ldstr, \" RETURNING \" + _rootEntity.GetPrimaryColumn().NormalizedColumnName + \";\");\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderLocal.LocalType.GetMethod(\"Append\", new[] { typeof(string) }));\n                _moveNextMethodIL.Emit(OpCodes.Pop);\n            }\n            else\n            {\n                // Append \";\"\n                _moveNextMethodIL.Emit(OpCodes.Ldloc, commandBuilderLocal);\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4, (int)';');\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderLocal.LocalType.GetMethod(\"Append\", new[] { typeof(char) }));\n                _moveNextMethodIL.Emit(OpCodes.Pop);\n            }\n\n\n            // outer loop iterator increment\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, outerIteratorLocal);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_1);\n            _moveNextMethodIL.Emit(OpCodes.Add);\n            _moveNextMethodIL.Emit(OpCodes.Stloc, outerIteratorLocal);\n\n            // outer loop condition\n            _moveNextMethodIL.MarkLabel(outerLoopConditionLabel);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, totalLocal);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, currentLocal);\n            _moveNextMethodIL.Emit(OpCodes.Bne_Un, outerStartLoopBodyLabel);\n\n            // Assign the commandBuilder text to the command\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, npgsqlCommandLocal);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, commandBuilderLocal);\n            _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderLocal.LocalType.GetMethod(\"ToString\", Type.EmptyTypes));\n            _moveNextMethodIL.Emit(OpCodes.Callvirt, npgsqlCommandLocal.LocalType.GetProperty(\"CommandText\").GetSetMethod());\n\n            FieldBuilder? dataReaderField = default;\n\n            if (skipPrimaryKey)\n            {\n                var dataReaderTaskAwaiterField = _stateMachineTypeBuilder.DefineField(\"_objectTaskAwaiter\", typeof(TaskAwaiter<NpgsqlDataReader>), FieldAttributes.Private);\n                var dataReaderTaskAwaiterLocal = _moveNextMethodIL.DeclareLocal(dataReaderTaskAwaiterField.FieldType);\n\n                var boolTaskAwaiterField = _stateMachineTypeBuilder.DefineField(\"_boolTaskAwaiter\", typeof(TaskAwaiter<bool>), FieldAttributes.Private);\n                var boolTaskAwaiterLocal = _moveNextMethodIL.DeclareLocal(boolTaskAwaiterField.FieldType);\n\n                dataReaderField = _stateMachineTypeBuilder.DefineField(\"_dataReader\", typeof(NpgsqlDataReader), FieldAttributes.Private);\n\n                // Get the result of the command\n                _moveNextMethodIL.Emit(OpCodes.Ldloc, npgsqlCommandLocal);\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, _cancellationTokenField);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, _commandField.FieldType.GetMethod(\"ExecuteReaderAsync\", new[] { _cancellationTokenField.FieldType }));\n\n                asyncGenerator.WriteAsyncMethodAwaiter(typeof(Task<NpgsqlDataReader>), dataReaderTaskAwaiterLocal, dataReaderTaskAwaiterField);\n\n                var dataReaderLocal = _moveNextMethodIL.DeclareLocal(dataReaderField.FieldType);\n\n                _moveNextMethodIL.Emit(OpCodes.Stloc, dataReaderLocal);\n\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldloc, dataReaderLocal);\n                _moveNextMethodIL.Emit(OpCodes.Stfld, dataReaderField);\n\n                var iteratorField = _stateMachineTypeBuilder.DefineField(\"_iterator\", _intType, FieldAttributes.Private);\n                var counterField = _stateMachineTypeBuilder.DefineField(\"_counter\", typeof(ushort), FieldAttributes.Private);\n\n                loopConditionLabel = _moveNextMethodIL.DefineLabel();\n                startLoopBodyLabel = _moveNextMethodIL.DefineLabel();\n\n                // Assign 0 to the counter\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                _moveNextMethodIL.Emit(OpCodes.Stfld, counterField);\n\n                // Assign 0 to the iterator\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                _moveNextMethodIL.Emit(OpCodes.Stfld, iteratorField);\n                _moveNextMethodIL.Emit(OpCodes.Br, loopConditionLabel);\n\n                // loop body\n                _moveNextMethodIL.MarkLabel(startLoopBodyLabel);\n\n                // check if counter is equal to ushort.MaxValue\n\n                var afterIfBody = _moveNextMethodIL.DefineLabel();\n\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, counterField);\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4, ushort.MaxValue / totalColumns);\n                _moveNextMethodIL.Emit(OpCodes.Bne_Un, afterIfBody);\n\n                // Assign 0 to the counter\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                _moveNextMethodIL.Emit(OpCodes.Stfld, counterField);\n\n                // Call the next result\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, dataReaderField);\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, _cancellationTokenField);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, dataReaderField.FieldType.GetMethod(\"NextResultAsync\", new[] { _cancellationTokenField.FieldType }));\n\n                asyncGenerator.WriteAsyncMethodAwaiter(typeof(Task<bool>), boolTaskAwaiterLocal, boolTaskAwaiterField);\n\n                _moveNextMethodIL.Emit(OpCodes.Pop);\n\n                _moveNextMethodIL.MarkLabel(afterIfBody);\n\n                // read data reader\n\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, dataReaderField);\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, _cancellationTokenField);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, dataReaderField.FieldType.GetMethod(\"ReadAsync\", new[] { _cancellationTokenField.FieldType }));\n\n                asyncGenerator.WriteAsyncMethodAwaiter(typeof(Task<bool>), boolTaskAwaiterLocal, boolTaskAwaiterField);\n\n                _moveNextMethodIL.Emit(OpCodes.Pop);\n\n                // assign the returned id to the current element\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, _rootEntityInsertField);\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, iteratorField);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, _rootEntityInsertField.FieldType.GetMethod(\"get_Item\"));\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, dataReaderField);\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, dataReaderField.FieldType.GetMethod(\"GetFieldValue\").MakeGenericMethod(_rootEntity.GetPrimaryColumn().PropertyInfo.PropertyType));\n\n                WritePropertyAssigner(_moveNextMethodIL, _rootEntity.GetPrimaryColumn());\n\n                // loop iterator increment\n                var tempIteratorLocal = _moveNextMethodIL.DeclareLocal(_intType);\n                var tempCounterLocal = _moveNextMethodIL.DeclareLocal(_intType);\n\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, iteratorField);\n                _moveNextMethodIL.Emit(OpCodes.Stloc, tempIteratorLocal);\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldloc, tempIteratorLocal);\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4_1);\n                _moveNextMethodIL.Emit(OpCodes.Add);\n                _moveNextMethodIL.Emit(OpCodes.Stfld, iteratorField);\n\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, counterField);\n                _moveNextMethodIL.Emit(OpCodes.Stloc, tempCounterLocal);\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldloc, tempCounterLocal);\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4_1);\n                _moveNextMethodIL.Emit(OpCodes.Add);\n                _moveNextMethodIL.Emit(OpCodes.Stfld, counterField);\n\n                // loop condition\n                _moveNextMethodIL.MarkLabel(loopConditionLabel);\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, iteratorField);\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, _rootEntityInsertField);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, _rootEntityInsertField.FieldType.FindProperty(\"Count\", _genericICollectionType).GetGetMethod());\n                _moveNextMethodIL.Emit(OpCodes.Blt, startLoopBodyLabel);\n\n                // dispose data reader\n                var valueTaskAwaiterField = _stateMachineTypeBuilder.DefineField(\"_valueTaskAwaiter\", typeof(ValueTaskAwaiter), FieldAttributes.Private);\n\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, dataReaderField);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, dataReaderField.FieldType.GetMethod(\"DisposeAsync\"));\n\n                asyncGenerator.WriteAsyncValueTaskMethodAwaiter(_moveNextMethodIL.DeclareLocal(typeof(ValueTask)), _moveNextMethodIL.DeclareLocal(valueTaskAwaiterField.FieldType), valueTaskAwaiterField);\n\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldnull);\n                _moveNextMethodIL.Emit(OpCodes.Stfld, dataReaderField);\n            }\n            else\n            {\n                // Get the result of the command\n                _moveNextMethodIL.Emit(OpCodes.Ldloc, npgsqlCommandLocal);\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, _cancellationTokenField);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, _commandField.FieldType.GetMethod(\"ExecuteNonQueryAsync\", new[] { _cancellationTokenField.FieldType }));\n\n                asyncGenerator.WriteAsyncMethodAwaiter(typeof(Task<int>), _moveNextMethodIL.DeclareLocal(typeof(TaskAwaiter<int>)), _stateMachineTypeBuilder.DefineField(\"_intTaskAwaiter\", typeof(TaskAwaiter<int>), FieldAttributes.Private));\n\n                _moveNextMethodIL.Emit(OpCodes.Pop);\n            }\n\n            if (_loggerField is not null)\n            {\n                // log success of insert\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, _loggerField);\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4, (int)CommandType.InsertBatch);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, _loggerField.FieldType.GetMethod(\"Invoke\"));\n            }\n\n            // return the amount of inserted rows\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _rootEntityInsertField);\n            _moveNextMethodIL.Emit(OpCodes.Callvirt, _rootEntityInsertField.FieldType.FindProperty(\"Count\", _genericICollectionType).GetGetMethod());\n            _moveNextMethodIL.Emit(OpCodes.Stloc, insertedCountLocal);\n            _moveNextMethodIL.Emit(OpCodes.Leave, endOfMethodLabel);\n\n            var exceptionLocal = _moveNextMethodIL.DeclareLocal(typeof(Exception));\n\n            _moveNextMethodIL.BeginCatchBlock(exceptionLocal.LocalType);\n\n            // Set state and return exception\n            _moveNextMethodIL.Emit(OpCodes.Stloc_S, exceptionLocal);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_S, (sbyte)-2);\n            _moveNextMethodIL.Emit(OpCodes.Stfld, _stateField);\n\n            if (dataReaderField is not null)\n            {\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldnull);\n                _moveNextMethodIL.Emit(OpCodes.Stfld, dataReaderField);\n            }\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldflda, _methodBuilderField);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc_S, exceptionLocal);\n            _moveNextMethodIL.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetMethod(\"SetException\"));\n            _moveNextMethodIL.Emit(OpCodes.Leave, retOfMethodLabel);\n\n            // End of catch block\n            _moveNextMethodIL.EndExceptionBlock();\n\n            _moveNextMethodIL.MarkLabel(endOfMethodLabel);\n\n            // Set state and return result\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_S, (sbyte)-2);\n            _moveNextMethodIL.Emit(OpCodes.Stfld, _stateField);\n\n            if (dataReaderField is not null)\n            {\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldnull);\n                _moveNextMethodIL.Emit(OpCodes.Stfld, dataReaderField);\n            }\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldflda, _methodBuilderField);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc_S, insertedCountLocal);\n            _moveNextMethodIL.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetMethod(\"SetResult\"));\n\n            // End of method\n            _moveNextMethodIL.MarkLabel(retOfMethodLabel);\n            _moveNextMethodIL.Emit(OpCodes.Ret);\n        }\n\n        private void CreateBatchRelationInserter(EntityRelationHolder[] entities)\n        {\n            FieldBuilder? dataReaderTaskAwaiterField = default;\n            FieldBuilder? boolTaskAwaiterField = default;\n            FieldBuilder? intTaskAwaiterField = default;\n            FieldBuilder? valueTaskAwaiterField = default;\n            FieldBuilder? dataReaderField = default;\n            FieldBuilder? iteratorField = default;\n            FieldBuilder? counterField = default;\n\n            LocalBuilder? dataReaderTaskAwaiterLocal = default;\n            LocalBuilder? boolTaskAwaiterLocal = default;\n            LocalBuilder? intTaskAwaiterLocal = default;\n            LocalBuilder? valueTaskAwaiterLocal = default;\n\n            var insertedCountLocal = _moveNextMethodIL.DeclareLocal(_intType);\n\n            var retOfMethodLabel = _moveNextMethodIL.DefineLabel();\n            var endOfMethodLabel = _moveNextMethodIL.DefineLabel();\n\n            // Assign the local state from the local field => state = _state;\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _stateField);\n            _moveNextMethodIL.Emit(OpCodes.Stloc, _stateLocal);\n\n            // Start try block\n            _moveNextMethodIL.BeginExceptionBlock();\n\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, _stateLocal);\n\n            var awaiterCount = 0;\n\n            for (var entityIndex = entities.Length - 1; entityIndex >= 0; entityIndex--)\n            {\n                awaiterCount += entities[entityIndex].Entity.HasDbGeneratedPrimaryKey ? 4 : 1;\n            }\n\n            var switchBuilder = _moveNextMethodIL.EmitSwitch(awaiterCount);\n\n            var asyncGenerator = new ILAsyncGenerator(_moveNextMethodIL, switchBuilder, _methodBuilderField, _stateField, _stateLocal, retOfMethodLabel, _stateMachineTypeBuilder);\n\n            // Check if insert is null\n            var beforeInvalidRootReturnLabel = _moveNextMethodIL.DefineLabel();\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _rootEntityInsertField);\n            _moveNextMethodIL.Emit(OpCodes.Brfalse, beforeInvalidRootReturnLabel);\n\n            // Check if insert is empty\n            var afterInvalidRootReturnLabel = _moveNextMethodIL.DefineLabel();\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _rootEntityInsertField);\n\n            _moveNextMethodIL.Emit(OpCodes.Callvirt, _rootEntityInsertField.FieldType.FindProperty(\"Count\", _genericICollectionType).GetGetMethod());\n            _moveNextMethodIL.Emit(OpCodes.Brtrue, afterInvalidRootReturnLabel);\n\n            _moveNextMethodIL.MarkLabel(beforeInvalidRootReturnLabel);\n\n            // Return from method and assign -1 to the insert count\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_M1);\n            _moveNextMethodIL.Emit(OpCodes.Stloc, insertedCountLocal);\n            _moveNextMethodIL.Emit(OpCodes.Leave, endOfMethodLabel);\n\n            _moveNextMethodIL.MarkLabel(afterInvalidRootReturnLabel);\n\n            var entityCollections = new EntitySeprator(_moveNextMethodIL, _stateMachineTypeBuilder, _rootEntity, entities, _reachableEntities, _reachableRelations).WriteEntitySeperater(_rootEntityInsertField);\n\n            var commandBuilderField = _stateMachineTypeBuilder.DefineField(\"commandBuilder\", typeof(StringBuilder), FieldAttributes.Private);\n\n            // Instantiate CommandBuilder\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Newobj, commandBuilderField.FieldType.GetConstructor(Type.EmptyTypes));\n            _moveNextMethodIL.Emit(OpCodes.Stfld, commandBuilderField);\n\n            for (var entityIndex = 0; entityIndex < entities.Length; entityIndex++)\n            {\n                var entityHolder = entities[entityIndex];\n                var entity = entityHolder.Entity;\n\n                FieldBuilder entityCollection;\n                Label? endOfEntityInsertLabel;\n\n                if (entity == _rootEntity)\n                {\n                    entityCollection = _rootEntityInsertField;\n                    endOfEntityInsertLabel = default;\n                }\n                else\n                {\n                    var entityId = _reachableEntities.HasId(entity, out _);\n\n                    entityCollection = entityCollections[entityId];\n\n                    // Check if entityCollection is larger than 0\n                    endOfEntityInsertLabel = _moveNextMethodIL.DefineLabel();\n\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, entityCollection);\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, entityCollection.FieldType.FindProperty(\"Count\", _genericICollectionType).GetGetMethod());\n                    _moveNextMethodIL.Emit(OpCodes.Brfalse, endOfEntityInsertLabel.Value);\n                }\n\n                // Clear commandBuilder and command parameters\n                if (entityIndex > 0)\n                {\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, commandBuilderField);\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderField.FieldType.GetMethod(\"Clear\"));\n                    _moveNextMethodIL.Emit(OpCodes.Pop);\n\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, _commandField);\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, _commandField.FieldType.GetProperty(\"Parameters\", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly).GetGetMethod());\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, _commandField.FieldType.GetProperty(\"Parameters\", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly).PropertyType.GetMethod(\"Clear\"));\n                }\n\n                var stringBuilder = new StringBuilder();\n\n                var skipPrimaryKey = entity.HasDbGeneratedPrimaryKey;\n\n                var totalColumnCount = entity.GetColumnCount();\n                var columnCount = totalColumnCount - entity.GetReadOnlyCount();\n                var columnOffset = skipPrimaryKey ? entity.GetRegularColumnOffset() : 0;\n                var lastNonReadOnlyIndex = entity.GetLastRegularColumnsIndex();\n\n                stringBuilder.Append(\"INSERT INTO \")\n                             .Append(entity.TableName)\n                             .Append(\" (\")\n                             .Append(skipPrimaryKey ? entity.NonPrimaryColumnListString : entity.ColumnListString)\n                             .Append(\") VALUES \");\n\n                // Outer loop to keep one single command under ushort.MaxValue parameters\n\n                var totalLocal = _moveNextMethodIL.DeclareLocal(_intType);\n                var currentLocal = _moveNextMethodIL.DeclareLocal(_intType);\n\n                // Assign the total amount of parameters to the total local\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, entityCollection);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, entityCollection.FieldType.FindProperty(\"Count\", _genericICollectionType).GetGetMethod());\n                _moveNextMethodIL.Emit(OpCodes.Stloc, totalLocal);\n\n                // Assign 0 to the current local\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                _moveNextMethodIL.Emit(OpCodes.Stloc, currentLocal);\n\n                var outerIteratorLocal = _moveNextMethodIL.DeclareLocal(_intType);\n\n                var outerLoopConditionLabel = _moveNextMethodIL.DefineLabel();\n                var outerStartLoopBodyLabel = _moveNextMethodIL.DefineLabel();\n\n                // Assign 0 to the iterator\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                _moveNextMethodIL.Emit(OpCodes.Stloc, outerIteratorLocal);\n                _moveNextMethodIL.Emit(OpCodes.Br, outerLoopConditionLabel);\n\n                // loop body\n                _moveNextMethodIL.MarkLabel(outerStartLoopBodyLabel);\n\n                // Append base Insert Command to command builder\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, commandBuilderField);\n                _moveNextMethodIL.Emit(OpCodes.Ldstr, stringBuilder.ToString());\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderField.FieldType.GetMethod(\"Append\", new[] { typeof(string) }));\n                _moveNextMethodIL.Emit(OpCodes.Pop);\n\n                var leftLocal = _moveNextMethodIL.DeclareLocal(_intType);\n\n                var totalColumns = columnCount - columnOffset;\n\n                // Assign the amount of left items to the left local\n                _moveNextMethodIL.Emit(OpCodes.Ldloc, totalLocal);\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4, totalColumns);\n                _moveNextMethodIL.Emit(OpCodes.Mul);\n                _moveNextMethodIL.Emit(OpCodes.Ldloc, currentLocal);\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4, totalColumns);\n                _moveNextMethodIL.Emit(OpCodes.Mul);\n                _moveNextMethodIL.Emit(OpCodes.Sub);\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4, ushort.MaxValue);\n                _moveNextMethodIL.Emit(OpCodes.Call, typeof(Math).GetMethod(\"Min\", new[] { _intType, _intType }));\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4, totalColumns);\n                _moveNextMethodIL.Emit(OpCodes.Div);\n                _moveNextMethodIL.Emit(OpCodes.Ldloc, currentLocal);\n                _moveNextMethodIL.Emit(OpCodes.Add);\n                _moveNextMethodIL.Emit(OpCodes.Stloc, leftLocal);\n\n                var iteratorElementLocal = _moveNextMethodIL.DeclareLocal(entity.EntityType);\n\n                var loopConditionLabel = _moveNextMethodIL.DefineLabel();\n                var startLoopBodyLabel = _moveNextMethodIL.DefineLabel();\n\n                // loop body\n                _moveNextMethodIL.MarkLabel(startLoopBodyLabel);\n\n                // get element at iterator from list\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, entityCollection);\n                _moveNextMethodIL.Emit(OpCodes.Ldloc, currentLocal);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, entityCollection.FieldType.GetMethod(\"get_Item\"));\n                _moveNextMethodIL.Emit(OpCodes.Stloc, iteratorElementLocal);\n\n                // assign foreign key to itself from navigation property primary key\n                for (var relationIndex = entityHolder.SelfAssignedRelations.Count - 1; relationIndex >= 0; relationIndex--)\n                {\n                    var relation = entityHolder.SelfAssignedRelations[relationIndex];\n\n                    // Check if navigation property is null\n\n                    var afterBodyLabel = _moveNextMethodIL.DefineLabel();\n\n                    _moveNextMethodIL.Emit(OpCodes.Ldloc, iteratorElementLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.GetGetMethod());\n                    _moveNextMethodIL.Emit(OpCodes.Brfalse, afterBodyLabel);\n\n                    _moveNextMethodIL.Emit(OpCodes.Ldloc, iteratorElementLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Ldloc, iteratorElementLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.GetGetMethod());\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.RightEntity.GetPrimaryColumn().PropertyInfo.GetGetMethod());\n                    WritePropertyAssigner(_moveNextMethodIL, relation.ForeignKeyColumn);\n\n                    _moveNextMethodIL.MarkLabel(afterBodyLabel);\n                }\n\n                // append placeholders to command builder\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, commandBuilderField);\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4, (int)'(');\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderField.FieldType.GetMethod(\"Append\", new[] { typeof(char) }));\n                _moveNextMethodIL.Emit(OpCodes.Pop);\n\n                for (var k = columnOffset; k <= lastNonReadOnlyIndex; k++)\n                {\n                    var column = entity.GetColumn(k);\n\n                    if (column.Options.HasFlag(ColumnOptions.ReadOnly))\n                        continue;\n\n                    // Write placeholder to the command builder => (@Name(n)),\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, commandBuilderField);\n\n                    if (column.Options.HasFlag(ColumnOptions.DefaultValue))\n                    {\n                        _moveNextMethodIL.Emit(OpCodes.Ldstr, lastNonReadOnlyIndex == k ? \"DEFAULT), \" : \"DEFAULT, \");\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderField.FieldType.GetMethod(\"Append\", new[] { typeof(string) }));\n                        _moveNextMethodIL.Emit(OpCodes.Pop);\n                    }\n                    else\n                    {\n                        // Create new parameter with placeholder and add it to the parameter list\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, _commandField);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, _commandField.FieldType.GetProperty(\"Parameters\", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly).GetGetMethod());\n\n                        WriteNpgsqlParameterFromColumn(_moveNextMethodIL, iteratorElementLocal, column, currentLocal);\n\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, typeof(NpgsqlParameterCollection).GetMethod(\"Add\", new[] { typeof(NpgsqlParameter) }));\n\n                        // Write placeholder to the command builder => (@Name(n)),\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, typeof(NpgsqlParameter).GetProperty(\"ParameterName\", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly).GetGetMethod());\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderField.FieldType.GetMethod(\"Append\", new[] { typeof(string) }));\n                        _moveNextMethodIL.Emit(OpCodes.Ldstr, lastNonReadOnlyIndex == k ? \"), \" : \", \");\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderField.FieldType.GetMethod(\"Append\", new[] { typeof(string) }));\n                        _moveNextMethodIL.Emit(OpCodes.Pop);\n                    }\n                }\n\n                // loop iterator increment\n                _moveNextMethodIL.Emit(OpCodes.Ldloc, currentLocal);\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4_1);\n                _moveNextMethodIL.Emit(OpCodes.Add);\n                _moveNextMethodIL.Emit(OpCodes.Stloc, currentLocal);\n\n                // loop condition\n                _moveNextMethodIL.MarkLabel(loopConditionLabel);\n                _moveNextMethodIL.Emit(OpCodes.Ldloc, currentLocal);\n                _moveNextMethodIL.Emit(OpCodes.Ldloc, leftLocal);\n                _moveNextMethodIL.Emit(OpCodes.Blt, startLoopBodyLabel);\n\n                // Remove the last the values form the command string e.g. \", \"\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, commandBuilderField);\n                _moveNextMethodIL.Emit(OpCodes.Dup);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderField.FieldType.GetProperty(\"Length\").GetGetMethod());\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4_2);\n                _moveNextMethodIL.Emit(OpCodes.Sub);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderField.FieldType.GetProperty(\"Length\").GetSetMethod());\n\n                if (skipPrimaryKey)\n                {\n                    // Append \" RETURNING \\\"PrimaryKey\\\"\"\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, commandBuilderField);\n                    _moveNextMethodIL.Emit(OpCodes.Ldstr, \" RETURNING \" + entity.GetPrimaryColumn().NormalizedColumnName + \";\");\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderField.FieldType.GetMethod(\"Append\", new[] { typeof(string) }));\n                    _moveNextMethodIL.Emit(OpCodes.Pop);\n                }\n\n                // outer loop iterator increment\n                _moveNextMethodIL.Emit(OpCodes.Ldloc, outerIteratorLocal);\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4_1);\n                _moveNextMethodIL.Emit(OpCodes.Add);\n                _moveNextMethodIL.Emit(OpCodes.Stloc, outerIteratorLocal);\n\n                // outer loop condition\n                _moveNextMethodIL.MarkLabel(outerLoopConditionLabel);\n                _moveNextMethodIL.Emit(OpCodes.Ldloc, totalLocal);\n                _moveNextMethodIL.Emit(OpCodes.Ldloc, currentLocal);\n                _moveNextMethodIL.Emit(OpCodes.Bne_Un, outerStartLoopBodyLabel);\n\n                // Assign the commandBuilder text to the command\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, _commandField);\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, commandBuilderField);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderField.FieldType.GetMethod(\"ToString\", Type.EmptyTypes));\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, _commandField.FieldType.GetProperty(\"CommandText\").GetSetMethod());\n\n                if (skipPrimaryKey)\n                {\n                    dataReaderField ??= _stateMachineTypeBuilder.DefineField(\"_dataReader\", typeof(NpgsqlDataReader), FieldAttributes.Private);\n\n                    // Get the result of the command\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, _commandField);\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, _cancellationTokenField);\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, _commandField.FieldType.GetMethod(\"ExecuteReaderAsync\", new[] { _cancellationTokenField.FieldType }));\n\n                    dataReaderTaskAwaiterField ??= _stateMachineTypeBuilder.DefineField(\"_dataReaderTaskAwaiter\", typeof(TaskAwaiter<NpgsqlDataReader>), FieldAttributes.Private);\n                    dataReaderTaskAwaiterLocal ??= _moveNextMethodIL.DeclareLocal(dataReaderTaskAwaiterField.FieldType);\n\n                    asyncGenerator.WriteAsyncMethodAwaiter(typeof(Task<NpgsqlDataReader>), dataReaderTaskAwaiterLocal, dataReaderTaskAwaiterField);\n\n                    var dataReaderLocal = _moveNextMethodIL.DeclareLocal(dataReaderField.FieldType);\n\n                    _moveNextMethodIL.Emit(OpCodes.Stloc, dataReaderLocal);\n\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldloc, dataReaderLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Stfld, dataReaderField);\n\n                    iteratorField ??= _stateMachineTypeBuilder.DefineField(\"_iterator\", _intType, FieldAttributes.Private);\n                    counterField ??= _stateMachineTypeBuilder.DefineField(\"_counter\", typeof(ushort), FieldAttributes.Private);\n\n                    loopConditionLabel = _moveNextMethodIL.DefineLabel();\n                    startLoopBodyLabel = _moveNextMethodIL.DefineLabel();\n\n                    // Assign 0 to the counter\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                    _moveNextMethodIL.Emit(OpCodes.Stfld, counterField);\n\n                    // Assign 0 to the iterator\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                    _moveNextMethodIL.Emit(OpCodes.Stfld, iteratorField);\n                    _moveNextMethodIL.Emit(OpCodes.Br, loopConditionLabel);\n\n                    // loop body\n                    _moveNextMethodIL.MarkLabel(startLoopBodyLabel);\n\n                    // check if counter is equal to ushort.MaxValue\n\n                    var afterIfBody = _moveNextMethodIL.DefineLabel();\n\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, counterField);\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4, ushort.MaxValue / totalColumns);\n                    _moveNextMethodIL.Emit(OpCodes.Bne_Un, afterIfBody);\n\n                    // Assign 0 to the counter\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                    _moveNextMethodIL.Emit(OpCodes.Stfld, counterField);\n\n                    // Call the next result\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, dataReaderField);\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, _cancellationTokenField);\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, dataReaderField.FieldType.GetMethod(\"NextResultAsync\", new[] { _cancellationTokenField.FieldType }));\n\n                    boolTaskAwaiterField ??= _stateMachineTypeBuilder.DefineField(\"_boolTaskAwaiter\", typeof(TaskAwaiter<bool>), FieldAttributes.Private);\n                    boolTaskAwaiterLocal ??= _moveNextMethodIL.DeclareLocal(boolTaskAwaiterField.FieldType);\n\n                    asyncGenerator.WriteAsyncMethodAwaiter(typeof(Task<bool>), boolTaskAwaiterLocal, boolTaskAwaiterField);\n\n                    _moveNextMethodIL.Emit(OpCodes.Pop);\n\n                    _moveNextMethodIL.MarkLabel(afterIfBody);\n\n                    // read data reader\n\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, dataReaderField);\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, _cancellationTokenField);\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, dataReaderField.FieldType.GetMethod(\"ReadAsync\", new[] { _cancellationTokenField.FieldType }));\n\n                    asyncGenerator.WriteAsyncMethodAwaiter(typeof(Task<bool>), boolTaskAwaiterLocal, boolTaskAwaiterField);\n\n                    _moveNextMethodIL.Emit(OpCodes.Pop);\n\n                    // assign foreign key to itself from navigation property primary key\n                    if (entityHolder.ForeignAssignedRelations.Count > 0)\n                    {\n                        var primaryKeyLocal = _moveNextMethodIL.DeclareLocal(entity.GetPrimaryColumn().PropertyInfo.PropertyType);\n\n                        // assign the returned id to the local\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, dataReaderField);\n                        _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, dataReaderField.FieldType.GetMethod(\"GetFieldValue\").MakeGenericMethod(entity.GetPrimaryColumn().PropertyInfo.PropertyType));\n                        _moveNextMethodIL.Emit(OpCodes.Stloc, primaryKeyLocal);\n\n                        var entityLocal = _moveNextMethodIL.DeclareLocal(entity.EntityType);\n\n                        // assign the current entity to the local\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, entityCollection);\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, iteratorField);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, entityCollection.FieldType.GetMethod(\"get_Item\"));\n                        _moveNextMethodIL.Emit(OpCodes.Stloc, entityLocal);\n\n                        // assign the returned id to the current entity\n                        _moveNextMethodIL.Emit(OpCodes.Ldloc, entityLocal);\n                        _moveNextMethodIL.Emit(OpCodes.Ldloc, primaryKeyLocal);\n                        WritePropertyAssigner(_moveNextMethodIL, entity.GetPrimaryColumn());\n\n                        LocalBuilder? innerIteratorLocal = default;\n\n                        for (var relationIndex = entityHolder.ForeignAssignedRelations.Count - 1; relationIndex >= 0; relationIndex--)\n                        {\n                            var relation = entityHolder.ForeignAssignedRelations[relationIndex];\n\n                            var afterOuterNullCheckBodyLabel = _moveNextMethodIL.DefineLabel();\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldloc, entityLocal);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.GetGetMethod());\n                            _moveNextMethodIL.Emit(OpCodes.Brfalse, afterOuterNullCheckBodyLabel);\n\n                            if (relation.RelationType == RelationType.OneToMany)\n                            {\n                                innerIteratorLocal ??= _moveNextMethodIL.DeclareLocal(_intType);\n\n                                var innerLoopConditionLabel = _moveNextMethodIL.DefineLabel();\n                                var innertStartLoopBodyLabel = _moveNextMethodIL.DefineLabel();\n\n                                var foreignEntityLocal = _moveNextMethodIL.DeclareLocal(relation.RightEntity.EntityType);\n\n                                // Assign 0 to the iterator\n                                _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                                _moveNextMethodIL.Emit(OpCodes.Stloc, innerIteratorLocal);\n                                _moveNextMethodIL.Emit(OpCodes.Br, innerLoopConditionLabel);\n\n                                // loop body\n                                _moveNextMethodIL.MarkLabel(innertStartLoopBodyLabel);\n\n                                // assign iterator element to foreignEntityLocal\n                                _moveNextMethodIL.Emit(OpCodes.Ldloc, entityLocal);\n                                _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.GetGetMethod());\n                                _moveNextMethodIL.Emit(OpCodes.Ldloc, innerIteratorLocal);\n                                _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.PropertyType.GetMethod(\"get_Item\"));\n                                _moveNextMethodIL.Emit(OpCodes.Stloc, foreignEntityLocal);\n\n                                // check if element is not null\n                                var afterNullCheckBodyLabel = _moveNextMethodIL.DefineLabel();\n\n                                _moveNextMethodIL.Emit(OpCodes.Ldloc, foreignEntityLocal);\n                                _moveNextMethodIL.Emit(OpCodes.Brfalse, afterNullCheckBodyLabel);\n\n                                // assign entity primary key to foreign key on navigation entity\n                                _moveNextMethodIL.Emit(OpCodes.Ldloc, foreignEntityLocal);\n                                _moveNextMethodIL.Emit(OpCodes.Ldloc, primaryKeyLocal);\n                                WritePropertyAssigner(_moveNextMethodIL, relation.ForeignKeyColumn);\n\n                                _moveNextMethodIL.MarkLabel(afterNullCheckBodyLabel);\n\n                                // loop iterator increment\n                                _moveNextMethodIL.Emit(OpCodes.Ldloc, innerIteratorLocal);\n                                _moveNextMethodIL.Emit(OpCodes.Ldc_I4_1);\n                                _moveNextMethodIL.Emit(OpCodes.Add);\n                                _moveNextMethodIL.Emit(OpCodes.Stloc, innerIteratorLocal);\n\n                                // loop condition\n                                _moveNextMethodIL.MarkLabel(innerLoopConditionLabel);\n                                _moveNextMethodIL.Emit(OpCodes.Ldloc, innerIteratorLocal);\n                                _moveNextMethodIL.Emit(OpCodes.Ldloc, entityLocal);\n                                _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.GetGetMethod());\n                                _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.PropertyType.FindProperty(\"Count\", _genericICollectionType).GetGetMethod());\n                                _moveNextMethodIL.Emit(OpCodes.Blt, innertStartLoopBodyLabel);\n\n                            }\n                            else\n                            {\n                                // assign entity primary key to foreign key on navigation entity\n                                _moveNextMethodIL.Emit(OpCodes.Ldloc, entityLocal);\n                                _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.GetGetMethod());\n                                _moveNextMethodIL.Emit(OpCodes.Ldloc, primaryKeyLocal);\n                                WritePropertyAssigner(_moveNextMethodIL, relation.ForeignKeyColumn);\n                            }\n\n                            _moveNextMethodIL.MarkLabel(afterOuterNullCheckBodyLabel);\n                        }\n                    }\n                    else\n                    {\n                        // assign the returned id to the current element\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, entityCollection);\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, iteratorField);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, entityCollection.FieldType.GetMethod(\"get_Item\"));\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, dataReaderField);\n                        _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, dataReaderField.FieldType.GetMethod(\"GetFieldValue\").MakeGenericMethod(entity.GetPrimaryColumn().PropertyInfo.PropertyType));\n                        WritePropertyAssigner(_moveNextMethodIL, entity.GetPrimaryColumn());\n                    }\n\n                    // loop iterator increment\n                    var tempIteratorLocal = _moveNextMethodIL.DeclareLocal(_intType);\n                    var tempCounterLocal = _moveNextMethodIL.DeclareLocal(_intType);\n\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, iteratorField);\n                    _moveNextMethodIL.Emit(OpCodes.Stloc, tempIteratorLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldloc, tempIteratorLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4_1);\n                    _moveNextMethodIL.Emit(OpCodes.Add);\n                    _moveNextMethodIL.Emit(OpCodes.Stfld, iteratorField);\n\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, counterField);\n                    _moveNextMethodIL.Emit(OpCodes.Stloc, tempCounterLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldloc, tempCounterLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4_1);\n                    _moveNextMethodIL.Emit(OpCodes.Add);\n                    _moveNextMethodIL.Emit(OpCodes.Stfld, counterField);\n\n                    // loop condition\n                    _moveNextMethodIL.MarkLabel(loopConditionLabel);\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, iteratorField);\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, entityCollection);\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, entityCollection.FieldType.FindProperty(\"Count\", _genericICollectionType).GetGetMethod());\n                    _moveNextMethodIL.Emit(OpCodes.Blt, startLoopBodyLabel);\n\n                    // dispose data reader\n                    valueTaskAwaiterField ??= _stateMachineTypeBuilder.DefineField(\"_valueTaskAwaiter\", typeof(ValueTaskAwaiter), FieldAttributes.Private);\n\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, dataReaderField);\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, dataReaderField.FieldType.GetMethod(\"DisposeAsync\"));\n\n                    asyncGenerator.WriteAsyncValueTaskMethodAwaiter(_moveNextMethodIL.DeclareLocal(typeof(ValueTask)), valueTaskAwaiterLocal ??= _moveNextMethodIL.DeclareLocal(valueTaskAwaiterField.FieldType), valueTaskAwaiterField);\n\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldnull);\n                    _moveNextMethodIL.Emit(OpCodes.Stfld, dataReaderField);\n                }\n                else\n                {\n                    // Get the result of the command\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, _commandField);\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, _cancellationTokenField);\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, _commandField.FieldType.GetMethod(\"ExecuteNonQueryAsync\", new[] { _cancellationTokenField.FieldType }));\n\n                    intTaskAwaiterField ??= _stateMachineTypeBuilder.DefineField(\"_intTaskAwaiter\", typeof(TaskAwaiter<int>), FieldAttributes.Private);\n                    intTaskAwaiterLocal ??= _moveNextMethodIL.DeclareLocal(intTaskAwaiterField.FieldType);\n\n                    asyncGenerator.WriteAsyncMethodAwaiter(typeof(Task<int>), intTaskAwaiterLocal, intTaskAwaiterField);\n\n                    _moveNextMethodIL.Emit(OpCodes.Pop);\n                }\n\n                if (_loggerField is not null)\n                {\n                    // log success of insert\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, _loggerField);\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4, (int)CommandType.InsertBatch);\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, _loggerField.FieldType.GetMethod(\"Invoke\"));\n                }\n\n                if (endOfEntityInsertLabel.HasValue)\n                {\n                    _moveNextMethodIL.MarkLabel(endOfEntityInsertLabel.Value);\n                }\n            }\n\n            // return the amount of inserted rows\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _rootEntityInsertField);\n            _moveNextMethodIL.Emit(OpCodes.Callvirt, _rootEntityInsertField.FieldType.FindProperty(\"Count\", _genericICollectionType).GetGetMethod());\n\n            foreach (var entityCollection in entityCollections.Values)\n            {\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, entityCollection);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, entityCollection.FieldType.FindProperty(\"Count\", _genericICollectionType).GetGetMethod());\n                _moveNextMethodIL.Emit(OpCodes.Add);\n            }\n\n            _moveNextMethodIL.Emit(OpCodes.Stloc, insertedCountLocal);\n            _moveNextMethodIL.Emit(OpCodes.Leave, endOfMethodLabel);\n\n            var exceptionLocal = _moveNextMethodIL.DeclareLocal(typeof(Exception));\n\n            _moveNextMethodIL.BeginCatchBlock(exceptionLocal.LocalType);\n\n            // Set state and return exception\n            _moveNextMethodIL.Emit(OpCodes.Stloc, exceptionLocal);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_S, (sbyte)-2);\n            _moveNextMethodIL.Emit(OpCodes.Stfld, _stateField);\n\n            if (dataReaderField is not null)\n            {\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldnull);\n                _moveNextMethodIL.Emit(OpCodes.Stfld, dataReaderField);\n            }\n\n            foreach (var entityCollection in entityCollections.Values)\n            {\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldnull);\n                _moveNextMethodIL.Emit(OpCodes.Stfld, entityCollection);\n            }\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldflda, _methodBuilderField);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, exceptionLocal);\n            _moveNextMethodIL.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetMethod(\"SetException\"));\n            _moveNextMethodIL.Emit(OpCodes.Leave, retOfMethodLabel);\n\n            // End of catch block\n            _moveNextMethodIL.EndExceptionBlock();\n\n            _moveNextMethodIL.MarkLabel(endOfMethodLabel);\n\n            // Set state and return result\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_S, (sbyte)-2);\n            _moveNextMethodIL.Emit(OpCodes.Stfld, _stateField);\n\n            if (dataReaderField is not null)\n            {\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldnull);\n                _moveNextMethodIL.Emit(OpCodes.Stfld, dataReaderField);\n            }\n\n            foreach (var entityCollection in entityCollections.Values)\n            {\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldnull);\n                _moveNextMethodIL.Emit(OpCodes.Stfld, entityCollection);\n            }\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldflda, _methodBuilderField);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, insertedCountLocal);\n            _moveNextMethodIL.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetMethod(\"SetResult\"));\n\n            // End of method\n            _moveNextMethodIL.MarkLabel(retOfMethodLabel);\n            _moveNextMethodIL.Emit(OpCodes.Ret);\n        }\n\n        private void CreateSingleNoRelationInserter()\n        {\n            var objectTaskAwaiterField = _stateMachineTypeBuilder.DefineField(\"_objectTaskAwaiter\", typeof(TaskAwaiter<object>), FieldAttributes.Private);\n\n            var objectTaskAwaiterLocal = _moveNextMethodIL.DeclareLocal(objectTaskAwaiterField.FieldType);\n            var insertedCountLocal = _moveNextMethodIL.DeclareLocal(_intType);\n\n            var retOfMethodLabel = _moveNextMethodIL.DefineLabel();\n            var endOfMethodLabel = _moveNextMethodIL.DefineLabel();\n\n            // Assign the local state from the local field => state = _state;\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _stateField);\n            _moveNextMethodIL.Emit(OpCodes.Stloc, _stateLocal);\n\n            // Start try block\n            _moveNextMethodIL.BeginExceptionBlock();\n\n            // if state zero goto await unsafe\n\n            var switchBuilder = new ILSwitchBuilder(_moveNextMethodIL, 1);\n\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, _stateLocal);\n            _moveNextMethodIL.Emit(OpCodes.Brfalse, switchBuilder.GetLabels()[0]);\n\n            // Check if insert is null\n            var afterRootInsertNullCheck = _moveNextMethodIL.DefineLabel();\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _rootEntityInsertField);\n            _moveNextMethodIL.Emit(OpCodes.Brtrue, afterRootInsertNullCheck);\n\n            // Return from method and assign -1 to the insert count\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_M1);\n            _moveNextMethodIL.Emit(OpCodes.Stloc, insertedCountLocal);\n            _moveNextMethodIL.Emit(OpCodes.Leave, endOfMethodLabel);\n\n            _moveNextMethodIL.MarkLabel(afterRootInsertNullCheck);\n\n            // Create command and assign sql command and connection\n            var sqlBuilder = new StringBuilder();\n\n            var skipPrimaryKey = _rootEntity.HasDbGeneratedPrimaryKey;\n\n            sqlBuilder.Append(\"INSERT INTO \")\n                      .Append(_rootEntity.TableName)\n                      .Append(\" (\")\n                      .Append(skipPrimaryKey ? _rootEntity.NonPrimaryColumnListString : _rootEntity.ColumnListString)\n                      .Append(\") VALUES (\");\n\n            var columnOffset = skipPrimaryKey ? _rootEntity.GetRegularColumnOffset() : 0;\n            var lastNonReadOnlyIndex = _rootEntity.GetLastRegularColumnsIndex();\n\n            for (var columnIndex = columnOffset; columnIndex <= lastNonReadOnlyIndex; columnIndex++)\n            {\n                var column = _rootEntity.GetColumn(columnIndex);\n\n                if (column.Options.HasFlag(ColumnOptions.ReadOnly))\n                    continue;\n\n                if (column.Options.HasFlag(ColumnOptions.DefaultValue))\n                {\n                    sqlBuilder.Append(\"DEFAULT, \");\n                }\n                else\n                {\n                    sqlBuilder.Append('@')\n                              .Append(column.PropertyInfo.Name)\n                              .Append(\", \");\n                }\n            }\n\n            sqlBuilder.Length -= 2;\n\n            if (skipPrimaryKey)\n            {\n                sqlBuilder.Append(\") RETURNING \")\n                          .Append(_rootEntity.GetPrimaryColumn().NormalizedColumnName)\n                          .Append(\";\");\n            }\n            else\n            {\n                sqlBuilder.Append(\");\");\n            }\n\n            // Assign commandText to command\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _commandField);\n            _moveNextMethodIL.Emit(OpCodes.Dup);\n            _moveNextMethodIL.Emit(OpCodes.Ldstr, sqlBuilder.ToString());\n            _moveNextMethodIL.Emit(OpCodes.Callvirt, _commandField.FieldType.GetProperty(\"CommandText\").GetSetMethod());\n\n            // Assign parameters to command\n            for (var columnIndex = columnOffset; columnIndex <= lastNonReadOnlyIndex; columnIndex++)\n            {\n                var column = _rootEntity.GetColumn(columnIndex);\n\n                if (column.Options.HasFlag(ColumnOptions.ReadOnly) ||\n                    column.Options.HasFlag(ColumnOptions.DefaultValue))\n                    continue;\n\n                _moveNextMethodIL.Emit(OpCodes.Dup);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, _commandField.FieldType.GetProperty(\"Parameters\", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly).GetGetMethod());\n                WriteNpgsqlParameterFromColumn(_moveNextMethodIL, _rootEntityInsertField, column);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, typeof(NpgsqlParameterCollection).GetMethod(\"Add\", new[] { typeof(NpgsqlParameter) }));\n                _moveNextMethodIL.Emit(OpCodes.Pop);\n            }\n\n            // Get the result of the command\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _cancellationTokenField);\n            _moveNextMethodIL.Emit(OpCodes.Callvirt, _commandField.FieldType.GetMethod(\"ExecuteScalarAsync\", new[] { _cancellationTokenField.FieldType }));\n\n            new ILAsyncGenerator(_moveNextMethodIL, switchBuilder, _methodBuilderField, _stateField, _stateLocal, retOfMethodLabel, _stateMachineTypeBuilder).WriteAsyncMethodAwaiter(typeof(Task<object>), objectTaskAwaiterLocal, objectTaskAwaiterField);\n\n            var objectResultLocal = _moveNextMethodIL.DeclareLocal(typeof(object));\n\n            _moveNextMethodIL.Emit(OpCodes.Stloc, objectResultLocal);\n\n            // cast and store primary key\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _rootEntityInsertField);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, objectResultLocal);\n            _moveNextMethodIL.Emit(OpCodes.Unbox_Any, _rootEntity.GetPrimaryColumn().PropertyInfo.PropertyType);\n\n            WritePropertyAssigner(_moveNextMethodIL, _rootEntity.GetPrimaryColumn());\n\n            if (_loggerField is not null)\n            {\n                // log success of insert\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, _loggerField);\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4, (int)CommandType.InsertSingle);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, _loggerField.FieldType.GetMethod(\"Invoke\"));\n            }\n\n            // return 1\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_1);\n            _moveNextMethodIL.Emit(OpCodes.Stloc, insertedCountLocal);\n            _moveNextMethodIL.Emit(OpCodes.Leave, endOfMethodLabel);\n\n            var exceptionLocal = _moveNextMethodIL.DeclareLocal(typeof(Exception));\n\n            _moveNextMethodIL.BeginCatchBlock(exceptionLocal.LocalType);\n            // Set state and return exception\n            _moveNextMethodIL.Emit(OpCodes.Stloc_S, exceptionLocal);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_S, (sbyte)-2);\n            _moveNextMethodIL.Emit(OpCodes.Stfld, _stateField);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldflda, _methodBuilderField);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc_S, exceptionLocal);\n            _moveNextMethodIL.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetMethod(\"SetException\"));\n            _moveNextMethodIL.Emit(OpCodes.Leave, retOfMethodLabel);\n\n            // End of catch block\n            _moveNextMethodIL.EndExceptionBlock();\n\n            _moveNextMethodIL.MarkLabel(endOfMethodLabel);\n\n            // Set state and return result\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_S, (sbyte)-2);\n            _moveNextMethodIL.Emit(OpCodes.Stfld, _stateField);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldflda, _methodBuilderField);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc_S, insertedCountLocal);\n            _moveNextMethodIL.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetMethod(\"SetResult\"));\n\n            // End of method\n            _moveNextMethodIL.MarkLabel(retOfMethodLabel);\n            _moveNextMethodIL.Emit(OpCodes.Ret);\n        }\n\n        private void CreateSingleRelationInserter(EntityRelationHolder[] entities)\n        {\n            FieldBuilder? dataReaderTaskAwaiterField = default;\n            FieldBuilder? boolTaskAwaiterField = default;\n            FieldBuilder? intTaskAwaiterField = default;\n            FieldBuilder? valueTaskAwaiterField = default;\n            FieldBuilder? dataReaderField = default;\n            FieldBuilder? iteratorField = default;\n            FieldBuilder? counterField = default;\n\n            LocalBuilder? dataReaderTaskAwaiterLocal = default;\n            LocalBuilder? boolTaskAwaiterLocal = default;\n            LocalBuilder? intTaskAwaiterLocal = default;\n            LocalBuilder? valueTaskAwaiterLocal = default;\n\n            var insertedCountLocal = _moveNextMethodIL.DeclareLocal(_intType);\n\n            var retOfMethodLabel = _moveNextMethodIL.DefineLabel();\n            var endOfMethodLabel = _moveNextMethodIL.DefineLabel();\n\n            // Assign the local state from the local field => state = _state;\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _stateField);\n            _moveNextMethodIL.Emit(OpCodes.Stloc, _stateLocal);\n\n            // Start try block\n            _moveNextMethodIL.BeginExceptionBlock();\n\n            // if state zero goto await unsafe\n\n            var awaiterCount = 0;\n\n            for (var entityIndex = entities.Length - 1; entityIndex >= 0; entityIndex--)\n            {\n                var entity = entities[entityIndex].Entity;\n\n                if (entity == _rootEntity)\n                {\n                    awaiterCount++;\n\n                    continue;\n                }\n\n                awaiterCount += entity.HasDbGeneratedPrimaryKey ? 4 : 1;\n            }\n\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, _stateLocal);\n\n            var switchBuilder = _moveNextMethodIL.EmitSwitch(awaiterCount);\n\n            var asyncGenerator = new ILAsyncGenerator(_moveNextMethodIL, switchBuilder, _methodBuilderField, _stateField, _stateLocal, retOfMethodLabel, _stateMachineTypeBuilder);\n\n            // Check if insert is null\n            var afterRootInsertNullCheck = _moveNextMethodIL.DefineLabel();\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _rootEntityInsertField);\n            _moveNextMethodIL.Emit(OpCodes.Brtrue, afterRootInsertNullCheck);\n\n            // Return from method and assign -1 to the insert count\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_M1);\n            _moveNextMethodIL.Emit(OpCodes.Stloc, insertedCountLocal);\n            _moveNextMethodIL.Emit(OpCodes.Leave, endOfMethodLabel);\n\n            _moveNextMethodIL.MarkLabel(afterRootInsertNullCheck);\n\n            var entityCollections = new EntitySeprator(_moveNextMethodIL, _stateMachineTypeBuilder, _rootEntity, entities, _reachableEntities, _reachableRelations).WriteFlatEntitySeperater(_rootEntityInsertField);\n\n            var commandBuilderField = _stateMachineTypeBuilder.DefineField(\"commandBuilder\", typeof(StringBuilder), FieldAttributes.Private);\n\n            // Instantiate CommandBuilder\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Newobj, commandBuilderField.FieldType.GetConstructor(Type.EmptyTypes));\n            _moveNextMethodIL.Emit(OpCodes.Stfld, commandBuilderField);\n\n            for (var entityIndex = 0; entityIndex < entities.Length; entityIndex++)\n            {\n                var entityHolder = entities[entityIndex];\n                var entity = entityHolder.Entity;\n\n                var stringBuilder = new StringBuilder();\n\n                var skipPrimaryKey = entity.HasDbGeneratedPrimaryKey;\n\n                var totalColumnCount = entity.GetColumnCount();\n                var columnCount = totalColumnCount - entity.GetReadOnlyCount();\n                var columnOffset = skipPrimaryKey ? entity.GetRegularColumnOffset() : 0;\n                var lastNonReadOnlyIndex = entity.GetLastRegularColumnsIndex();\n\n                stringBuilder.Append(\"INSERT INTO \")\n                             .Append(entity.TableName)\n                             .Append(\" (\")\n                             .Append(skipPrimaryKey ? entity.NonPrimaryColumnListString : entity.ColumnListString)\n                             .Append(\") VALUES \");\n\n                if (entity == _rootEntity)\n                {\n                    stringBuilder.Append('(');\n\n                    for (var columnIndex = columnOffset; columnIndex <= lastNonReadOnlyIndex; columnIndex++)\n                    {\n                        var column = _rootEntity.GetColumn(columnIndex);\n\n                        if (column.Options.HasFlag(ColumnOptions.ReadOnly))\n                            continue;\n\n                        if (column.Options.HasFlag(ColumnOptions.DefaultValue))\n                        {\n                            stringBuilder.Append(\"DEFAULT, \");\n                        }\n                        else\n                        {\n                            stringBuilder.Append('@')\n                                         .Append(column.PropertyInfo.Name)\n                                         .Append(\", \");\n                        }\n                    }\n\n                    stringBuilder.Length -= 2;\n\n                    if (skipPrimaryKey)\n                    {\n                        stringBuilder.Append(\") RETURNING \")\n                                     .Append(_rootEntity.GetPrimaryColumn().NormalizedColumnName)\n                                     .Append(\";\");\n                    }\n                    else\n                    {\n                        stringBuilder.Append(\");\");\n                    }\n\n                    // Clear commandBuilder and command parameters\n                    if (entityIndex > 0)\n                    {\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, commandBuilderField);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderField.FieldType.GetMethod(\"Clear\"));\n                        _moveNextMethodIL.Emit(OpCodes.Pop);\n\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, _commandField);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, _commandField.FieldType.GetProperty(\"Parameters\", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly).GetGetMethod());\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, _commandField.FieldType.GetProperty(\"Parameters\", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly).PropertyType.GetMethod(\"Clear\"));\n                    }\n\n                    // Assign the commandBuilder text to the command\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, _commandField);\n                    _moveNextMethodIL.Emit(OpCodes.Ldstr, stringBuilder.ToString());\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, _commandField.FieldType.GetProperty(\"CommandText\").GetSetMethod());\n\n                    // assign foreign key to itself from navigation property primary key\n                    for (var relationIndex = entityHolder.SelfAssignedRelations.Count - 1; relationIndex >= 0; relationIndex--)\n                    {\n                        var relation = entityHolder.SelfAssignedRelations[relationIndex];\n\n                        // Check if navigation property is null\n\n                        var afterBodyLabel = _moveNextMethodIL.DefineLabel();\n\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, _rootEntityInsertField);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.GetGetMethod());\n                        _moveNextMethodIL.Emit(OpCodes.Brfalse, afterBodyLabel);\n\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, _rootEntityInsertField);\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, _rootEntityInsertField);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.GetGetMethod());\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.RightEntity.GetPrimaryColumn().PropertyInfo.GetGetMethod());\n                        WritePropertyAssigner(_moveNextMethodIL, relation.ForeignKeyColumn);\n\n                        _moveNextMethodIL.MarkLabel(afterBodyLabel);\n                    }\n\n                    // Assign parameters to command\n                    for (var columnIndex = columnOffset; columnIndex <= lastNonReadOnlyIndex; columnIndex++)\n                    {\n                        var column = _rootEntity.GetColumn(columnIndex);\n\n                        if (column.Options.HasFlag(ColumnOptions.ReadOnly) ||\n                            column.Options.HasFlag(ColumnOptions.DefaultValue))\n                            continue;\n\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, _commandField);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, _commandField.FieldType.GetProperty(\"Parameters\", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly).GetGetMethod());\n                        WriteNpgsqlParameterFromColumn(_moveNextMethodIL, _rootEntityInsertField, column);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, typeof(NpgsqlParameterCollection).GetMethod(\"Add\", new[] { typeof(NpgsqlParameter) }));\n                        _moveNextMethodIL.Emit(OpCodes.Pop);\n                    }\n\n                    // Get the result of the command\n                    if (skipPrimaryKey)\n                    {\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, _commandField);\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, _cancellationTokenField);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, _commandField.FieldType.GetMethod(\"ExecuteScalarAsync\", new[] { _cancellationTokenField.FieldType }));\n\n                        asyncGenerator.WriteAsyncMethodAwaiter(typeof(Task<object>), _moveNextMethodIL.DeclareLocal(typeof(TaskAwaiter<object>)), _stateMachineTypeBuilder.DefineField(\"_objectTaskAwaiter\", typeof(TaskAwaiter<object>), FieldAttributes.Private));\n\n                        var objectResultLocal = _moveNextMethodIL.DeclareLocal(typeof(object));\n                        _moveNextMethodIL.Emit(OpCodes.Stloc, objectResultLocal);\n\n                        // cast and store primary key\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, _rootEntityInsertField);\n                        _moveNextMethodIL.Emit(OpCodes.Ldloc, objectResultLocal);\n                        _moveNextMethodIL.Emit(OpCodes.Unbox_Any, _rootEntity.GetPrimaryColumn().PropertyInfo.PropertyType);\n\n                        WritePropertyAssigner(_moveNextMethodIL, _rootEntity.GetPrimaryColumn());\n                    }\n                    else\n                    {\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, _commandField);\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, _cancellationTokenField);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, _commandField.FieldType.GetMethod(\"ExecuteNonQueryAsync\", new[] { _cancellationTokenField.FieldType }));\n\n                        intTaskAwaiterField ??= _stateMachineTypeBuilder.DefineField(\"_intTaskAwaiter\", typeof(TaskAwaiter<int>), FieldAttributes.Private);\n                        intTaskAwaiterLocal ??= _moveNextMethodIL.DeclareLocal(intTaskAwaiterField.FieldType);\n\n                        asyncGenerator.WriteAsyncMethodAwaiter(typeof(Task<int>), intTaskAwaiterLocal, intTaskAwaiterField);\n\n                        _moveNextMethodIL.Emit(OpCodes.Pop);\n                    }\n\n                    if (_loggerField is not null)\n                    {\n                        // log success of insert\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, _loggerField);\n                        _moveNextMethodIL.Emit(OpCodes.Ldc_I4, (int)CommandType.InsertSingle);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, _loggerField.FieldType.GetMethod(\"Invoke\"));\n                    }\n\n                    if (entityHolder.ForeignAssignedRelations.Count > 0)\n                    {\n                        LocalBuilder? innerIteratorLocal = default;\n\n                        for (var relationIndex = entityHolder.ForeignAssignedRelations.Count - 1; relationIndex >= 0; relationIndex--)\n                        {\n                            var relation = entityHolder.ForeignAssignedRelations[relationIndex];\n\n                            var afterOuterNullCheckBodyLabel = _moveNextMethodIL.DefineLabel();\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, _rootEntityInsertField);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.GetGetMethod());\n                            _moveNextMethodIL.Emit(OpCodes.Brfalse, afterOuterNullCheckBodyLabel);\n\n                            if (relation.RelationType == RelationType.OneToMany)\n                            {\n                                innerIteratorLocal ??= _moveNextMethodIL.DeclareLocal(_intType);\n\n                                var innerLoopConditionLabel = _moveNextMethodIL.DefineLabel();\n                                var innertStartLoopBodyLabel = _moveNextMethodIL.DefineLabel();\n\n                                var foreignEntityLocal = _moveNextMethodIL.DeclareLocal(relation.RightEntity.EntityType);\n\n                                // Assign 0 to the iterator\n                                _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                                _moveNextMethodIL.Emit(OpCodes.Stloc, innerIteratorLocal);\n                                _moveNextMethodIL.Emit(OpCodes.Br, innerLoopConditionLabel);\n\n                                // loop body\n                                _moveNextMethodIL.MarkLabel(innertStartLoopBodyLabel);\n\n                                // assign iterator element to foreignEntityLocal\n                                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                                _moveNextMethodIL.Emit(OpCodes.Ldfld, _rootEntityInsertField);\n                                _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.GetGetMethod());\n                                _moveNextMethodIL.Emit(OpCodes.Ldloc, innerIteratorLocal);\n                                _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.PropertyType.GetMethod(\"get_Item\"));\n                                _moveNextMethodIL.Emit(OpCodes.Stloc, foreignEntityLocal);\n\n                                // check if element is not null\n                                var afterNullCheckBodyLabel = _moveNextMethodIL.DefineLabel();\n\n                                _moveNextMethodIL.Emit(OpCodes.Ldloc, foreignEntityLocal);\n                                _moveNextMethodIL.Emit(OpCodes.Brfalse, afterNullCheckBodyLabel);\n\n                                // assign entity primary key to foreign key on navigation entity\n                                _moveNextMethodIL.Emit(OpCodes.Ldloc, foreignEntityLocal);\n                                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                                _moveNextMethodIL.Emit(OpCodes.Ldfld, _rootEntityInsertField);\n                                _moveNextMethodIL.Emit(OpCodes.Callvirt, _rootEntity.GetPrimaryColumn().PropertyInfo.GetGetMethod());\n                                WritePropertyAssigner(_moveNextMethodIL, relation.ForeignKeyColumn);\n\n                                _moveNextMethodIL.MarkLabel(afterNullCheckBodyLabel);\n\n                                // loop iterator increment\n                                _moveNextMethodIL.Emit(OpCodes.Ldloc, innerIteratorLocal);\n                                _moveNextMethodIL.Emit(OpCodes.Ldc_I4_1);\n                                _moveNextMethodIL.Emit(OpCodes.Add);\n                                _moveNextMethodIL.Emit(OpCodes.Stloc, innerIteratorLocal);\n\n                                // loop condition\n                                _moveNextMethodIL.MarkLabel(innerLoopConditionLabel);\n                                _moveNextMethodIL.Emit(OpCodes.Ldloc, innerIteratorLocal);\n                                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                                _moveNextMethodIL.Emit(OpCodes.Ldfld, _rootEntityInsertField);\n                                _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.GetGetMethod());\n                                _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.PropertyType.FindProperty(\"Count\", _genericICollectionType).GetGetMethod());\n                                _moveNextMethodIL.Emit(OpCodes.Blt, innertStartLoopBodyLabel);\n                            }\n                            else\n                            {\n                                // assign entity primary key to foreign key on navigation entity\n                                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                                _moveNextMethodIL.Emit(OpCodes.Ldfld, _rootEntityInsertField);\n                                _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.GetGetMethod());\n                                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                                _moveNextMethodIL.Emit(OpCodes.Ldfld, _rootEntityInsertField);\n                                _moveNextMethodIL.Emit(OpCodes.Callvirt, _rootEntity.GetPrimaryColumn().PropertyInfo.GetGetMethod());\n                                WritePropertyAssigner(_moveNextMethodIL, relation.ForeignKeyColumn);\n                            }\n\n                            _moveNextMethodIL.MarkLabel(afterOuterNullCheckBodyLabel);\n                        }\n                    }\n                }\n                else\n                {\n                    var entityId = _reachableEntities.HasId(entity, out _);\n\n                    var entityCollection = entityCollections[entityId];\n\n                    // Check if entityCollection is larger than 0\n                    var endOfEntityInsertLabel = _moveNextMethodIL.DefineLabel();\n\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, entityCollection);\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, entityCollection.FieldType.FindProperty(\"Count\", _genericICollectionType).GetGetMethod());\n                    _moveNextMethodIL.Emit(OpCodes.Brfalse, endOfEntityInsertLabel);\n\n                    // Clear commandBuilder and command parameters\n                    if (entityIndex > 0)\n                    {\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, commandBuilderField);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderField.FieldType.GetMethod(\"Clear\"));\n                        _moveNextMethodIL.Emit(OpCodes.Pop);\n\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, _commandField);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, _commandField.FieldType.GetProperty(\"Parameters\", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly).GetGetMethod());\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, _commandField.FieldType.GetProperty(\"Parameters\", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly).PropertyType.GetMethod(\"Clear\"));\n                    }\n\n                    // Outer loop to keep one single command under ushort.MaxValue parameters\n\n                    var totalLocal = _moveNextMethodIL.DeclareLocal(_intType);\n                    var currentLocal = _moveNextMethodIL.DeclareLocal(_intType);\n\n                    // Assign the total amount of parameters to the total local\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, entityCollection);\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, entityCollection.FieldType.FindProperty(\"Count\", _genericICollectionType).GetGetMethod());\n                    _moveNextMethodIL.Emit(OpCodes.Stloc, totalLocal);\n\n                    // Assign 0 to the current local\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                    _moveNextMethodIL.Emit(OpCodes.Stloc, currentLocal);\n\n                    var outerIteratorLocal = _moveNextMethodIL.DeclareLocal(_intType);\n\n                    var outerLoopConditionLabel = _moveNextMethodIL.DefineLabel();\n                    var outerStartLoopBodyLabel = _moveNextMethodIL.DefineLabel();\n\n                    // Assign 0 to the iterator\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                    _moveNextMethodIL.Emit(OpCodes.Stloc, outerIteratorLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Br, outerLoopConditionLabel);\n\n                    // loop body\n                    _moveNextMethodIL.MarkLabel(outerStartLoopBodyLabel);\n\n                    // Append base Insert Command to command builder\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, commandBuilderField);\n                    _moveNextMethodIL.Emit(OpCodes.Ldstr, stringBuilder.ToString());\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderField.FieldType.GetMethod(\"Append\", new[] { typeof(string) }));\n                    _moveNextMethodIL.Emit(OpCodes.Pop);\n\n                    var leftLocal = _moveNextMethodIL.DeclareLocal(_intType);\n\n                    var totalColumns = columnCount - columnOffset;\n\n                    // Assign the amount of left items to the left local\n                    _moveNextMethodIL.Emit(OpCodes.Ldloc, totalLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4, totalColumns);\n                    _moveNextMethodIL.Emit(OpCodes.Mul);\n                    _moveNextMethodIL.Emit(OpCodes.Ldloc, currentLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4, totalColumns);\n                    _moveNextMethodIL.Emit(OpCodes.Mul);\n                    _moveNextMethodIL.Emit(OpCodes.Sub);\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4, ushort.MaxValue);\n                    _moveNextMethodIL.Emit(OpCodes.Call, typeof(Math).GetMethod(\"Min\", new[] { _intType, _intType }));\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4, totalColumns);\n                    _moveNextMethodIL.Emit(OpCodes.Div);\n                    _moveNextMethodIL.Emit(OpCodes.Ldloc, currentLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Add);\n                    _moveNextMethodIL.Emit(OpCodes.Stloc, leftLocal);\n\n                    var iteratorElementLocal = _moveNextMethodIL.DeclareLocal(entity.EntityType);\n\n                    var loopConditionLabel = _moveNextMethodIL.DefineLabel();\n                    var startLoopBodyLabel = _moveNextMethodIL.DefineLabel();\n\n                    // loop body\n                    _moveNextMethodIL.MarkLabel(startLoopBodyLabel);\n\n                    // get element at iterator from list\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, entityCollection);\n                    _moveNextMethodIL.Emit(OpCodes.Ldloc, currentLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, entityCollection.FieldType.GetMethod(\"get_Item\"));\n                    _moveNextMethodIL.Emit(OpCodes.Stloc, iteratorElementLocal);\n\n                    // assign foreign key to itself from navigation property primary key\n                    for (var relationIndex = entityHolder.SelfAssignedRelations.Count - 1; relationIndex >= 0; relationIndex--)\n                    {\n                        var relation = entityHolder.SelfAssignedRelations[relationIndex];\n\n                        // Check if navigation property is null\n\n                        var afterBodyLabel = _moveNextMethodIL.DefineLabel();\n\n                        _moveNextMethodIL.Emit(OpCodes.Ldloc, iteratorElementLocal);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.GetGetMethod());\n                        _moveNextMethodIL.Emit(OpCodes.Brfalse, afterBodyLabel);\n\n                        _moveNextMethodIL.Emit(OpCodes.Ldloc, iteratorElementLocal);\n                        _moveNextMethodIL.Emit(OpCodes.Ldloc, iteratorElementLocal);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.GetGetMethod());\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.RightEntity.GetPrimaryColumn().PropertyInfo.GetGetMethod());\n                        WritePropertyAssigner(_moveNextMethodIL, relation.ForeignKeyColumn);\n\n                        _moveNextMethodIL.MarkLabel(afterBodyLabel);\n                    }\n\n                    // append placeholders to command builder\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, commandBuilderField);\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4, (int)'(');\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderField.FieldType.GetMethod(\"Append\", new[] { typeof(char) }));\n                    _moveNextMethodIL.Emit(OpCodes.Pop);\n\n                    for (var k = columnOffset; k <= lastNonReadOnlyIndex; k++)\n                    {\n                        var column = entity.GetColumn(k);\n\n                        if (column.Options.HasFlag(ColumnOptions.ReadOnly))\n                            continue;\n\n                        // Write placeholder to the command builder => (@Name(n)),\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, commandBuilderField);\n\n                        if (column.Options.HasFlag(ColumnOptions.DefaultValue))\n                        {\n                            _moveNextMethodIL.Emit(OpCodes.Ldstr, lastNonReadOnlyIndex == k ? \"DEFAULT), \" : \"DEFAULT, \");\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderField.FieldType.GetMethod(\"Append\", new[] { typeof(string) }));\n                            _moveNextMethodIL.Emit(OpCodes.Pop);\n                        }\n                        else\n                        {\n                            // Create new parameter with placeholder and add it to the parameter list\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, _commandField);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, _commandField.FieldType.GetProperty(\"Parameters\", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly).GetGetMethod());\n\n                            WriteNpgsqlParameterFromColumn(_moveNextMethodIL, iteratorElementLocal, column, currentLocal);\n\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, typeof(NpgsqlParameterCollection).GetMethod(\"Add\", new[] { typeof(NpgsqlParameter) }));\n\n                            // Write placeholder to the command builder => (@Name(n)),\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, typeof(NpgsqlParameter).GetProperty(\"ParameterName\", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly).GetGetMethod());\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderField.FieldType.GetMethod(\"Append\", new[] { typeof(string) }));\n                            _moveNextMethodIL.Emit(OpCodes.Ldstr, lastNonReadOnlyIndex == k ? \"), \" : \", \");\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderField.FieldType.GetMethod(\"Append\", new[] { typeof(string) }));\n                            _moveNextMethodIL.Emit(OpCodes.Pop);\n                        }\n                    }\n\n                    // loop iterator increment\n                    _moveNextMethodIL.Emit(OpCodes.Ldloc, currentLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4_1);\n                    _moveNextMethodIL.Emit(OpCodes.Add);\n                    _moveNextMethodIL.Emit(OpCodes.Stloc, currentLocal);\n\n                    // loop condition\n                    _moveNextMethodIL.MarkLabel(loopConditionLabel);\n                    _moveNextMethodIL.Emit(OpCodes.Ldloc, currentLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Ldloc, leftLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Blt, startLoopBodyLabel);\n\n                    // Remove the last the values form the command string e.g. \", \"\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, commandBuilderField);\n                    _moveNextMethodIL.Emit(OpCodes.Dup);\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderField.FieldType.GetProperty(\"Length\").GetGetMethod());\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4_2);\n                    _moveNextMethodIL.Emit(OpCodes.Sub);\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderField.FieldType.GetProperty(\"Length\").GetSetMethod());\n\n                    if (skipPrimaryKey)\n                    {\n                        // Append \" RETURNING \\\"PrimaryKey\\\"\"\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, commandBuilderField);\n                        _moveNextMethodIL.Emit(OpCodes.Ldstr, \" RETURNING \" + entity.GetPrimaryColumn().NormalizedColumnName + \";\");\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderField.FieldType.GetMethod(\"Append\", new[] { typeof(string) }));\n                        _moveNextMethodIL.Emit(OpCodes.Pop);\n                    }\n\n                    // outer loop iterator increment\n                    _moveNextMethodIL.Emit(OpCodes.Ldloc, outerIteratorLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4_1);\n                    _moveNextMethodIL.Emit(OpCodes.Add);\n                    _moveNextMethodIL.Emit(OpCodes.Stloc, outerIteratorLocal);\n\n                    // outer loop condition\n                    _moveNextMethodIL.MarkLabel(outerLoopConditionLabel);\n                    _moveNextMethodIL.Emit(OpCodes.Ldloc, totalLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Ldloc, currentLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Bne_Un, outerStartLoopBodyLabel);\n\n                    // Assign the commandBuilder text to the command\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, _commandField);\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, commandBuilderField);\n\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, commandBuilderField.FieldType.GetMethod(\"ToString\", Type.EmptyTypes));\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, _commandField.FieldType.GetProperty(\"CommandText\").GetSetMethod());\n\n                    if (skipPrimaryKey)\n                    {\n                        dataReaderField ??= _stateMachineTypeBuilder.DefineField(\"_dataReader\", typeof(NpgsqlDataReader), FieldAttributes.Private);\n\n                        // Get the result of the command\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, _commandField);\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, _cancellationTokenField);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, _commandField.FieldType.GetMethod(\"ExecuteReaderAsync\", new[] { _cancellationTokenField.FieldType }));\n\n                        dataReaderTaskAwaiterField ??= _stateMachineTypeBuilder.DefineField(\"_dataReaderTaskAwaiter\", typeof(TaskAwaiter<NpgsqlDataReader>), FieldAttributes.Private);\n                        dataReaderTaskAwaiterLocal ??= _moveNextMethodIL.DeclareLocal(dataReaderTaskAwaiterField.FieldType);\n\n                        asyncGenerator.WriteAsyncMethodAwaiter(typeof(Task<NpgsqlDataReader>), dataReaderTaskAwaiterLocal, dataReaderTaskAwaiterField);\n\n                        var dataReaderLocal = _moveNextMethodIL.DeclareLocal(dataReaderField.FieldType);\n\n                        _moveNextMethodIL.Emit(OpCodes.Stloc, dataReaderLocal);\n\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldloc, dataReaderLocal);\n                        _moveNextMethodIL.Emit(OpCodes.Stfld, dataReaderField);\n\n                        iteratorField ??= _stateMachineTypeBuilder.DefineField(\"_iterator\", _intType, FieldAttributes.Private);\n                        counterField ??= _stateMachineTypeBuilder.DefineField(\"_counter\", typeof(ushort), FieldAttributes.Private);\n\n                        loopConditionLabel = _moveNextMethodIL.DefineLabel();\n                        startLoopBodyLabel = _moveNextMethodIL.DefineLabel();\n\n                        // Assign 0 to the counter\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                        _moveNextMethodIL.Emit(OpCodes.Stfld, counterField);\n\n                        // Assign 0 to the iterator\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                        _moveNextMethodIL.Emit(OpCodes.Stfld, iteratorField);\n                        _moveNextMethodIL.Emit(OpCodes.Br, loopConditionLabel);\n\n                        // loop body\n                        _moveNextMethodIL.MarkLabel(startLoopBodyLabel);\n\n                        // check if counter is equal to ushort.MaxValue\n\n                        var afterIfBody = _moveNextMethodIL.DefineLabel();\n\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, counterField);\n                        _moveNextMethodIL.Emit(OpCodes.Ldc_I4, ushort.MaxValue / columnCount);\n                        _moveNextMethodIL.Emit(OpCodes.Bne_Un, afterIfBody);\n\n                        // Assign 0 to the counter\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                        _moveNextMethodIL.Emit(OpCodes.Stfld, counterField);\n\n                        // Call the next result\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, dataReaderField);\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, _cancellationTokenField);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, dataReaderField.FieldType.GetMethod(\"NextResultAsync\", new[] { _cancellationTokenField.FieldType }));\n\n                        boolTaskAwaiterField ??= _stateMachineTypeBuilder.DefineField(\"_boolTaskAwaiter\", typeof(TaskAwaiter<bool>), FieldAttributes.Private);\n                        boolTaskAwaiterLocal ??= _moveNextMethodIL.DeclareLocal(boolTaskAwaiterField.FieldType);\n\n                        asyncGenerator.WriteAsyncMethodAwaiter(typeof(Task<bool>), boolTaskAwaiterLocal, boolTaskAwaiterField);\n\n                        _moveNextMethodIL.Emit(OpCodes.Pop);\n\n                        _moveNextMethodIL.MarkLabel(afterIfBody);\n\n                        // read data reader\n\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, dataReaderField);\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, _cancellationTokenField);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, dataReaderField.FieldType.GetMethod(\"ReadAsync\", new[] { _cancellationTokenField.FieldType }));\n\n                        asyncGenerator.WriteAsyncMethodAwaiter(typeof(Task<bool>), boolTaskAwaiterLocal, boolTaskAwaiterField);\n\n                        _moveNextMethodIL.Emit(OpCodes.Pop);\n\n                        // assign foreign key to itself from navigation property primary key\n                        if (entityHolder.ForeignAssignedRelations.Count > 0)\n                        {\n                            var primaryKeyLocal = _moveNextMethodIL.DeclareLocal(entity.GetPrimaryColumn().PropertyInfo.PropertyType);\n\n                            // assign the returned id to the local\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, dataReaderField);\n                            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, dataReaderField.FieldType.GetMethod(\"GetFieldValue\").MakeGenericMethod(entity.GetPrimaryColumn().PropertyInfo.PropertyType));\n                            _moveNextMethodIL.Emit(OpCodes.Stloc, primaryKeyLocal);\n\n                            var entityLocal = _moveNextMethodIL.DeclareLocal(entity.EntityType);\n\n                            // assign the current entity to the local\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, entityCollection);\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, iteratorField);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, entityCollection.FieldType.GetMethod(\"get_Item\"));\n                            _moveNextMethodIL.Emit(OpCodes.Stloc, entityLocal);\n\n                            // assign the returned id to the current entity\n                            _moveNextMethodIL.Emit(OpCodes.Ldloc, entityLocal);\n                            _moveNextMethodIL.Emit(OpCodes.Ldloc, primaryKeyLocal);\n\n                            WritePropertyAssigner(_moveNextMethodIL, entity.GetPrimaryColumn());\n\n                            LocalBuilder? innerIteratorLocal = default;\n\n                            for (var relationIndex = entityHolder.ForeignAssignedRelations.Count - 1; relationIndex >= 0; relationIndex--)\n                            {\n                                var relation = entityHolder.ForeignAssignedRelations[relationIndex];\n\n                                var afterOuterNullCheckBodyLabel = _moveNextMethodIL.DefineLabel();\n\n                                _moveNextMethodIL.Emit(OpCodes.Ldloc, entityLocal);\n                                _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.GetGetMethod());\n                                _moveNextMethodIL.Emit(OpCodes.Brfalse, afterOuterNullCheckBodyLabel);\n\n                                if (relation.RelationType == RelationType.OneToMany)\n                                {\n                                    innerIteratorLocal ??= _moveNextMethodIL.DeclareLocal(_intType);\n\n                                    var innerLoopConditionLabel = _moveNextMethodIL.DefineLabel();\n                                    var innertStartLoopBodyLabel = _moveNextMethodIL.DefineLabel();\n\n                                    var foreignEntityLocal = _moveNextMethodIL.DeclareLocal(relation.RightEntity.EntityType);\n\n                                    // Assign 0 to the iterator\n                                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                                    _moveNextMethodIL.Emit(OpCodes.Stloc, innerIteratorLocal);\n                                    _moveNextMethodIL.Emit(OpCodes.Br, innerLoopConditionLabel);\n\n                                    // loop body\n                                    _moveNextMethodIL.MarkLabel(innertStartLoopBodyLabel);\n\n                                    // assign iterator element to foreignEntityLocal\n                                    _moveNextMethodIL.Emit(OpCodes.Ldloc, entityLocal);\n                                    _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.GetGetMethod());\n                                    _moveNextMethodIL.Emit(OpCodes.Ldloc, innerIteratorLocal);\n                                    _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.PropertyType.GetMethod(\"get_Item\"));\n                                    _moveNextMethodIL.Emit(OpCodes.Stloc, foreignEntityLocal);\n\n                                    // check if element is not null\n                                    var afterNullCheckBodyLabel = _moveNextMethodIL.DefineLabel();\n\n                                    _moveNextMethodIL.Emit(OpCodes.Ldloc, foreignEntityLocal);\n                                    _moveNextMethodIL.Emit(OpCodes.Brfalse, afterNullCheckBodyLabel);\n\n                                    // assign entity primary key to foreign key on navigation entity\n                                    _moveNextMethodIL.Emit(OpCodes.Ldloc, foreignEntityLocal);\n                                    _moveNextMethodIL.Emit(OpCodes.Ldloc, primaryKeyLocal);\n                                    WritePropertyAssigner(_moveNextMethodIL, relation.ForeignKeyColumn);\n\n                                    _moveNextMethodIL.MarkLabel(afterNullCheckBodyLabel);\n\n                                    // loop iterator increment\n                                    _moveNextMethodIL.Emit(OpCodes.Ldloc, innerIteratorLocal);\n                                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4_1);\n                                    _moveNextMethodIL.Emit(OpCodes.Add);\n                                    _moveNextMethodIL.Emit(OpCodes.Stloc, innerIteratorLocal);\n\n                                    // loop condition\n                                    _moveNextMethodIL.MarkLabel(innerLoopConditionLabel);\n                                    _moveNextMethodIL.Emit(OpCodes.Ldloc, innerIteratorLocal);\n                                    _moveNextMethodIL.Emit(OpCodes.Ldloc, entityLocal);\n                                    _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.GetGetMethod());\n                                    _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.PropertyType.FindProperty(\"Count\", _genericICollectionType).GetGetMethod());\n                                    _moveNextMethodIL.Emit(OpCodes.Blt, innertStartLoopBodyLabel);\n                                }\n                                else\n                                {\n                                    // assign entity primary key to foreign key on navigation entity\n                                    _moveNextMethodIL.Emit(OpCodes.Ldloc, entityLocal);\n                                    _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.GetGetMethod());\n                                    _moveNextMethodIL.Emit(OpCodes.Ldloc, primaryKeyLocal);\n                                    WritePropertyAssigner(_moveNextMethodIL, relation.ForeignKeyColumn);\n                                }\n\n                                _moveNextMethodIL.MarkLabel(afterOuterNullCheckBodyLabel);\n                            }\n                        }\n                        else\n                        {\n                            // assign the returned id to the current element\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, entityCollection);\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, iteratorField);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, entityCollection.FieldType.GetMethod(\"get_Item\"));\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, dataReaderField);\n                            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, dataReaderField.FieldType.GetMethod(\"GetFieldValue\").MakeGenericMethod(entity.GetPrimaryColumn().PropertyInfo.PropertyType));\n                            WritePropertyAssigner(_moveNextMethodIL, entity.GetPrimaryColumn());\n                        }\n\n                        // loop iterator increment\n                        var tempIteratorLocal = _moveNextMethodIL.DeclareLocal(_intType);\n                        var tempCounterLocal = _moveNextMethodIL.DeclareLocal(_intType);\n\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, iteratorField);\n                        _moveNextMethodIL.Emit(OpCodes.Stloc, tempIteratorLocal);\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldloc, tempIteratorLocal);\n                        _moveNextMethodIL.Emit(OpCodes.Ldc_I4_1);\n                        _moveNextMethodIL.Emit(OpCodes.Add);\n                        _moveNextMethodIL.Emit(OpCodes.Stfld, iteratorField);\n\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, counterField);\n                        _moveNextMethodIL.Emit(OpCodes.Stloc, tempCounterLocal);\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldloc, tempCounterLocal);\n                        _moveNextMethodIL.Emit(OpCodes.Ldc_I4_1);\n                        _moveNextMethodIL.Emit(OpCodes.Add);\n                        _moveNextMethodIL.Emit(OpCodes.Stfld, counterField);\n\n                        // loop condition\n                        _moveNextMethodIL.MarkLabel(loopConditionLabel);\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, iteratorField);\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, entityCollection);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, entityCollection.FieldType.FindProperty(\"Count\", _genericICollectionType).GetGetMethod());\n                        _moveNextMethodIL.Emit(OpCodes.Blt, startLoopBodyLabel);\n\n                        // dispose data reader\n                        valueTaskAwaiterField ??= _stateMachineTypeBuilder.DefineField(\"_valueTaskAwaiter\", typeof(ValueTaskAwaiter), FieldAttributes.Private);\n\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, dataReaderField);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, dataReaderField.FieldType.GetMethod(\"DisposeAsync\"));\n\n                        asyncGenerator.WriteAsyncValueTaskMethodAwaiter(_moveNextMethodIL.DeclareLocal(typeof(ValueTask)), valueTaskAwaiterLocal ??= _moveNextMethodIL.DeclareLocal(valueTaskAwaiterField.FieldType), valueTaskAwaiterField);\n\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldnull);\n                        _moveNextMethodIL.Emit(OpCodes.Stfld, dataReaderField);\n                    }\n                    else\n                    {\n                        // Get the result of the command\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, _commandField);\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, _cancellationTokenField);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, _commandField.FieldType.GetMethod(\"ExecuteNonQueryAsync\", new[] { _cancellationTokenField.FieldType }));\n\n                        intTaskAwaiterField ??= _stateMachineTypeBuilder.DefineField(\"_intTaskAwaiter\", typeof(TaskAwaiter<int>), FieldAttributes.Private);\n                        intTaskAwaiterLocal ??= _moveNextMethodIL.DeclareLocal(intTaskAwaiterField.FieldType);\n\n                        asyncGenerator.WriteAsyncMethodAwaiter(typeof(Task<int>), intTaskAwaiterLocal, intTaskAwaiterField);\n\n\n                        _moveNextMethodIL.Emit(OpCodes.Pop);\n                    }\n\n                    if (_loggerField is not null)\n                    {\n                        // log success of insert\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, _loggerField);\n                        _moveNextMethodIL.Emit(OpCodes.Ldc_I4, (int)CommandType.InsertSingle);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, _loggerField.FieldType.GetMethod(\"Invoke\"));\n                    }\n\n                    _moveNextMethodIL.MarkLabel(endOfEntityInsertLabel);\n                }\n            }\n\n            // return the amount of inserted rows\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_1);\n\n            foreach (var entityCollection in entityCollections.Values)\n            {\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, entityCollection);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, entityCollection.FieldType.FindProperty(\"Count\", _genericICollectionType).GetGetMethod());\n                _moveNextMethodIL.Emit(OpCodes.Add);\n            }\n\n            _moveNextMethodIL.Emit(OpCodes.Stloc, insertedCountLocal);\n            _moveNextMethodIL.Emit(OpCodes.Leave, endOfMethodLabel);\n\n            var exceptionLocal = _moveNextMethodIL.DeclareLocal(typeof(Exception));\n\n            _moveNextMethodIL.BeginCatchBlock(exceptionLocal.LocalType);\n            // Set state and return exception\n            _moveNextMethodIL.Emit(OpCodes.Stloc, exceptionLocal);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_S, (sbyte)-2);\n            _moveNextMethodIL.Emit(OpCodes.Stfld, _stateField);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldflda, _methodBuilderField);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, exceptionLocal);\n            _moveNextMethodIL.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetMethod(\"SetException\"));\n            _moveNextMethodIL.Emit(OpCodes.Leave, retOfMethodLabel);\n\n            // End of catch block\n            _moveNextMethodIL.EndExceptionBlock();\n\n            _moveNextMethodIL.MarkLabel(endOfMethodLabel);\n\n            // Set state and return result\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_S, (sbyte)-2);\n            _moveNextMethodIL.Emit(OpCodes.Stfld, _stateField);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldflda, _methodBuilderField);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc, insertedCountLocal);\n            _moveNextMethodIL.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetMethod(\"SetResult\"));\n\n            // End of method\n            _moveNextMethodIL.MarkLabel(retOfMethodLabel);\n            _moveNextMethodIL.Emit(OpCodes.Ret);\n        }\n\n        private void CreateSingleNoRelationNoDbKeysInserter(ILGenerator iLGenerator)\n        {\n            // Check if insert is null\n            var afterRootInsertNullCheck = iLGenerator.DefineLabel();\n\n            iLGenerator.Emit(OpCodes.Ldarg_1);\n            iLGenerator.Emit(OpCodes.Brtrue, afterRootInsertNullCheck);\n\n            // Return from method and assign -1 to the insert count\n            iLGenerator.Emit(OpCodes.Ldc_I4_M1);\n            iLGenerator.Emit(OpCodes.Call, typeof(Task).GetMethod(\"FromResult\", BindingFlags.Public | BindingFlags.Static).MakeGenericMethod(_intType));\n            iLGenerator.Emit(OpCodes.Ret);\n\n            iLGenerator.MarkLabel(afterRootInsertNullCheck);\n\n            // Create command and assign sql command and connection\n            var sqlBuilder = new StringBuilder();\n\n            sqlBuilder.Append(\"INSERT INTO \")\n                      .Append(_rootEntity.TableName)\n                      .Append(\" (\")\n                      .Append(_rootEntity.ColumnListString)\n                      .Append(\") VALUES (\");\n\n            var lastNonReadOnlyIndex = _rootEntity.GetLastRegularColumnsIndex();\n\n            for (var columnIndex = 0; columnIndex <= lastNonReadOnlyIndex; columnIndex++)\n            {\n                var column = _rootEntity.GetColumn(columnIndex);\n\n                if (column.Options.HasFlag(ColumnOptions.ReadOnly))\n                    continue;\n\n                if (column.Options.HasFlag(ColumnOptions.DefaultValue))\n                {\n                    sqlBuilder.Append(\"DEFAULT, \");\n                }\n                else\n                {\n                    sqlBuilder.Append('@')\n                              .Append(column.PropertyInfo.Name)\n                              .Append(\", \");\n                }\n            }\n\n            sqlBuilder.Length -= 2;\n\n            sqlBuilder.Append(\");\");\n\n            var rootEntityLocal = iLGenerator.DeclareLocal(_rootEntity.EntityType);\n\n            iLGenerator.Emit(OpCodes.Ldarg_1);\n            iLGenerator.Emit(OpCodes.Stloc, rootEntityLocal);\n\n            iLGenerator.Emit(OpCodes.Ldarg_0);\n            iLGenerator.Emit(OpCodes.Dup);\n            iLGenerator.Emit(OpCodes.Ldstr, sqlBuilder.ToString());\n            iLGenerator.Emit(OpCodes.Callvirt, typeof(NpgsqlCommand).GetProperty(\"CommandText\").GetSetMethod());\n\n            // Assign parameters to command\n            for (var columnIndex = 0; columnIndex <= lastNonReadOnlyIndex; columnIndex++)\n            {\n                var column = _rootEntity.GetColumn(columnIndex);\n\n                if (column.Options.HasFlag(ColumnOptions.ReadOnly) ||\n                    column.Options.HasFlag(ColumnOptions.DefaultValue))\n                    continue;\n\n                iLGenerator.Emit(OpCodes.Dup);\n                iLGenerator.Emit(OpCodes.Callvirt, typeof(NpgsqlCommand).GetProperty(\"Parameters\", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly).GetGetMethod());\n                WriteNpgsqlParameterFromColumn(iLGenerator, rootEntityLocal, column);\n                iLGenerator.Emit(OpCodes.Callvirt, typeof(NpgsqlParameterCollection).GetMethod(\"Add\", new[] { typeof(NpgsqlParameter) }));\n                iLGenerator.Emit(OpCodes.Pop);\n            }\n\n            // Get the result of the command\n            iLGenerator.Emit(OpCodes.Ldarg_2);\n            iLGenerator.Emit(OpCodes.Callvirt, typeof(NpgsqlCommand).GetMethod(\"ExecuteNonQueryAsync\", new[] { typeof(CancellationToken) }));\n\n            // End of method\n            iLGenerator.Emit(OpCodes.Ret);\n        }\n\n        private void WritePropertyAssigner(ILGenerator ilGenerator, EntityColumn column)\n        {\n            var underlyingType = Nullable.GetUnderlyingType(column.PropertyInfo.PropertyType);\n\n            if (underlyingType is not null)\n            {\n                ilGenerator.Emit(OpCodes.Newobj, column.PropertyInfo.PropertyType.GetConstructor(new[] { underlyingType }));\n            }\n\n            if (column.Options.HasFlag(ColumnOptions.ReadOnly))\n                ilGenerator.Emit(OpCodes.Stfld, column.PropertyInfo.GetBackingField());\n            else\n                ilGenerator.Emit(OpCodes.Callvirt, column.PropertyInfo.GetSetMethod(true));\n        }\n\n        private void WriteNpgsqlParameterFromColumn(ILGenerator ilGenerator, object entityVariable, EntityColumn column, LocalBuilder? iteratorLocal = default)\n        {\n            var underlyingType = Nullable.GetUnderlyingType(column.PropertyInfo.PropertyType);\n\n            var lb = entityVariable as LocalBuilder;\n            var fb = lb is null ? entityVariable as FieldBuilder : default;\n\n            if (lb is null &&\n                fb is null)\n            {\n                throw new ArgumentException(\"The parameter has to be either of type 'FieldBuilder' or 'LocalBuilder'.\", nameof(entityVariable));\n            }\n\n            var stringType = typeof(string);\n\n            if (underlyingType is not null)\n            {\n                var dbNullType = typeof(DBNull);\n\n                var propertyLocal = ilGenerator.DeclareLocal(column.PropertyInfo.PropertyType);\n\n                var defaultRetrieverLabel = ilGenerator.DefineLabel();\n                var afterHasValueLabel = ilGenerator.DefineLabel();\n\n                // Check if property has value\n                if (fb is not null)\n                {\n                    ilGenerator.Emit(OpCodes.Ldarg_0);\n                    ilGenerator.Emit(OpCodes.Ldfld, fb);\n                }\n                else\n                {\n                    ilGenerator.Emit(OpCodes.Ldloc, lb);\n                }\n\n                ilGenerator.Emit(OpCodes.Callvirt, column.PropertyInfo.GetGetMethod());\n                ilGenerator.Emit(OpCodes.Stloc, propertyLocal);\n                ilGenerator.Emit(OpCodes.Ldloca, propertyLocal);\n                ilGenerator.Emit(OpCodes.Call, propertyLocal.LocalType.GetProperty(\"HasValue\").GetGetMethod());\n                ilGenerator.Emit(OpCodes.Brtrue, defaultRetrieverLabel);\n\n                // Nullable retriever\n                ilGenerator.Emit(OpCodes.Ldstr, '@' + column.PropertyInfo.Name);\n\n                if (iteratorLocal is not null)\n                {\n                    ilGenerator.Emit(OpCodes.Ldloca, iteratorLocal);\n                    ilGenerator.Emit(OpCodes.Call, iteratorLocal.LocalType.GetMethod(\"ToString\", Type.EmptyTypes));\n                    ilGenerator.Emit(OpCodes.Call, stringType.GetMethod(\"Concat\", BindingFlags.Public | BindingFlags.Static, null, new[] { stringType, stringType }, null));\n                }\n\n                ilGenerator.Emit(OpCodes.Ldsfld, dbNullType.GetField(\"Value\"));\n                ilGenerator.Emit(OpCodes.Newobj, typeof(NpgsqlParameter<>).MakeGenericType(dbNullType).GetConstructor(new[] { stringType, dbNullType }));\n                ilGenerator.Emit(OpCodes.Br, afterHasValueLabel);\n\n                // Default retriever\n                ilGenerator.MarkLabel(defaultRetrieverLabel);\n\n                ilGenerator.Emit(OpCodes.Ldstr, '@' + column.PropertyInfo.Name);\n\n                if (iteratorLocal is not null)\n                {\n                    ilGenerator.Emit(OpCodes.Ldloca, iteratorLocal);\n                    ilGenerator.Emit(OpCodes.Call, iteratorLocal.LocalType.GetMethod(\"ToString\", Type.EmptyTypes));\n                    ilGenerator.Emit(OpCodes.Call, stringType.GetMethod(\"Concat\", BindingFlags.Public | BindingFlags.Static, null, new[] { stringType, stringType }, null));\n                }\n\n                if (fb is not null)\n                {\n                    ilGenerator.Emit(OpCodes.Ldarg_0);\n                    ilGenerator.Emit(OpCodes.Ldfld, fb);\n                }\n                else\n                {\n                    ilGenerator.Emit(OpCodes.Ldloc, lb);\n                }\n\n                ilGenerator.Emit(OpCodes.Callvirt, column.PropertyInfo.GetGetMethod());\n                ilGenerator.Emit(OpCodes.Stloc, propertyLocal);\n                ilGenerator.Emit(OpCodes.Ldloca, propertyLocal);\n                ilGenerator.Emit(OpCodes.Call, propertyLocal.LocalType.GetProperty(\"Value\").GetGetMethod());\n\n                if (underlyingType.IsEnum &&\n                    !column.Options.HasFlag(ColumnOptions.PostgreEnum))\n                {\n                    underlyingType = Enum.GetUnderlyingType(underlyingType);\n                }\n                else if (typeof(IKey).IsAssignableFrom(underlyingType))\n                {\n                    var keyLocal = ilGenerator.DeclareLocal(underlyingType);\n\n                    var underlyingStronglyTypedKeyType = underlyingType.GetInterface(typeof(IKey<,>).Name).GetGenericArguments()[1];\n\n                    ilGenerator.Emit(OpCodes.Stloc, keyLocal);\n                    ilGenerator.Emit(OpCodes.Ldloca, keyLocal);\n\n                    ilGenerator.Emit(OpCodes.Call, underlyingType.GetCastMethod(underlyingType, underlyingStronglyTypedKeyType));\n\n                    underlyingType = underlyingStronglyTypedKeyType;\n                }\n\n                if (underlyingType == typeof(ulong))\n                {\n                    underlyingType = typeof(long);\n\n                    ilGenerator.Emit(OpCodes.Ldc_I8, long.MinValue);\n                    ilGenerator.Emit(OpCodes.Add);\n                }\n\n                if (column.DbType is null)\n                {\n                    ilGenerator.Emit(OpCodes.Newobj, typeof(NpgsqlParameter<>).MakeGenericType(underlyingType).GetConstructor(new[] { stringType, underlyingType }));\n                }\n                else\n                {\n                    ilGenerator.Emit(OpCodes.Ldc_I4, (int)column.DbType);\n                    ilGenerator.Emit(OpCodes.Call, typeof(NpgsqlParameterExtensions).GetMethod(\"CreateParameter\", BindingFlags.NonPublic | BindingFlags.Static).MakeGenericMethod(underlyingType));\n                }\n\n                ilGenerator.MarkLabel(afterHasValueLabel);\n            }\n            else\n            {\n                ilGenerator.Emit(OpCodes.Ldstr, '@' + column.PropertyInfo.Name);\n\n                if (iteratorLocal is not null)\n                {\n                    ilGenerator.Emit(OpCodes.Ldloca, iteratorLocal);\n                    ilGenerator.Emit(OpCodes.Call, iteratorLocal.LocalType.GetMethod(\"ToString\", Type.EmptyTypes));\n                    ilGenerator.Emit(OpCodes.Call, stringType.GetMethod(\"Concat\", BindingFlags.Public | BindingFlags.Static, null, new[] { stringType, stringType }, null));\n                }\n\n                if (fb is not null)\n                {\n                    ilGenerator.Emit(OpCodes.Ldarg_0);\n                    ilGenerator.Emit(OpCodes.Ldfld, fb);\n                }\n                else\n                {\n                    ilGenerator.Emit(OpCodes.Ldloc, lb);\n                }\n\n                ilGenerator.Emit(OpCodes.Callvirt, column.PropertyInfo.GetGetMethod());\n\n                Type npgsqlType;\n\n                var isUlong = column.PropertyInfo.PropertyType == typeof(ulong);\n\n                if (column.PropertyInfo.PropertyType.IsEnum &&\n                    !column.Options.HasFlag(ColumnOptions.PostgreEnum))\n                {\n                    npgsqlType = Enum.GetUnderlyingType(column.PropertyInfo.PropertyType);\n                }\n                else if (typeof(IKey).IsAssignableFrom(column.PropertyInfo.PropertyType))\n                {\n                    var keyLocal = ilGenerator.DeclareLocal(column.PropertyInfo.PropertyType);\n\n                    npgsqlType = column.PropertyInfo.PropertyType.GetInterface(typeof(IKey<,>).Name).GetGenericArguments()[1];\n\n                    ilGenerator.Emit(OpCodes.Stloc, keyLocal);\n                    ilGenerator.Emit(OpCodes.Ldloca, keyLocal);\n\n                    ilGenerator.Emit(OpCodes.Call, column.PropertyInfo.PropertyType.GetCastMethod(column.PropertyInfo.PropertyType, npgsqlType));\n\n                    if (npgsqlType == typeof(ulong))\n                        isUlong = true;\n                }\n                else\n                {\n                    npgsqlType = column.PropertyInfo.PropertyType;\n                }\n\n                if (isUlong)\n                {\n                    npgsqlType = typeof(long);\n\n                    ilGenerator.Emit(OpCodes.Ldc_I8, long.MinValue);\n                    ilGenerator.Emit(OpCodes.Add);\n                }\n\n                if (column.DbType is null)\n                {\n                    ilGenerator.Emit(OpCodes.Newobj, typeof(NpgsqlParameter<>).MakeGenericType(npgsqlType).GetConstructor(new[] { stringType, npgsqlType }));\n                }\n                else\n                {\n                    ilGenerator.Emit(OpCodes.Ldc_I4, (int)column.DbType);\n                    ilGenerator.Emit(OpCodes.Call, typeof(NpgsqlParameterExtensions).GetMethod(\"CreateParameter\", BindingFlags.NonPublic | BindingFlags.Static).MakeGenericMethod(npgsqlType));\n                }\n            }\n        }\n\n        private class EntitySeprator\n        {\n            private LocalBuilder _entityIdCheckerLocal = null!;\n            private LocalBuilder _firstTimeLocal = null!;\n\n            private readonly ILGenerator _ilGenerator;\n            private readonly TypeBuilder _typeBuilder;\n            private readonly Entity _rootEntity;\n            private readonly EntityRelationHolder[] _entities;\n            private readonly ObjectIDGenerator _reachableEntities;\n            private readonly HashSet<uint> _reachableRelations;\n\n            private readonly HashSet<long> _vistiedEntities;\n            private readonly HashSet<uint> _visitedRelations;\n            private readonly Dictionary<long, FieldBuilder> _entityCollections;\n            private readonly Dictionary<long, EntityRelationHolder> _entityHolders;\n\n            internal EntitySeprator(ILGenerator ilGenerator, TypeBuilder typeBuilder, Entity rootEntity, EntityRelationHolder[] entities, ObjectIDGenerator reachableEntities, HashSet<uint> reachableRelations)\n            {\n                _ilGenerator = ilGenerator;\n                _typeBuilder = typeBuilder;\n                _rootEntity = rootEntity;\n                _entities = entities;\n                _reachableEntities = reachableEntities;\n                _reachableRelations = reachableRelations;\n\n                _vistiedEntities = new HashSet<long>();\n                _visitedRelations = new HashSet<uint>();\n                _entityCollections = new Dictionary<long, FieldBuilder>();\n\n                _entityHolders = new Dictionary<long, EntityRelationHolder>(entities.Length);\n\n                for (var i = 0; i < entities.Length; i++)\n                {\n                    var entity = entities[i];\n\n                    _entityHolders.Add(_reachableEntities.HasId(entity.Entity, out _), entity);\n                }\n            }\n\n            internal Dictionary<long, FieldBuilder> WriteEntitySeperater(FieldBuilder entityInsertField)\n            {\n                if (_rootEntity.Relations is null)\n                    return _entityCollections;\n\n                WriteEntitySetup();\n\n                var startLoopBodyLabel = _ilGenerator.DefineLabel();\n                var loopConditionLabel = _ilGenerator.DefineLabel();\n\n                var iteratorLocal = _ilGenerator.DeclareLocal(typeof(int));\n                var iteratorElementLocal = _ilGenerator.DeclareLocal(_rootEntity.EntityType);\n\n                // Assign 0 to the iterator\n                _ilGenerator.Emit(OpCodes.Ldc_I4_0);\n                _ilGenerator.Emit(OpCodes.Stloc, iteratorLocal);\n                _ilGenerator.Emit(OpCodes.Br, loopConditionLabel);\n\n                // loop body\n                _ilGenerator.MarkLabel(startLoopBodyLabel);\n\n                // iterator\n                _ilGenerator.Emit(OpCodes.Ldarg_0);\n                _ilGenerator.Emit(OpCodes.Ldfld, entityInsertField);\n                _ilGenerator.Emit(OpCodes.Ldloc, iteratorLocal);\n                _ilGenerator.Emit(OpCodes.Callvirt, entityInsertField.FieldType.GetMethod(\"get_Item\"));\n                _ilGenerator.Emit(OpCodes.Stloc, iteratorElementLocal);\n\n                WriteEntitySeperaterBase(_rootEntity, iteratorElementLocal, null, null);\n\n                // loop iterator increment\n                _ilGenerator.Emit(OpCodes.Ldloc, iteratorLocal);\n                _ilGenerator.Emit(OpCodes.Ldc_I4_1);\n                _ilGenerator.Emit(OpCodes.Add);\n                _ilGenerator.Emit(OpCodes.Stloc, iteratorLocal);\n\n                // loop condition\n                _ilGenerator.MarkLabel(loopConditionLabel);\n                _ilGenerator.Emit(OpCodes.Ldloc, iteratorLocal);\n                _ilGenerator.Emit(OpCodes.Ldarg_0);\n                _ilGenerator.Emit(OpCodes.Ldfld, entityInsertField);\n                _ilGenerator.Emit(OpCodes.Callvirt, entityInsertField.FieldType.FindProperty(\"Count\", typeof(ICollection<>)).GetGetMethod());\n                _ilGenerator.Emit(OpCodes.Blt, startLoopBodyLabel);\n\n                return _entityCollections;\n            }\n\n            internal Dictionary<long, FieldBuilder> WriteFlatEntitySeperater(FieldBuilder entityInsertField)\n            {\n                if (_rootEntity.Relations is null)\n                    return _entityCollections;\n\n                WriteEntitySetup();\n\n                var entityInsertLocal = _ilGenerator.DeclareLocal(entityInsertField.FieldType);\n\n                _ilGenerator.Emit(OpCodes.Ldarg_0);\n                _ilGenerator.Emit(OpCodes.Ldfld, entityInsertField);\n                _ilGenerator.Emit(OpCodes.Stloc, entityInsertLocal);\n\n                WriteEntitySeperaterBase(_rootEntity, entityInsertLocal, null, null);\n\n                return _entityCollections;\n            }\n\n            private void WriteEntitySetup()\n            {\n                // instantiate entityCheckerLocal\n                _entityIdCheckerLocal = _ilGenerator.DeclareLocal(typeof(ObjectIDGenerator));\n\n                _ilGenerator.Emit(OpCodes.Newobj, _entityIdCheckerLocal.LocalType.GetConstructor(Type.EmptyTypes));\n                _ilGenerator.Emit(OpCodes.Stloc, _entityIdCheckerLocal);\n\n                // instantiate entityCollections\n                for (var entityIndex = _entities.Length - 1; entityIndex >= 0; entityIndex--)\n                {\n                    var entity = _entities[entityIndex].Entity;\n\n                    if (entity == _rootEntity)\n                        continue;\n\n                    var entityId = _reachableEntities.HasId(entity, out _);\n\n                    var entityCollectionField = _typeBuilder.DefineField(\"_\" + entity.EntityName + \"Collection\", typeof(List<>).MakeGenericType(entity.EntityType), FieldAttributes.Private);\n\n                    _entityCollections.Add(entityId, entityCollectionField);\n\n                    _ilGenerator.Emit(OpCodes.Ldarg_0);\n                    _ilGenerator.Emit(OpCodes.Newobj, entityCollectionField.FieldType.GetConstructor(Type.EmptyTypes));\n                    _ilGenerator.Emit(OpCodes.Stfld, entityCollectionField);\n                }\n\n                _firstTimeLocal = _ilGenerator.DeclareLocal(typeof(bool));\n            }\n\n            private void WriteEntitySeperaterBase(Entity entity, LocalBuilder leftEntityLocal, Entity? lastEntity, LocalBuilder? lastEntityLocal)\n            {\n                var entityId = _reachableEntities.HasId(entity, out _);\n\n                _vistiedEntities.Add(entityId);\n\n                // Check if element is not null\n                var afterSplitLabel = _ilGenerator.DefineLabel();\n\n                _ilGenerator.Emit(OpCodes.Ldloc, leftEntityLocal);\n                _ilGenerator.Emit(OpCodes.Brfalse, afterSplitLabel);\n\n                // Check if element has been visited before\n                _ilGenerator.Emit(OpCodes.Ldloc, _entityIdCheckerLocal);\n                _ilGenerator.Emit(OpCodes.Ldloc, leftEntityLocal);\n                _ilGenerator.Emit(OpCodes.Ldloca, _firstTimeLocal);\n                _ilGenerator.Emit(OpCodes.Callvirt, _entityIdCheckerLocal.LocalType.GetMethod(\"GetId\"));\n                _ilGenerator.Emit(OpCodes.Pop);\n\n                _ilGenerator.Emit(OpCodes.Ldloc, _firstTimeLocal);\n                _ilGenerator.Emit(OpCodes.Brfalse, afterSplitLabel);\n\n                if (lastEntity is not null &&\n                    _entityHolders.TryGetValue(_reachableEntities.HasId(entity, out _), out var entityHolder) &&\n                    entityHolder.DirectAssignedRelation is not null)\n                {\n                    if (entityHolder.DirectAssignedRelation.ForeignKeyLocation == ForeignKeyLocation.Left &&\n                        !lastEntity.HasDbGeneratedPrimaryKey)\n                    {\n                        _ilGenerator.Emit(OpCodes.Ldloc, leftEntityLocal);\n                        _ilGenerator.Emit(OpCodes.Ldloc, lastEntityLocal);\n                        _ilGenerator.Emit(OpCodes.Callvirt, lastEntity.GetPrimaryColumn().PropertyInfo.GetGetMethod());\n                        WritePropertyAssigner(_ilGenerator, entityHolder.DirectAssignedRelation.ForeignKeyColumn);\n                    }\n                    else if (!entity.HasDbGeneratedPrimaryKey)\n                    {\n                        _ilGenerator.Emit(OpCodes.Ldloc, lastEntityLocal);\n                        _ilGenerator.Emit(OpCodes.Ldloc, leftEntityLocal);\n                        _ilGenerator.Emit(OpCodes.Callvirt, entity.GetPrimaryColumn().PropertyInfo.GetGetMethod());\n                        WritePropertyAssigner(_ilGenerator, entityHolder.DirectAssignedRelation.ForeignKeyColumn);\n                    }\n                }\n\n                // Add self to collection\n                if (entity != _rootEntity)\n                {\n                    var entityCollectionField = _entityCollections[entityId];\n\n                    _ilGenerator.Emit(OpCodes.Ldarg_0);\n                    _ilGenerator.Emit(OpCodes.Ldfld, entityCollectionField);\n                    _ilGenerator.Emit(OpCodes.Ldloc, leftEntityLocal);\n                    _ilGenerator.Emit(OpCodes.Callvirt, entityCollectionField.FieldType.GetMethod(\"Add\"));\n                }\n\n                for (var relationIndex = entity.Relations.Count - 1; relationIndex >= 0; relationIndex--)\n                {\n                    var relation = entity.Relations[relationIndex];\n\n                    if (relation.LeftNavigationProperty is null)\n                        continue;\n\n                    entityId = _reachableEntities.HasId(relation.RightEntity, out var isNotReachable);\n\n                    if (isNotReachable ||\n                        _visitedRelations.Contains(relation.RelationId) ||\n                        _vistiedEntities.Contains(entityId) ||\n                        !_reachableRelations.Contains(relation.RelationId))\n                        continue;\n\n                    _visitedRelations.Add(relation.RelationId);\n\n                    // add foreign key to collection\n\n                    if (relation.RelationType is RelationType.ManyToOne or RelationType.OneToOne)\n                    {\n                        var rightEntityLocal = _ilGenerator.DeclareLocal(relation.RightEntity.EntityType);\n\n                        _ilGenerator.Emit(OpCodes.Ldloc, leftEntityLocal);\n                        _ilGenerator.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.GetGetMethod());\n                        _ilGenerator.Emit(OpCodes.Stloc, rightEntityLocal);\n\n                        WriteEntitySeperaterBase(relation.RightEntity, rightEntityLocal, entity, leftEntityLocal);\n                    }\n                    else\n                    {\n                        var startLoopBodyLabel = _ilGenerator.DefineLabel();\n                        var loopConditionLabel = _ilGenerator.DefineLabel();\n                        var afterNullCheckLabel = _ilGenerator.DefineLabel();\n\n                        var iteratorLocal = _ilGenerator.DeclareLocal(typeof(int));\n                        var rightEntityLocal = _ilGenerator.DeclareLocal(relation.RightEntity.EntityType);\n\n                        // Check for entity null\n                        _ilGenerator.Emit(OpCodes.Ldloc, leftEntityLocal);\n                        _ilGenerator.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.GetGetMethod());\n                        _ilGenerator.Emit(OpCodes.Brfalse, afterNullCheckLabel);\n\n                        // Assign 0 to the iterator\n                        _ilGenerator.Emit(OpCodes.Ldc_I4_0);\n                        _ilGenerator.Emit(OpCodes.Stloc, iteratorLocal);\n                        _ilGenerator.Emit(OpCodes.Br, loopConditionLabel);\n\n                        // loop body\n                        _ilGenerator.MarkLabel(startLoopBodyLabel);\n\n                        // iterator\n                        _ilGenerator.Emit(OpCodes.Ldloc, leftEntityLocal);\n                        _ilGenerator.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.GetGetMethod());\n                        _ilGenerator.Emit(OpCodes.Ldloc, iteratorLocal);\n                        _ilGenerator.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.PropertyType.GetMethod(\"get_Item\"));\n                        _ilGenerator.Emit(OpCodes.Stloc, rightEntityLocal);\n\n                        WriteEntitySeperaterBase(relation.RightEntity, rightEntityLocal, entity, leftEntityLocal);\n\n                        // loop iterator increment\n                        _ilGenerator.Emit(OpCodes.Ldloc, iteratorLocal);\n                        _ilGenerator.Emit(OpCodes.Ldc_I4_1);\n                        _ilGenerator.Emit(OpCodes.Add);\n                        _ilGenerator.Emit(OpCodes.Stloc, iteratorLocal);\n\n                        // loop condition\n                        _ilGenerator.MarkLabel(loopConditionLabel);\n                        _ilGenerator.Emit(OpCodes.Ldloc, iteratorLocal);\n                        _ilGenerator.Emit(OpCodes.Ldloc, leftEntityLocal);\n                        _ilGenerator.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.GetGetMethod());\n                        _ilGenerator.Emit(OpCodes.Callvirt, relation.LeftNavigationProperty.PropertyType.FindProperty(\"Count\", typeof(ICollection<>)).GetGetMethod());\n                        _ilGenerator.Emit(OpCodes.Blt, startLoopBodyLabel);\n\n                        _ilGenerator.MarkLabel(afterNullCheckLabel);\n                    }\n                }\n\n                _ilGenerator.MarkLabel(afterSplitLabel);\n            }\n\n            private void WritePropertyAssigner(ILGenerator ilGenerator, EntityColumn column)\n            {\n                var underlyingType = Nullable.GetUnderlyingType(column.PropertyInfo.PropertyType);\n\n                if (underlyingType is not null)\n                {\n                    ilGenerator.Emit(OpCodes.Newobj, column.PropertyInfo.PropertyType.GetConstructor(new[] { underlyingType }));\n                }\n\n                if (column.Options.HasFlag(ColumnOptions.ReadOnly))\n                    ilGenerator.Emit(OpCodes.Stfld, column.PropertyInfo.GetBackingField());\n                else\n                    ilGenerator.Emit(OpCodes.Callvirt, column.PropertyInfo.GetSetMethod(true));\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/Inserter/InsertionSourceCompiler.cs",
    "content": "﻿using System.Runtime.Serialization;\nusing Venflow.Commands;\nusing Venflow.Enums;\nusing Venflow.Modeling;\n\nnamespace Venflow.Dynamic.Inserter\n{\n    internal class InsertionSourceCompiler\n    {\n        internal readonly ObjectIDGenerator VisitedEntityIds;\n        internal readonly HashSet<uint> ReachableRelations;\n\n        private readonly LinkedList<EntityRelationHolder> _entities;\n        private readonly ObjectIDGenerator _processedEntities;\n        private readonly List<EntityRelationHolder> _reachableEntities;\n\n        internal InsertionSourceCompiler()\n        {\n            VisitedEntityIds = new ObjectIDGenerator();\n            ReachableRelations = new HashSet<uint>();\n\n            _entities = new LinkedList<EntityRelationHolder>();\n            _processedEntities = new ObjectIDGenerator();\n            _reachableEntities = new List<EntityRelationHolder>();\n        }\n\n        internal EntityRelationHolder[] GetEntities()\n        {\n            var entities = new EntityRelationHolder[_entities.Count];\n\n            var index = 0;\n\n            for (var entry = _entities.First; entry is not null; entry = entry.Next)\n            {\n                entities[index++] = entry.Value;\n            }\n\n            return entities;\n        }\n\n        internal void CompileFromRoot(Entity entity)\n        {\n            if (entity.Relations is null)\n            {\n                _entities.AddFirst(new EntityRelationHolder(entity));\n\n                return;\n            }\n\n            VisitedEntityIds.GetId(entity, out _);\n            CollectAllReachableEntities(entity, null);\n\n            BaseCompile();\n        }\n\n        internal void CompileFromRelations(Entity entity, IRelationPath rootPath)\n        {\n            VisitedEntityIds.GetId(entity, out _);\n\n            var entityHolder = new EntityRelationHolder(entity);\n\n            _reachableEntities.Add(entityHolder);\n\n\n            if (rootPath is not null)\n            {\n                for (var i = rootPath.TrailingPath.Count - 1; i >= 0; i--)\n                {\n                    var path = rootPath.TrailingPath[i];\n\n                    var relation = path.CurrentRelation;\n\n                    ReachableRelations.Add(relation.RelationId);\n\n                    if (!relation.RightEntity.HasDbGeneratedPrimaryKey)\n                    {\n                        BaseCompileFromRelations(path, relation.Sibiling);\n\n                        continue;\n                    }\n\n                    if (relation.ForeignKeyLocation == ForeignKeyLocation.Left)\n                    {\n                        entityHolder.SelfAssignedRelations.Add(relation);\n                    }\n                    else if (relation.ForeignKeyLocation == ForeignKeyLocation.Right)\n                    {\n                        entityHolder.ForeignAssignedRelations.Add(relation);\n                    }\n\n                    BaseCompileFromRelations(path, null);\n                }\n            }\n\n            BaseCompile();\n        }\n\n        private void BaseCompileFromRelations(IRelationPath relationPath, EntityRelation? toAssign)\n        {\n            var entityHolder = new EntityRelationHolder(relationPath.Entity);\n\n            if (toAssign is not null)\n            {\n                entityHolder.DirectAssignedRelation = toAssign;\n            }\n\n            VisitedEntityIds.GetId(relationPath.Entity, out _);\n            _reachableEntities.Add(entityHolder);\n\n            for (var pathIndex = relationPath.TrailingPath.Count - 1; pathIndex >= 0; pathIndex--)\n            {\n                var path = relationPath.TrailingPath[pathIndex];\n\n                var relation = path.CurrentRelation;\n\n                ReachableRelations.Add(relation.RelationId);\n\n                if (!relation.RightEntity.HasDbGeneratedPrimaryKey)\n                {\n                    BaseCompileFromRelations(path, relation.Sibiling);\n\n                    continue;\n                }\n\n                if (relation.ForeignKeyLocation == ForeignKeyLocation.Left)\n                {\n                    entityHolder.SelfAssignedRelations.Add(relation);\n                }\n                else if (relation.ForeignKeyLocation == ForeignKeyLocation.Right)\n                {\n                    entityHolder.ForeignAssignedRelations.Add(relation);\n                }\n\n                BaseCompileFromRelations(path, null);\n            }\n        }\n\n        private void CollectAllReachableEntities(Entity entity, EntityRelation? toAssign)\n        {\n            var entityHolder = new EntityRelationHolder(entity);\n\n            if (toAssign is not null)\n            {\n                entityHolder.DirectAssignedRelation = toAssign;\n            }\n\n            _reachableEntities.Add(entityHolder);\n\n            for (var relationIndex = entity.Relations!.Count - 1; relationIndex >= 0; relationIndex--)\n            {\n                var relation = entity.Relations[relationIndex];\n\n                if (!relation.RightEntity.HasDbGeneratedPrimaryKey)\n                {\n                    ReachableRelations.Add(relation.RelationId);\n\n                    continue;\n                }\n\n                if (relation.LeftNavigationProperty is null ||\n                    !ReachableRelations.Add(relation.RelationId))\n                    continue;\n\n                if (relation.ForeignKeyLocation == ForeignKeyLocation.Left)\n                {\n                    entityHolder.SelfAssignedRelations.Add(relation);\n                }\n                else if (relation.ForeignKeyLocation == ForeignKeyLocation.Right)\n                {\n                    entityHolder.ForeignAssignedRelations.Add(relation);\n                }\n            }\n\n            for (var relationIndex = entity.Relations.Count - 1; relationIndex >= 0; relationIndex--)\n            {\n                var relation = entity.Relations[relationIndex];\n\n                if (relation.LeftNavigationProperty is null)\n                    continue;\n\n                VisitedEntityIds.GetId(relation.RightEntity, out var newEntity);\n\n                if (newEntity)\n                    CollectAllReachableEntities(relation.RightEntity, relation.Sibiling);\n            }\n        }\n\n        private void BaseCompile()\n        {\n            while (_reachableEntities.Count > 0)\n            {\n                var startReachableCount = _reachableEntities.Count;\n\n                for (var entityIndex = 0; entityIndex < _reachableEntities.Count; entityIndex++)\n                {\n                    var entityHolder = _reachableEntities[entityIndex];\n                    var entity = entityHolder.Entity;\n\n                    if (entity.Relations is not null)\n                    {\n                        var noDirectDependencies = true;\n\n                        for (var relationIndex = entity.Relations.Count - 1; relationIndex >= 0; relationIndex--)\n                        {\n                            var relation = entity.Relations[relationIndex];\n\n                            if (!ReachableRelations.Contains(relation.RelationId))\n                                continue;\n\n                            _processedEntities.HasId(relation.RightEntity, out var newEntity);\n                            VisitedEntityIds.HasId(relation.RightEntity, out var notReachable);\n\n                            if (newEntity &&\n                                !notReachable &&\n                                relation.ForeignKeyLocation == ForeignKeyLocation.Left)\n                            {\n                                noDirectDependencies = false;\n\n                                break;\n                            }\n                        }\n\n\n                        if (!noDirectDependencies)\n                            continue;\n\n                        for (var relationIndex = entity.Relations.Count - 1; relationIndex >= 0; relationIndex--)\n                        {\n                            var relation = entity.Relations[relationIndex];\n\n                            if (!ReachableRelations.Contains(relation.RelationId))\n                                continue;\n\n                            VisitedEntityIds.HasId(relation.RightEntity, out var notReachable);\n\n                            if (notReachable)\n                                continue;\n\n                            _processedEntities.GetId(entity, out _);\n                        }\n                    }\n\n                    _entities.AddLast(entityHolder);\n\n                    _reachableEntities.RemoveAt(entityIndex);\n\n                    entityIndex--;\n                }\n\n                if (startReachableCount == _reachableEntities.Count)\n                {\n                    throw new InvalidOperationException($\"The entities {string.Join(\", \", _reachableEntities.Select(x => \"'\" + x.Entity.EntityName + \"'\"))} create a relation loop which can't be resolved. You can fix this by splitting up your insert into multiple ones. However if you do get this error, please create an issue on GitHub with a reproduceable example.\");\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/Instantiater/DatabaseTableFactory.cs",
    "content": "using System.Reflection.Emit;\nusing Venflow.Modeling;\n\nnamespace Venflow.Dynamic.Instantiater\n{\n    internal static class DatabaseTableFactory\n    {\n        internal static Action<Database, IList<Entity>> CreateInstantiater(Type customDatabaseType, IList<PropertyInfo> tableProperties, IList<Entity> entities)\n        {\n            var databaseType = typeof(Database);\n            var entitiesListType = typeof(IList<Entity>);\n\n            var genericEntityType = typeof(Entity<>);\n\n            var entitiesIndexerMethod = entitiesListType.GetMethod(\"get_Item\")!;\n\n            var instantiaterMethod = TypeFactory.GetDynamicMethod($\"Venflow.Dynamic.Instantiater.{customDatabaseType.Name}Instantiater\", null, new[] { databaseType, entitiesListType });\n\n            var instantiaterMethodIL = instantiaterMethod.GetILGenerator();\n\n            for (var i = 0; i < tableProperties.Count; i++)\n            {\n                var tableProperty = tableProperties[i];\n\n                // Instantiate table property\n                instantiaterMethodIL.Emit(OpCodes.Ldarg_0);\n                instantiaterMethodIL.Emit(OpCodes.Ldarg_0);\n                instantiaterMethodIL.Emit(OpCodes.Ldarg_1);\n                instantiaterMethodIL.Emit(OpCodes.Ldc_I4, i);\n                instantiaterMethodIL.Emit(OpCodes.Callvirt, entitiesIndexerMethod);\n                instantiaterMethodIL.Emit(OpCodes.Newobj, tableProperty.PropertyType.GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new[] { databaseType, genericEntityType.MakeGenericType(entities[i].EntityType) }, null)!);\n                instantiaterMethodIL.Emit(OpCodes.Callvirt, tableProperty.GetSetMethod()!);\n            }\n\n            instantiaterMethodIL.Emit(OpCodes.Ret);\n\n#if NET5_0_OR_GREATER\n            return instantiaterMethod.CreateDelegate<Action<Database, IList<Entity>>>();\n#else\n            return (Action<Database, IList<Entity>>)instantiaterMethod.CreateDelegate(typeof(Action<Database, IList<Entity>>));\n#endif\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/Materializer/MaterializerFactory.cs",
    "content": "using System.Collections.ObjectModel;\nusing Npgsql;\nusing Npgsql.Schema;\nusing Venflow.Commands;\nusing Venflow.Modeling;\n\nnamespace Venflow.Dynamic.Materializer\n{\n    internal class MaterializerFactory<TEntity> where TEntity : class, new()\n    {\n        internal Dictionary<string, SqlExpression> InterpolatedSqlMaterializerCache { get; }\n\n        private readonly Entity<TEntity> _entity;\n        private readonly Dictionary<QueryCacheKey, Delegate> _materializerCache;\n\n        private readonly Dictionary<SqlQueryCacheKey, (Delegate Value, LinkedListNode<ExpirationEntry> ExpirationNode)> _primaryMaterializerCache;\n        private readonly LinkedList<ExpirationEntry> _primaryExpirations;\n\n        private readonly object _materializerLock;\n\n        internal MaterializerFactory(Entity<TEntity> entity)\n        {\n            _entity = entity;\n\n            InterpolatedSqlMaterializerCache = new();\n            _primaryMaterializerCache = new(SqlQueryCacheKeyComparer.Default);\n            _primaryExpirations = new();\n            _materializerCache = new(QueryCacheKeyComparer.Default);\n            _materializerLock = new();\n        }\n\n        internal Func<NpgsqlDataReader, CancellationToken, Task<TReturn>> GetOrCreateMaterializer<TReturn>(RelationBuilderValues? relationBuilderValues, NpgsqlDataReader reader, SqlQueryCacheKey cacheKey) where TReturn : class, new()\n        {\n            lock (_materializerLock)\n            {\n                var timeStamp = DateTimeOffset.UtcNow.ToUnixTimeSeconds();\n\n                Func<NpgsqlDataReader, CancellationToken, Task<TReturn>> materializer;\n\n                if (_primaryMaterializerCache.TryGetValue(cacheKey, out var materializerEntry))\n                {\n                    materializer = (materializerEntry.Value as Func<NpgsqlDataReader, CancellationToken, Task<TReturn>>)!;\n\n                    var expirationEntry = materializerEntry.ExpirationNode;\n\n                    expirationEntry.Value.TimeStamp = timeStamp + VenflowConfiguration.DynamicCacheExpirationTime;\n\n                    _primaryExpirations.Remove(expirationEntry);\n                    _primaryExpirations.AddLast(expirationEntry);\n                }\n                else\n                {\n                    var expirationNode = _primaryExpirations.AddLast(new ExpirationEntry(timeStamp + VenflowConfiguration.DynamicCacheExpirationTime, cacheKey));\n\n                    materializer = GetOrCreateDefaultMaterializer<TReturn>(relationBuilderValues, reader.GetColumnSchema(), cacheKey.IsChangeTracking);\n\n                    _primaryMaterializerCache.Add(cacheKey, (materializer, expirationNode));\n                }\n\n                var node = _primaryExpirations.First;\n\n                if (node is not null &&\n                    timeStamp > node.Value.TimeStamp)\n                {\n                    _primaryExpirations.Remove(node);\n\n                    _primaryMaterializerCache.Remove(node.Value.CacheKey);\n\n                    for (node = node.Next; node is not null && node.Value.TimeStamp < timeStamp; node = node.Next)\n                    {\n                        _primaryExpirations.Remove(node);\n\n                        _primaryMaterializerCache.Remove(node.Value.CacheKey);\n                    }\n                }\n\n                return materializer;\n            }\n        }\n\n        private Func<NpgsqlDataReader, CancellationToken, Task<TReturn>> GetOrCreateDefaultMaterializer<TReturn>(RelationBuilderValues? relationBuilderValues, ReadOnlyCollection<NpgsqlDbColumn> columnSchema, bool changeTracking) where TReturn : class, new()\n        {\n            var cacheKey = new QueryCacheKey(_entity, typeof(TReturn), relationBuilderValues?.GetFlattenedRelations(), columnSchema.AsList(), changeTracking);\n\n            if (_materializerCache.TryGetValue(cacheKey, out var tempMaterializer))\n            {\n                return (tempMaterializer as Func<NpgsqlDataReader, CancellationToken, Task<TReturn>>)!;\n            }\n            else\n            {\n                QueryEntityHolder[] generatedEntities;\n\n                if (relationBuilderValues is not null)\n                {\n                    var sourceCompiler = new MaterializerSourceCompiler(relationBuilderValues);\n\n                    sourceCompiler.Compile(_entity);\n\n                    generatedEntities = sourceCompiler.GenerateSortedEntities();\n                }\n                else\n                {\n                    generatedEntities = new[] { new QueryEntityHolder(_entity, 0) };\n                }\n\n                var columnSchemaSpan = columnSchema.AsSpan();\n\n                var entities = new List<(QueryEntityHolder, List<(EntityColumn, int)>)>();\n                List<(EntityColumn, int)> columns = null!;\n\n                var joinIndex = 1;\n\n                var nextJoin = generatedEntities[0];\n                var currentJoin = generatedEntities[0];\n\n                var nextJoinPKName = _entity.PrimaryColumn?.ColumnName ?? _entity.Columns[0].ColumnName;\n\n                for (var columnIndex = 0; columnIndex < columnSchemaSpan.Length; columnIndex++)\n                {\n                    var column = columnSchemaSpan[columnIndex];\n\n                    if (column.ColumnName == nextJoinPKName)\n                    {\n                        if (columnIndex > 0)\n                            currentJoin = nextJoin;\n\n                        columns = new List<(EntityColumn, int)>();\n\n                        entities.Add((nextJoin, columns));\n\n                        if (relationBuilderValues is not null &&\n                            joinIndex < generatedEntities.Length)\n                        {\n                            nextJoin = generatedEntities[joinIndex];\n                            nextJoinPKName = nextJoin.Entity.GetPrimaryColumn()!.ColumnName;\n\n                            var currentJoinColumnCount = currentJoin.Entity.GetColumnCount();\n\n                            for (var i = currentJoin.Entity.GetRegularColumnOffset(); i < currentJoinColumnCount; i++)\n                            {\n                                var currentJoinColumn = currentJoin.Entity.GetColumn(i);\n\n                                if (currentJoinColumn.ColumnName == nextJoinPKName)\n                                {\n                                    throw new InvalidOperationException($\"The entity '{currentJoin.Entity.EntityName}' defines the column '{currentJoinColumn.ColumnName}' which can't have the same name, as the joining entity's '{nextJoin.Entity.EntityName}' primary key '{nextJoinPKName}'.\");\n                                }\n                            }\n\n                            joinIndex++;\n                        }\n                    }\n\n                    if (!currentJoin.Entity.TryGetColumn(column.ColumnName, out var entityColumn))\n                    {\n                        throw new InvalidOperationException($\"The column '{column.ColumnName}' on entity '{currentJoin.Entity.EntityName}' does not exist.\");\n                    }\n\n                    columns.Add((entityColumn!, column.ColumnOrdinal!.Value));\n                }\n\n                if (relationBuilderValues is not null)\n                {\n                    if (relationBuilderValues.FlattenedPath.Count + 1 > entities.Count)\n                    {\n                        throw new InvalidOperationException(\"You configured more joins than entities returned by the query.\");\n                    }\n                    else if (relationBuilderValues.FlattenedPath.Count + 1 < entities.Count)\n                    {\n                        throw new InvalidOperationException(\"You configured fewer joins than entities returned by the query.\");\n                    }\n                }\n                else if (entities.Count > 1)\n                {\n                    throw new InvalidOperationException(\"The result set contained multiple tables, however the query was configured to only expect one. Try specifying the tables you are joining with JoinWith, while declaring the query.\");\n                }\n\n                var materializer = new MaterializerFactoryCompiler(_entity).CreateMaterializer<TReturn>(entities, changeTracking);\n\n#if NET48\n                _materializerCache.Add(cacheKey, materializer);\n#else\n                _materializerCache.TryAdd(cacheKey, materializer);\n#endif\n\n                return materializer;\n            }\n        }\n        private class ExpirationEntry\n        {\n            internal long TimeStamp;\n\n            internal readonly SqlQueryCacheKey CacheKey;\n\n            internal ExpirationEntry(long timeStamp, SqlQueryCacheKey cacheKey)\n            {\n                TimeStamp = timeStamp;\n                CacheKey = cacheKey;\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/Materializer/MaterializerFactoryCompiler.cs",
    "content": "﻿#pragma warning disable 8602,8604\nusing System.Reflection.Emit;\nusing System.Runtime.CompilerServices;\nusing Npgsql;\nusing Venflow.Dynamic.IL;\nusing Venflow.Dynamic.Proxies;\nusing Venflow.Enums;\nusing Venflow.Modeling;\n\nnamespace Venflow.Dynamic.Materializer\n{\n    internal class MaterializerFactoryCompiler\n    {\n        private FieldBuilder _dataReaderField = null!;\n\n        private FieldBuilder _methodBuilderField = null!;\n        private FieldBuilder _cancellationTokenField = null!;\n        private FieldBuilder _boolTaskAwaiterField = null!;\n        private LocalBuilder _boolTaskAwaiterLocal = null!;\n\n        private LocalBuilder _defaultExceptionLocal = null!;\n\n        private FieldBuilder _stateField = null!;\n        private LocalBuilder _stateLocal = null!;\n        private Type _returnType = null!;\n\n        private readonly TypeBuilder _materializerTypeBuilder;\n        private readonly TypeBuilder _stateMachineTypeBuilder;\n        private readonly MethodBuilder _moveNextMethod;\n        private readonly ILGenerator _moveNextMethodIL;\n\n        private readonly Type _intType = typeof(int);\n        private readonly Type _dataReaderType = typeof(NpgsqlDataReader);\n\n        private readonly Entity _rootEntity;\n\n        internal MaterializerFactoryCompiler(Entity rootEntity)\n        {\n            _materializerTypeBuilder = TypeFactory.GetNewMaterializerBuilder(rootEntity.EntityName,\n                TypeAttributes.Public | TypeAttributes.AutoClass | TypeAttributes.AnsiClass | TypeAttributes.Abstract |\n                TypeAttributes.Sealed | TypeAttributes.BeforeFieldInit);\n\n            _stateMachineTypeBuilder = _materializerTypeBuilder.DefineNestedType(\"StateMachine\",\n                TypeAttributes.NestedPrivate | TypeAttributes.AutoClass | TypeAttributes.AnsiClass |\n                TypeAttributes.Sealed | TypeAttributes.BeforeFieldInit, typeof(ValueType),\n                new[] { typeof(IAsyncStateMachine) });\n\n            _moveNextMethod = _stateMachineTypeBuilder.DefineMethod(\"MoveNext\",\n                 MethodAttributes.Private | MethodAttributes.Final | MethodAttributes.HideBySig |\n                 MethodAttributes.NewSlot | MethodAttributes.Virtual);\n            _moveNextMethod.InitLocals = false;\n\n            _moveNextMethodIL = _moveNextMethod.GetILGenerator();\n\n            _rootEntity = rootEntity;\n        }\n\n\n        internal Func<NpgsqlDataReader, CancellationToken, Task<TReturn>> CreateMaterializer<TReturn>(List<(QueryEntityHolder, List<(EntityColumn, int)>)> entities, bool changeTracking) where TReturn : class, new()\n        {\n            _returnType = typeof(TReturn);\n\n            var isSingleResult = _returnType == _rootEntity.EntityType;\n\n            _stateField = _stateMachineTypeBuilder.DefineField(\"_stateField\", _intType, FieldAttributes.Public);\n            _stateLocal = _moveNextMethodIL.DeclareLocal(_intType);\n\n            _dataReaderField = _stateMachineTypeBuilder.DefineField(\"_stateField\", _dataReaderType, FieldAttributes.Public);\n\n            _methodBuilderField = _stateMachineTypeBuilder.DefineField(\"_methodBuilder\", typeof(AsyncTaskMethodBuilder<>).MakeGenericType(_returnType), FieldAttributes.Public);\n            _cancellationTokenField = _stateMachineTypeBuilder.DefineField(\"_canellationToken\", typeof(CancellationToken), FieldAttributes.Public);\n            _boolTaskAwaiterField = _stateMachineTypeBuilder.DefineField(\"_boolTaskAwaiter\", typeof(TaskAwaiter<bool>), FieldAttributes.Private);\n            _boolTaskAwaiterLocal = _moveNextMethodIL.DeclareLocal(_boolTaskAwaiterField.FieldType);\n\n            _defaultExceptionLocal = _moveNextMethodIL.DeclareLocal(typeof(Exception));\n\n            if (isSingleResult)\n            {\n                if (entities.Count == 1)\n                {\n                    CreateSingleNoRelationMaterializer(entities[0].Item2, changeTracking && _rootEntity.ProxyEntityType is not null);\n                }\n                else\n                {\n                    CreateSingleRelationMaterializer(entities, changeTracking);\n                }\n            }\n            else\n            {\n                if (entities.Count == 1)\n                {\n                    CreateBatchNoRelationMaterializer(entities[0].Item2, changeTracking && _rootEntity.ProxyEntityType is not null);\n                }\n                else\n                {\n                    CreateBatchRelationMaterializer(entities, changeTracking);\n                }\n            }\n\n            _stateMachineTypeBuilder.DefineMethodOverride(_moveNextMethod, typeof(IAsyncStateMachine).GetMethod(\"MoveNext\"));\n\n            var setStateMachineMethod = _stateMachineTypeBuilder.DefineMethod(\"SetStateMachine\",\n                MethodAttributes.Private | MethodAttributes.Final | MethodAttributes.HideBySig |\n                MethodAttributes.NewSlot | MethodAttributes.Virtual, null, new[] { typeof(IAsyncStateMachine) });\n            setStateMachineMethod.InitLocals = false;\n\n            var setStateMachineMethodIL = setStateMachineMethod.GetILGenerator();\n\n            setStateMachineMethodIL.Emit(OpCodes.Ldarg_0);\n            setStateMachineMethodIL.Emit(OpCodes.Ldflda, _methodBuilderField);\n            setStateMachineMethodIL.Emit(OpCodes.Ldarg_1);\n            setStateMachineMethodIL.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetMethod(\"SetStateMachine\"));\n            setStateMachineMethodIL.Emit(OpCodes.Ret);\n\n            _stateMachineTypeBuilder.DefineMethodOverride(setStateMachineMethod, typeof(IAsyncStateMachine).GetMethod(\"SetStateMachine\"));\n\n            var materializeMethod = _materializerTypeBuilder.DefineMethod(\"MaterializeAsync\",\n                MethodAttributes.Public | MethodAttributes.HideBySig | MethodAttributes.Static, typeof(Task<>).MakeGenericType(_returnType),\n                new[] { _dataReaderType, _cancellationTokenField.FieldType });\n            materializeMethod.InitLocals = false;\n\n            materializeMethod.SetCustomAttribute(new CustomAttributeBuilder(\n                typeof(AsyncStateMachineAttribute).GetConstructor(new[] { typeof(Type) }),\n                new[] { _stateMachineTypeBuilder }));\n\n            var materializeMethodIL = materializeMethod.GetILGenerator();\n\n            materializeMethodIL.DeclareLocal(_stateMachineTypeBuilder);\n\n            // Create and execute the StateMachine\n\n            materializeMethodIL.Emit(OpCodes.Ldloca_S, (byte)0);\n            materializeMethodIL.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetMethod(\"Create\", BindingFlags.Public | BindingFlags.Static));\n            materializeMethodIL.Emit(OpCodes.Stfld, _methodBuilderField);\n            materializeMethodIL.Emit(OpCodes.Ldloca_S, (byte)0);\n            materializeMethodIL.Emit(OpCodes.Ldarg_0);\n            materializeMethodIL.Emit(OpCodes.Stfld, _dataReaderField);\n            materializeMethodIL.Emit(OpCodes.Ldloca_S, (byte)0);\n            materializeMethodIL.Emit(OpCodes.Ldarg_1);\n            materializeMethodIL.Emit(OpCodes.Stfld, _cancellationTokenField);\n            materializeMethodIL.Emit(OpCodes.Ldloca_S, (byte)0);\n            materializeMethodIL.Emit(OpCodes.Ldc_I4_M1);\n            materializeMethodIL.Emit(OpCodes.Stfld, _stateField);\n            materializeMethodIL.Emit(OpCodes.Ldloca_S, (byte)0);\n            materializeMethodIL.Emit(OpCodes.Ldflda, _methodBuilderField);\n            materializeMethodIL.Emit(OpCodes.Ldloca_S, (byte)0);\n            materializeMethodIL.Emit(OpCodes.Call,\n               _methodBuilderField.FieldType.GetMethod(\"Start\", BindingFlags.Public | BindingFlags.Instance)\n                    .MakeGenericMethod(_stateMachineTypeBuilder));\n            materializeMethodIL.Emit(OpCodes.Ldloca_S, (byte)0);\n            materializeMethodIL.Emit(OpCodes.Ldflda, _methodBuilderField);\n            materializeMethodIL.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetProperty(\"Task\").GetGetMethod());\n\n            materializeMethodIL.Emit(OpCodes.Ret);\n\n            _stateMachineTypeBuilder.CreateType();\n            var materializerType = _materializerTypeBuilder.CreateType();\n\n            return (Func<NpgsqlDataReader, CancellationToken, Task<TReturn>>)materializerType.GetMethod(\"MaterializeAsync\").CreateDelegate(typeof(Func<NpgsqlDataReader, CancellationToken, Task<TReturn>>));\n        }\n\n        private void CreateSingleNoRelationMaterializer(List<(EntityColumn, int)> dbColumns, bool changeTracking)\n        {\n            var resultLocal = _moveNextMethodIL.DeclareLocal(_returnType);\n\n            var endOfMethodLabel = _moveNextMethodIL.DefineLabel();\n            var endOfCatchLabel = _moveNextMethodIL.DefineLabel();\n\n            // Assign the state field to the state local\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _stateField);\n            _moveNextMethodIL.Emit(OpCodes.Stloc_S, _stateLocal);\n\n            // Start try block\n            _moveNextMethodIL.BeginExceptionBlock();\n\n            // if state zero goto await unsafe\n            _moveNextMethodIL.Emit(OpCodes.Ldloc_S, _stateLocal);\n\n            var switchBuilder = new ILSwitchBuilder(_moveNextMethodIL, 1);\n\n            var asyncGenerator = new ILAsyncGenerator(_moveNextMethodIL, switchBuilder, _methodBuilderField, _stateField, _stateLocal, endOfMethodLabel, _stateMachineTypeBuilder);\n\n            _moveNextMethodIL.Emit(OpCodes.Brfalse, switchBuilder.GetLabels()[0]);\n\n            // if no rows return\n            var afterNoRowsIfBody = _moveNextMethodIL.DefineLabel();\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _dataReaderField);\n            _moveNextMethodIL.Emit(OpCodes.Callvirt, _dataReaderField.FieldType.GetProperty(\"HasRows\").GetGetMethod());\n            _moveNextMethodIL.Emit(OpCodes.Brtrue, afterNoRowsIfBody);\n\n            _moveNextMethodIL.Emit(OpCodes.Ldnull);\n            _moveNextMethodIL.Emit(OpCodes.Stloc, resultLocal);\n            _moveNextMethodIL.Emit(OpCodes.Leave, endOfCatchLabel);\n\n            _moveNextMethodIL.MarkLabel(afterNoRowsIfBody);\n\n            // Call ReadAsync(cancellationToken) on dataReader\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _dataReaderField);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _cancellationTokenField);\n            _moveNextMethodIL.Emit(OpCodes.Callvirt, _dataReaderField.FieldType.GetMethod(\"ReadAsync\", new[] { _cancellationTokenField.FieldType }));\n\n            asyncGenerator.WriteAsyncMethodAwaiter(typeof(Task<bool>), _boolTaskAwaiterLocal, _boolTaskAwaiterField);\n\n            var endOfNoRowIfBody = _moveNextMethodIL.DefineLabel();\n            _moveNextMethodIL.Emit(OpCodes.Brtrue, endOfNoRowIfBody);\n\n            // return null\n            _moveNextMethodIL.Emit(OpCodes.Ldnull);\n            _moveNextMethodIL.Emit(OpCodes.Stloc_S, resultLocal);\n            _moveNextMethodIL.Emit(OpCodes.Leave, endOfCatchLabel);\n\n            _moveNextMethodIL.MarkLabel(endOfNoRowIfBody);\n\n            // create new Entity\n\n            CreateEntity(_rootEntity, dbColumns, changeTracking);\n\n            // return result\n            _moveNextMethodIL.Emit(OpCodes.Stloc_S, resultLocal);\n\n            _moveNextMethodIL.Emit(OpCodes.Leave, endOfCatchLabel);\n\n            // End of try block\n\n            // Start of catch block\n            _moveNextMethodIL.BeginCatchBlock(_defaultExceptionLocal.LocalType);\n\n            // Set state and return exception\n            _moveNextMethodIL.Emit(OpCodes.Stloc_S, _defaultExceptionLocal);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_S, (sbyte)-2);\n            _moveNextMethodIL.Emit(OpCodes.Stfld, _stateField);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldflda, _methodBuilderField);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc_S, _defaultExceptionLocal);\n            _moveNextMethodIL.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetMethod(\"SetException\"));\n            _moveNextMethodIL.Emit(OpCodes.Leave, endOfMethodLabel);\n\n            // End of catch block\n            _moveNextMethodIL.EndExceptionBlock();\n\n            _moveNextMethodIL.MarkLabel(endOfCatchLabel);\n\n            // Set state and return result\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_S, (sbyte)-2);\n            _moveNextMethodIL.Emit(OpCodes.Stfld, _stateField);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldflda, _methodBuilderField);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc_S, resultLocal);\n            _moveNextMethodIL.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetMethod(\"SetResult\"));\n\n            // End of method\n            _moveNextMethodIL.MarkLabel(endOfMethodLabel);\n            _moveNextMethodIL.Emit(OpCodes.Ret);\n        }\n\n        private void CreateSingleRelationMaterializer(List<(QueryEntityHolder, List<(EntityColumn, int)>)> entities, bool changeTracking)\n        {\n            var resultField = _stateMachineTypeBuilder.DefineField(\"_result\", _returnType, FieldAttributes.Private);\n            var resultLocal = _moveNextMethodIL.DeclareLocal(_returnType);\n\n            var endOfMethodLabel = _moveNextMethodIL.DefineLabel();\n            var endOfCatchLabel = _moveNextMethodIL.DefineLabel();\n            var loopBodyLabel = _moveNextMethodIL.DefineLabel();\n            var loopConditionLabel = _moveNextMethodIL.DefineLabel();\n\n            // Assign the state field to the state local\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _stateField);\n            _moveNextMethodIL.Emit(OpCodes.Stloc_S, _stateLocal);\n\n            // Start try block\n            _moveNextMethodIL.BeginExceptionBlock();\n\n            // if state zero goto await unsafe\n\n            _moveNextMethodIL.Emit(OpCodes.Ldloc_S, _stateLocal);\n\n            var switchBuilder = new ILSwitchBuilder(_moveNextMethodIL, 1);\n\n            var asyncGenerator = new ILAsyncGenerator(_moveNextMethodIL, switchBuilder, _methodBuilderField, _stateField, _stateLocal, endOfMethodLabel, _stateMachineTypeBuilder);\n\n            _moveNextMethodIL.Emit(OpCodes.Brfalse, switchBuilder.GetLabels()[0]);\n\n            // if no rows return\n            var afterNoRowsIfBody = _moveNextMethodIL.DefineLabel();\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _dataReaderField);\n            _moveNextMethodIL.Emit(OpCodes.Callvirt, _dataReaderField.FieldType.GetProperty(\"HasRows\").GetGetMethod());\n            _moveNextMethodIL.Emit(OpCodes.Brtrue, afterNoRowsIfBody);\n\n            _moveNextMethodIL.Emit(OpCodes.Ldnull);\n            _moveNextMethodIL.Emit(OpCodes.Stloc, resultLocal);\n            _moveNextMethodIL.Emit(OpCodes.Leave, endOfCatchLabel);\n\n            _moveNextMethodIL.MarkLabel(afterNoRowsIfBody);\n\n            // Create result field instance\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldnull);\n            _moveNextMethodIL.Emit(OpCodes.Stfld, resultField);\n\n            var entityDictionaries = new Dictionary<int, FieldBuilder>(entities.Count - 1);\n            var entityLastTypes = new Dictionary<int, FieldBuilder>(entities.Count - 1);\n\n            var relationDictionaries = new Dictionary<uint, FieldBuilder>(entities.Count - 1);\n            var lastRelationMaps = new Dictionary<uint, FieldBuilder>(entities.Count);\n\n            var dictionaryType = typeof(Dictionary<,>);\n            var hashSetType = typeof(HashSet<>);\n\n            for (var i = 1; i < entities.Count; i++)\n            {\n                var entityHolder = entities[i];\n                var entity = entityHolder.Item1.Entity;\n\n                // Add dictionary field\n                var entityDictionaryField = _stateMachineTypeBuilder.DefineField(\"_\" + entity.EntityName + entityHolder.Item1.Id, dictionaryType.MakeGenericType(entity.GetPrimaryColumn().PropertyInfo.PropertyType, entity.EntityType), FieldAttributes.Private);\n\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Newobj, entityDictionaryField.FieldType.GetConstructor(Type.EmptyTypes));\n                _moveNextMethodIL.Emit(OpCodes.Stfld, entityDictionaryField);\n\n                entityDictionaries.Add(entityHolder.Item1.Id, entityDictionaryField);\n\n                // Add lastEntity field\n\n                var lastEntityField = _stateMachineTypeBuilder.DefineField(\"_last\" + entity.EntityName + entityHolder.Item1.Id, entity.EntityType, FieldAttributes.Private);\n\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldnull);\n                _moveNextMethodIL.Emit(OpCodes.Stfld, lastEntityField);\n\n                entityLastTypes.Add(entityHolder.Item1.Id, lastEntityField);\n\n                for (var relationIndex = 0; relationIndex < entityHolder.Item1.ForeignAssignedRelations.Count; relationIndex++)\n                {\n                    var relation = entityHolder.Item1.ForeignAssignedRelations[relationIndex].Item1;\n\n                    if (relation.RelationType != RelationType.ManyToOne)\n                        continue;\n\n                    // Add relationDictionary field\n\n                    var relationDictionaryName = entity.EntityName + \"_Relation\" + entityHolder.Item1.Id + \"_\" + relation.RelationId;\n\n                    var relationMap = hashSetType.MakeGenericType(relation.RightEntity.GetPrimaryColumn().PropertyInfo.PropertyType);\n\n                    var relationDictionaryField = _stateMachineTypeBuilder.DefineField(\"_\" + relationDictionaryName, dictionaryType.MakeGenericType(entity.GetPrimaryColumn().PropertyInfo.PropertyType, relationMap), FieldAttributes.Private);\n\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Newobj, relationDictionaryField.FieldType.GetConstructor(Type.EmptyTypes));\n                    _moveNextMethodIL.Emit(OpCodes.Stfld, relationDictionaryField);\n\n                    relationDictionaries.Add(relation.RelationId, relationDictionaryField);\n\n                    // Add lastRelationMap field\n\n                    var lastRelationMapField = _stateMachineTypeBuilder.DefineField(\"_last\" + relationDictionaryName + \"_Map\", relationMap, FieldAttributes.Private);\n\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldnull);\n                    _moveNextMethodIL.Emit(OpCodes.Stfld, lastRelationMapField);\n\n                    lastRelationMaps.Add(relation.RelationId, lastRelationMapField);\n                }\n            }\n\n            var primaryEntityHolder = entities[0];\n            var primaryEntity = primaryEntityHolder.Item1.Entity;\n\n            for (var relationIndex = 0; relationIndex < primaryEntityHolder.Item1.ForeignAssignedRelations.Count; relationIndex++)\n            {\n                var relation = primaryEntityHolder.Item1.ForeignAssignedRelations[relationIndex].Item1;\n\n                if (relation.RelationType != RelationType.ManyToOne)\n                    continue;\n\n                // Add lastRelationMap field\n\n                var relationDictionaryName = primaryEntity.EntityName + \"_Relation\" + primaryEntityHolder.Item1.Id + \"_\" + relation.RelationId;\n\n                var relationMap = hashSetType.MakeGenericType(relation.RightEntity.GetPrimaryColumn().PropertyInfo.PropertyType);\n\n                var lastRelationMapField = _stateMachineTypeBuilder.DefineField(\"_last\" + relationDictionaryName + \"_Map\", relationMap, FieldAttributes.Private);\n\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Newobj, lastRelationMapField.FieldType.GetConstructor(Type.EmptyTypes));\n                _moveNextMethodIL.Emit(OpCodes.Stfld, lastRelationMapField);\n\n                lastRelationMaps.Add(relation.RelationId, lastRelationMapField);\n            }\n\n            for (var relationIndex = 0; relationIndex < primaryEntity.Relations.Count; relationIndex++)\n            {\n                var relation = primaryEntity.Relations[relationIndex];\n\n                if (relation.RelationType != RelationType.OneToMany ||\n                    !lastRelationMaps.TryGetValue(relation.RelationId, out var lastRelationMapField))\n                    continue;\n\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Newobj, lastRelationMapField.FieldType.GetConstructor(Type.EmptyTypes));\n                _moveNextMethodIL.Emit(OpCodes.Stfld, lastRelationMapField);\n            }\n\n            // setIsFirstRow to true\n            var isFirstRowField = _stateMachineTypeBuilder.DefineField(\"isFirstRow\", typeof(bool), FieldAttributes.Private);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_1);\n            _moveNextMethodIL.Emit(OpCodes.Stfld, isFirstRowField);\n\n            _moveNextMethodIL.Emit(OpCodes.Br, loopConditionLabel);\n\n            _moveNextMethodIL.MarkLabel(loopBodyLabel);\n            var setNullGhostIL = new ILGhostGenerator();\n\n            // Set result field to null\n            setNullGhostIL.Emit(OpCodes.Ldarg_0);\n            setNullGhostIL.Emit(OpCodes.Ldnull);\n            setNullGhostIL.Emit(OpCodes.Stfld, resultField);\n\n            entityLastTypes.Add(primaryEntityHolder.Item1.Id, resultField);\n\n            // create new Entity\n            // Check if result if first row null\n            var afterEntityGenerationIfBody = _moveNextMethodIL.DefineLabel();\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, isFirstRowField);\n            _moveNextMethodIL.Emit(OpCodes.Brfalse, afterEntityGenerationIfBody);\n\n            // Instantiate the entity\n\n            if (!primaryEntityHolder.Item1.HasRelations)\n            {\n                // Set is first row to false\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                _moveNextMethodIL.Emit(OpCodes.Stfld, isFirstRowField);\n            }\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n\n            CreateEntity(primaryEntity, primaryEntityHolder.Item2, changeTracking && primaryEntity.ProxyEntityType is not null);\n\n            for (var i = primaryEntityHolder.Item1.InitializeNavigations.Count - 1; i >= 0; i--)\n            {\n                var initializeNavigation = primaryEntityHolder.Item1.InitializeNavigations[i];\n\n                _moveNextMethodIL.Emit(OpCodes.Dup);\n                _moveNextMethodIL.Emit(OpCodes.Newobj, typeof(List<>).MakeGenericType(new[] { initializeNavigation.LeftNavigationProperty.PropertyType.GetGenericArguments()[0] }).GetConstructor(Type.EmptyTypes));\n\n                WritePropertyAssigner(_moveNextMethodIL, initializeNavigation.LeftNavigationProperty);\n            }\n\n            // return result\n            _moveNextMethodIL.Emit(OpCodes.Stfld, resultField);\n\n            _moveNextMethodIL.MarkLabel(afterEntityGenerationIfBody);\n\n            var changedLocals = new Dictionary<int, LocalBuilder>(entities.Count);\n\n            for (var entityIndex = 1; entityIndex < entities.Count; entityIndex++)\n            {\n                var entityHolder = entities[entityIndex];\n                var entity = entityHolder.Item1.Entity;\n                var lastEntityField = entityLastTypes[entityHolder.Item1.Id];\n                var entityDictionaryField = entityDictionaries[entityHolder.Item1.Id];\n\n                // create new Entity\n                var primaryDbColumn = entityHolder.Item2[0];\n                var primaryColumn = entityHolder.Item2[0].Item1;\n                var primaryKeyLocal = _moveNextMethodIL.DeclareLocal(primaryColumn.PropertyInfo.PropertyType);\n\n                var endOfIfLabel = _moveNextMethodIL.DefineLabel();\n\n                // Check if lastEntity is the same as the current one\n                if (entityHolder.Item1.RequiresChangedLocal)\n                {\n                    afterEntityGenerationIfBody = _moveNextMethodIL.DefineLabel();\n                }\n\n                if (entityHolder.Item1.RequiresDBNullCheck)\n                {\n                    // Check if column is null\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, _dataReaderField);\n\n                    if (primaryDbColumn.Item2 <= sbyte.MaxValue)\n                        _moveNextMethodIL.Emit(OpCodes.Ldc_I4_S, (sbyte)primaryDbColumn.Item2);\n                    else\n                        _moveNextMethodIL.Emit(OpCodes.Ldc_I4, primaryDbColumn.Item2);\n\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, _dataReaderField.FieldType.GetMethod(\"IsDBNull\"));\n                    _moveNextMethodIL.Emit(OpCodes.Brtrue, endOfIfLabel);\n                }\n\n                // Assign the primary key to the local variable\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, _dataReaderField);\n\n                if (primaryDbColumn.Item2 <= sbyte.MaxValue)\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4_S, (sbyte)primaryDbColumn.Item2);\n                else\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4, primaryDbColumn.Item2);\n\n                WriteColumnMaterializer(_moveNextMethodIL, primaryColumn);\n                _moveNextMethodIL.Emit(OpCodes.Stloc_S, primaryKeyLocal);\n\n                // Check if lastEntity is null\n                var entityGenerationIfBody = _moveNextMethodIL.DefineLabel();\n\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, lastEntityField);\n                _moveNextMethodIL.Emit(OpCodes.Brfalse, entityGenerationIfBody);\n\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, lastEntityField);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, primaryColumn.PropertyInfo.GetGetMethod());\n                _moveNextMethodIL.Emit(OpCodes.Ldloc_S, primaryKeyLocal);\n                WriteInEqualityComparer(primaryColumn.PropertyInfo.PropertyType, endOfIfLabel);\n\n                // Check if the dictionary holds a instance to the current primary key\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, entityDictionaryField);\n                _moveNextMethodIL.Emit(OpCodes.Ldloc_S, primaryKeyLocal);\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldflda, lastEntityField);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, entityDictionaryField.FieldType.GetMethod(\"TryGetValue\"));\n                _moveNextMethodIL.Emit(OpCodes.Brtrue, entityHolder.Item1.RequiresChangedLocal ? afterEntityGenerationIfBody : endOfIfLabel);\n\n                _moveNextMethodIL.MarkLabel(entityGenerationIfBody);\n\n                // Instantiate the entity\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n\n                CreateEntity(entity, entityHolder.Item2, changeTracking && entity.ProxyEntityType is not null, primaryKeyLocal);\n\n                for (var i = entityHolder.Item1.InitializeNavigations.Count - 1; i >= 0; i--)\n                {\n                    var initializeNavigation = entityHolder.Item1.InitializeNavigations[i];\n\n                    _moveNextMethodIL.Emit(OpCodes.Dup);\n                    _moveNextMethodIL.Emit(OpCodes.Newobj, typeof(List<>).MakeGenericType(new[] { initializeNavigation.LeftNavigationProperty.PropertyType.GetGenericArguments()[0] }).GetConstructor(Type.EmptyTypes));\n\n                    WritePropertyAssigner(_moveNextMethodIL, initializeNavigation.LeftNavigationProperty);\n                }\n\n                _moveNextMethodIL.Emit(OpCodes.Stfld, lastEntityField);\n\n                // return result\n\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, entityDictionaryField);\n                _moveNextMethodIL.Emit(OpCodes.Ldloc_S, primaryKeyLocal);\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, lastEntityField);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, entityDictionaryField.FieldType.GetMethod(\"Add\"));\n\n                if (entityHolder.Item1.RequiresChangedLocal)\n                {\n                    if (entity.Relations is not null)\n                    {\n                        var afterElseLabel = _moveNextMethodIL.DefineLabel();\n\n                        for (var relationIndex = 0; relationIndex < entity.Relations.Count; relationIndex++)\n                        {\n                            var relation = entity.Relations[relationIndex];\n\n                            if (relation.RelationType != RelationType.OneToMany ||\n                                !relationDictionaries.TryGetValue(relation.RelationId, out var relationDictionaryField))\n                                continue;\n\n                            var lastRelationMapField = lastRelationMaps[relation.RelationId];\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Newobj, lastRelationMapField.FieldType.GetConstructor(Type.EmptyTypes));\n                            _moveNextMethodIL.Emit(OpCodes.Stfld, lastRelationMapField);\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, relationDictionaryField);\n                            _moveNextMethodIL.Emit(OpCodes.Ldloc, primaryKeyLocal);\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastRelationMapField);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, relationDictionaryField.FieldType.GetMethod(\"Add\"));\n                        }\n\n                        _moveNextMethodIL.Emit(OpCodes.Br, afterElseLabel);\n\n                        _moveNextMethodIL.MarkLabel(afterEntityGenerationIfBody);\n\n                        for (var relationIndex = 0; relationIndex < entity.Relations.Count; relationIndex++)\n                        {\n                            var relation = entity.Relations[relationIndex];\n\n                            if (relation.RelationType != RelationType.OneToMany ||\n                                !lastRelationMaps.TryGetValue(relation.RelationId, out var lastRelationMap))\n                                continue;\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldnull);\n                            _moveNextMethodIL.Emit(OpCodes.Stfld, lastRelationMap);\n                        }\n\n                        _moveNextMethodIL.MarkLabel(afterElseLabel);\n                    }\n                    else\n                    {\n                        _moveNextMethodIL.MarkLabel(afterEntityGenerationIfBody);\n                    }\n\n                    var hasChangedLocal = _moveNextMethodIL.DeclareLocal(typeof(bool));\n                    changedLocals.Add(entityHolder.Item1.Id, hasChangedLocal);\n\n                    // set entityChanged to true\n                    var afterChangedLocalToFalseLabel = _moveNextMethodIL.DefineLabel();\n\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4_1);\n                    _moveNextMethodIL.Emit(OpCodes.Stloc_S, hasChangedLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Br, afterChangedLocalToFalseLabel);\n\n                    _moveNextMethodIL.MarkLabel(endOfIfLabel);\n\n                    // set HasChanged to false\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                    _moveNextMethodIL.Emit(OpCodes.Stloc_S, hasChangedLocal);\n\n                    _moveNextMethodIL.MarkLabel(afterChangedLocalToFalseLabel);\n                }\n                else\n                {\n                    _moveNextMethodIL.MarkLabel(endOfIfLabel);\n                }\n\n                // Set entity dictionary to null\n                setNullGhostIL.Emit(OpCodes.Ldarg_0);\n                setNullGhostIL.Emit(OpCodes.Ldnull);\n                setNullGhostIL.Emit(OpCodes.Stfld, entityDictionaryField);\n\n                // Set lastEntity to null\n                setNullGhostIL.Emit(OpCodes.Ldarg_0);\n                setNullGhostIL.Emit(OpCodes.Ldnull);\n                setNullGhostIL.Emit(OpCodes.Stfld, lastEntityField);\n            }\n\n            if (primaryEntityHolder.Item1.HasRelations)\n            {\n                // Check if first row\n                var afterAllLateAssignmentLabel = _moveNextMethodIL.DefineLabel();\n\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, isFirstRowField);\n                _moveNextMethodIL.Emit(OpCodes.Brfalse, afterAllLateAssignmentLabel);\n\n                // Set is first row to false\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                _moveNextMethodIL.Emit(OpCodes.Stfld, isFirstRowField);\n\n                if (primaryEntityHolder.Item1.ForeignAssignedRelations.Count > 0)\n                {\n                    for (var i = primaryEntityHolder.Item1.ForeignAssignedRelations.Count - 1; i >= 0; i--)\n                    {\n                        var assigningRelation = primaryEntityHolder.Item1.ForeignAssignedRelations[i];\n\n                        var lastRightEntityField = entityLastTypes[assigningRelation.Item2.Id];\n                        var hasRightEntityChangedLocal = changedLocals[assigningRelation.Item2.Id];\n\n                        var relation = assigningRelation.Item1;\n\n                        var lastRelationMapField = lastRelationMaps[relation.RelationId];\n\n                        var afterLateAssignmentLabel = _moveNextMethodIL.DefineLabel();\n\n                        _moveNextMethodIL.Emit(OpCodes.Ldloc_S, hasRightEntityChangedLocal);\n                        _moveNextMethodIL.Emit(OpCodes.Brfalse, afterLateAssignmentLabel);\n\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, lastRelationMapField);\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, resultField);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftEntity.GetPrimaryColumn().PropertyInfo.GetGetMethod());\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, lastRelationMapField.FieldType.GetMethod(\"Add\"));\n                        _moveNextMethodIL.Emit(OpCodes.Brfalse, afterLateAssignmentLabel);\n\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, lastRightEntityField);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.RightNavigationProperty.GetGetMethod());\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, resultField);\n                        _moveNextMethodIL.Emit(OpCodes.Callvirt, typeof(ICollection<>).MakeGenericType(relation.RightNavigationProperty.PropertyType.GetGenericArguments()[0]).GetMethod(\"Add\"));\n\n                        _moveNextMethodIL.MarkLabel(afterLateAssignmentLabel);\n                    }\n                }\n\n                if (primaryEntityHolder.Item1.SelfAssignedRelations.Count > 0)\n                {\n                    for (var i = primaryEntityHolder.Item1.SelfAssignedRelations.Count - 1; i >= 0; i--)\n                    {\n                        var assigningRelation = primaryEntityHolder.Item1.SelfAssignedRelations[i];\n\n                        var lastRightEntity = entityLastTypes[assigningRelation.Item2.Id];\n\n                        var relation = assigningRelation.Item1;\n\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, resultField);\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, lastRightEntity);\n                        WritePropertyAssigner(_moveNextMethodIL, relation.LeftNavigationProperty);\n                    }\n                }\n\n                _moveNextMethodIL.MarkLabel(afterAllLateAssignmentLabel);\n            }\n\n            for (var entityIndex = 1; entityIndex < entities.Count; entityIndex++)\n            {\n                var entityHolder = entities[entityIndex].Item1;\n\n                if (!entityHolder.HasRelations)\n                    continue;\n\n                // Check if entityChanged\n                var hasLeftEntityChangedLocal = changedLocals[entityHolder.Id];\n\n                var lastLeftEntity = entityLastTypes[entityHolder.Id];\n\n                if (entityHolder.ForeignAssignedRelations.Count > 0)\n                {\n                    for (var i = entityHolder.ForeignAssignedRelations.Count - 1; i >= 0; i--)\n                    {\n                        var assigningRelation = entityHolder.ForeignAssignedRelations[i];\n\n                        var relation = assigningRelation.Item1;\n                        var lastRightEntityField = entityLastTypes[assigningRelation.Item2.Id];\n\n                        var relationDictionaryField = relationDictionaries[relation.RelationId];\n                        var lastRelationMapField = lastRelationMaps[relation.RelationId];\n\n                        if (assigningRelation.Item2.Id == primaryEntityHolder.Item1.Id || entityHolder.RequiresDBNullCheck)\n                        {\n                            var afterLateAssignmentLabel = _moveNextMethodIL.DefineLabel();\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldloc_S, hasLeftEntityChangedLocal);\n                            _moveNextMethodIL.Emit(OpCodes.Brfalse, afterLateAssignmentLabel);\n\n                            var afterIfLabel = _moveNextMethodIL.DefineLabel();\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastRelationMapField);\n                            _moveNextMethodIL.Emit(OpCodes.Brtrue, afterIfLabel);\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, relationDictionaryField);\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastRightEntityField);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.RightEntity.GetPrimaryColumn().PropertyInfo.GetGetMethod());\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, relationDictionaryField.FieldType.GetMethod(\"get_Item\"));\n                            _moveNextMethodIL.Emit(OpCodes.Stfld, lastRelationMapField);\n\n                            _moveNextMethodIL.MarkLabel(afterIfLabel);\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastRelationMapField);\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastLeftEntity);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftEntity.GetPrimaryColumn().PropertyInfo.GetGetMethod());\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, lastRelationMapField.FieldType.GetMethod(\"Add\"));\n                            _moveNextMethodIL.Emit(OpCodes.Brfalse, afterLateAssignmentLabel);\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastRightEntityField);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.RightNavigationProperty.GetGetMethod());\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastLeftEntity);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, typeof(ICollection<>).MakeGenericType(relation.RightNavigationProperty.PropertyType.GetGenericArguments()[0]).GetMethod(\"Add\"));\n                            _moveNextMethodIL.MarkLabel(afterLateAssignmentLabel);\n                        }\n                        else\n                        {\n                            var hasRightEntityChangedLocal = changedLocals[assigningRelation.Item2.Id];\n\n                            var afterLateAssignmentLabel = _moveNextMethodIL.DefineLabel();\n                            var oneToManyAssignmentLabel = _moveNextMethodIL.DefineLabel();\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldloc_S, hasLeftEntityChangedLocal);\n                            _moveNextMethodIL.Emit(OpCodes.Brtrue, oneToManyAssignmentLabel);\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldloc_S, hasRightEntityChangedLocal);\n                            _moveNextMethodIL.Emit(OpCodes.Brfalse, afterLateAssignmentLabel);\n\n                            _moveNextMethodIL.MarkLabel(oneToManyAssignmentLabel);\n\n                            var afterIfLabel = _moveNextMethodIL.DefineLabel();\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastRelationMapField);\n                            _moveNextMethodIL.Emit(OpCodes.Brtrue, afterIfLabel);\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, relationDictionaryField);\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastRightEntityField);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.RightEntity.GetPrimaryColumn().PropertyInfo.GetGetMethod());\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, relationDictionaryField.FieldType.GetMethod(\"get_Item\"));\n                            _moveNextMethodIL.Emit(OpCodes.Stfld, lastRelationMapField);\n\n                            _moveNextMethodIL.MarkLabel(afterIfLabel);\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastRelationMapField);\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastLeftEntity);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftEntity.GetPrimaryColumn().PropertyInfo.GetGetMethod());\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, lastRelationMapField.FieldType.GetMethod(\"Add\"));\n                            _moveNextMethodIL.Emit(OpCodes.Brfalse, afterLateAssignmentLabel);\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastRightEntityField);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.RightNavigationProperty.GetGetMethod());\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastLeftEntity);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, typeof(ICollection<>).MakeGenericType(relation.RightNavigationProperty.PropertyType.GetGenericArguments()[0]).GetMethod(\"Add\"));\n\n                            _moveNextMethodIL.MarkLabel(afterLateAssignmentLabel);\n                        }\n                    }\n                }\n\n                if (entityHolder.SelfAssignedRelations.Count > 0)\n                {\n                    var afterLateAssignmentLabel = _moveNextMethodIL.DefineLabel();\n\n                    _moveNextMethodIL.Emit(OpCodes.Ldloc_S, hasLeftEntityChangedLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Brfalse, afterLateAssignmentLabel);\n\n                    for (var i = entityHolder.SelfAssignedRelations.Count - 1; i >= 0; i--)\n                    {\n                        var assigningRelation = entityHolder.SelfAssignedRelations[i];\n\n                        var lastRightEntity = entityLastTypes[assigningRelation.Item2.Id];\n\n                        var relation = assigningRelation.Item1;\n\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, lastLeftEntity);\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, lastRightEntity);\n                        WritePropertyAssigner(_moveNextMethodIL, relation.LeftNavigationProperty);\n                    }\n\n                    _moveNextMethodIL.MarkLabel(afterLateAssignmentLabel);\n                }\n            }\n\n            _moveNextMethodIL.MarkLabel(loopConditionLabel);\n\n            // Call ReadAsync(cancellationToken) on dataReader\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _dataReaderField);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _cancellationTokenField);\n            _moveNextMethodIL.Emit(OpCodes.Callvirt, _dataReaderField.FieldType.GetMethod(\"ReadAsync\", new[] { _cancellationTokenField.FieldType }));\n\n            asyncGenerator.WriteAsyncMethodAwaiter(typeof(Task<bool>), _boolTaskAwaiterLocal, _boolTaskAwaiterField);\n\n            _moveNextMethodIL.Emit(OpCodes.Brtrue, loopBodyLabel);\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, resultField);\n            _moveNextMethodIL.Emit(OpCodes.Stloc_S, resultLocal);\n            _moveNextMethodIL.Emit(OpCodes.Leave, endOfCatchLabel);\n\n            // End of try block\n\n            // Start of catch block\n            _moveNextMethodIL.BeginCatchBlock(_defaultExceptionLocal.LocalType);\n\n            // Set state and return exception\n            _moveNextMethodIL.Emit(OpCodes.Stloc_S, _defaultExceptionLocal);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_S, (sbyte)-2);\n            _moveNextMethodIL.Emit(OpCodes.Stfld, _stateField);\n\n            setNullGhostIL.WriteIL(_moveNextMethodIL);\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldflda, _methodBuilderField);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc_S, _defaultExceptionLocal);\n            _moveNextMethodIL.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetMethod(\"SetException\"));\n            _moveNextMethodIL.Emit(OpCodes.Leave, endOfMethodLabel);\n\n            // End of catch block\n            _moveNextMethodIL.EndExceptionBlock();\n\n            _moveNextMethodIL.MarkLabel(endOfCatchLabel);\n\n            // Set state and return result\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_S, (sbyte)-2);\n            _moveNextMethodIL.Emit(OpCodes.Stfld, _stateField);\n            setNullGhostIL.WriteIL(_moveNextMethodIL);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldflda, _methodBuilderField);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc_S, resultLocal);\n            _moveNextMethodIL.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetMethod(\"SetResult\"));\n\n            // End of method\n            _moveNextMethodIL.MarkLabel(endOfMethodLabel);\n            _moveNextMethodIL.Emit(OpCodes.Ret);\n        }\n\n        private void CreateBatchNoRelationMaterializer(List<(EntityColumn, int)> dbColumns, bool changeTracking)\n        {\n            var resultField = _stateMachineTypeBuilder.DefineField(\"_result\", _returnType, FieldAttributes.Private);\n            var resultLocal = _moveNextMethodIL.DeclareLocal(_returnType);\n\n            var endOfMethodLabel = _moveNextMethodIL.DefineLabel();\n            var endOfCatchLabel = _moveNextMethodIL.DefineLabel();\n            var loopBodyLabel = _moveNextMethodIL.DefineLabel();\n            var loopConditionLabel = _moveNextMethodIL.DefineLabel();\n\n            // Assign the state field to the state local\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _stateField);\n            _moveNextMethodIL.Emit(OpCodes.Stloc_S, _stateLocal);\n\n            // Start try block\n            _moveNextMethodIL.BeginExceptionBlock();\n\n            _moveNextMethodIL.Emit(OpCodes.Ldloc_S, _stateLocal);\n\n            var switchBuilder = new ILSwitchBuilder(_moveNextMethodIL, 1);\n\n            var asyncGenerator = new ILAsyncGenerator(_moveNextMethodIL, switchBuilder, _methodBuilderField, _stateField, _stateLocal, endOfMethodLabel, _stateMachineTypeBuilder);\n\n            _moveNextMethodIL.Emit(OpCodes.Brfalse, switchBuilder.GetLabels()[0]);\n\n            // Create result field instance\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_4);\n            _moveNextMethodIL.Emit(OpCodes.Newobj, resultLocal.LocalType.GetConstructor(new[] { typeof(int) }));\n            _moveNextMethodIL.Emit(OpCodes.Stfld, resultField);\n\n            // if no rows return\n            var afterNoRowsIfBody = _moveNextMethodIL.DefineLabel();\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _dataReaderField);\n            _moveNextMethodIL.Emit(OpCodes.Callvirt, _dataReaderField.FieldType.GetProperty(\"HasRows\").GetGetMethod());\n            _moveNextMethodIL.Emit(OpCodes.Brtrue, afterNoRowsIfBody);\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, resultField);\n            _moveNextMethodIL.Emit(OpCodes.Stloc, resultLocal);\n            _moveNextMethodIL.Emit(OpCodes.Leave, endOfCatchLabel);\n\n            _moveNextMethodIL.MarkLabel(afterNoRowsIfBody);\n\n            _moveNextMethodIL.Emit(OpCodes.Br, loopConditionLabel);\n\n            _moveNextMethodIL.MarkLabel(loopBodyLabel);\n\n            // create new Entity\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, resultField);\n\n            CreateEntity(_rootEntity, dbColumns, changeTracking);\n\n            // return result\n\n            _moveNextMethodIL.Emit(OpCodes.Callvirt, resultField.FieldType.GetMethod(\"Add\"));\n\n            _moveNextMethodIL.MarkLabel(loopConditionLabel);\n\n            // Call ReadAsync(cancellationToken) on dataReader\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _dataReaderField);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _cancellationTokenField);\n            _moveNextMethodIL.Emit(OpCodes.Callvirt, _dataReaderField.FieldType.GetMethod(\"ReadAsync\", new[] { _cancellationTokenField.FieldType }));\n\n            asyncGenerator.WriteAsyncMethodAwaiter(typeof(Task<bool>), _boolTaskAwaiterLocal, _boolTaskAwaiterField);\n\n            _moveNextMethodIL.Emit(OpCodes.Brtrue, loopBodyLabel);\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, resultField);\n            _moveNextMethodIL.Emit(OpCodes.Stloc_S, resultLocal);\n            _moveNextMethodIL.Emit(OpCodes.Leave, endOfCatchLabel);\n\n            // End of try block\n\n            // Start of catch block\n            _moveNextMethodIL.BeginCatchBlock(_defaultExceptionLocal.LocalType);\n\n            // Set state and return exception\n            _moveNextMethodIL.Emit(OpCodes.Stloc_S, _defaultExceptionLocal);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_S, (sbyte)-2);\n            _moveNextMethodIL.Emit(OpCodes.Stfld, _stateField);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldnull);\n            _moveNextMethodIL.Emit(OpCodes.Stfld, resultField);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldflda, _methodBuilderField);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc_S, _defaultExceptionLocal);\n            _moveNextMethodIL.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetMethod(\"SetException\"));\n            _moveNextMethodIL.Emit(OpCodes.Leave, endOfMethodLabel);\n\n            // End of catch block\n            _moveNextMethodIL.EndExceptionBlock();\n\n            _moveNextMethodIL.MarkLabel(endOfCatchLabel);\n\n            // Set state and return result\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_S, (sbyte)-2);\n            _moveNextMethodIL.Emit(OpCodes.Stfld, _stateField);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldnull);\n            _moveNextMethodIL.Emit(OpCodes.Stfld, resultField);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldflda, _methodBuilderField);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc_S, resultLocal);\n            _moveNextMethodIL.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetMethod(\"SetResult\"));\n\n            // End of method\n            _moveNextMethodIL.MarkLabel(endOfMethodLabel);\n            _moveNextMethodIL.Emit(OpCodes.Ret);\n        }\n\n        private void CreateBatchRelationMaterializer(List<(QueryEntityHolder, List<(EntityColumn, int)>)> entities, bool changeTracking)\n        {\n            var resultField = _stateMachineTypeBuilder.DefineField(\"_result\", _returnType, FieldAttributes.Private);\n            var resultLocal = _moveNextMethodIL.DeclareLocal(_returnType);\n\n            var endOfMethodLabel = _moveNextMethodIL.DefineLabel();\n            var endOfCatchLabel = _moveNextMethodIL.DefineLabel();\n            var loopBodyLabel = _moveNextMethodIL.DefineLabel();\n            var loopConditionLabel = _moveNextMethodIL.DefineLabel();\n\n            // Assign the state field to the state local\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _stateField);\n            _moveNextMethodIL.Emit(OpCodes.Stloc_S, _stateLocal);\n\n            // Start try block\n            _moveNextMethodIL.BeginExceptionBlock();\n\n            _moveNextMethodIL.Emit(OpCodes.Ldloc_S, _stateLocal);\n\n            var switchBuilder = new ILSwitchBuilder(_moveNextMethodIL, 1);\n\n            var asyncGenerator = new ILAsyncGenerator(_moveNextMethodIL, switchBuilder, _methodBuilderField, _stateField, _stateLocal, endOfMethodLabel, _stateMachineTypeBuilder);\n\n            _moveNextMethodIL.Emit(OpCodes.Brfalse, switchBuilder.GetLabels()[0]);\n\n            // Create result field instance\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_4);\n            _moveNextMethodIL.Emit(OpCodes.Newobj, resultLocal.LocalType.GetConstructor(new[] { typeof(int) }));\n            _moveNextMethodIL.Emit(OpCodes.Stfld, resultField);\n\n            // if no rows return\n            var afterNoRowsIfBody = _moveNextMethodIL.DefineLabel();\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _dataReaderField);\n            _moveNextMethodIL.Emit(OpCodes.Callvirt, _dataReaderField.FieldType.GetProperty(\"HasRows\").GetGetMethod());\n            _moveNextMethodIL.Emit(OpCodes.Brtrue, afterNoRowsIfBody);\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, resultField);\n            _moveNextMethodIL.Emit(OpCodes.Stloc, resultLocal);\n            _moveNextMethodIL.Emit(OpCodes.Leave, endOfCatchLabel);\n\n            _moveNextMethodIL.MarkLabel(afterNoRowsIfBody);\n\n            var entityDictionaries = new Dictionary<int, FieldBuilder>(entities.Count);\n            var entityLastTypes = new Dictionary<int, FieldBuilder>(entities.Count);\n\n            var relationDictionaries = new Dictionary<uint, FieldBuilder>(entities.Count);\n            var lastRelationMaps = new Dictionary<uint, FieldBuilder>(entities.Count);\n\n            var dictionaryType = typeof(Dictionary<,>);\n            var hashSetType = typeof(HashSet<>);\n\n            for (var entityIndex = entities.Count - 1; entityIndex >= 0; entityIndex--)\n            {\n                var entityHolder = entities[entityIndex];\n                var entity = entityHolder.Item1.Entity;\n\n                // Add dictionary field\n                var entityDictionaryField = _stateMachineTypeBuilder.DefineField(\"_\" + entity.EntityName + entityHolder.Item1.Id, dictionaryType.MakeGenericType(entity.GetPrimaryColumn().PropertyInfo.PropertyType, entity.EntityType), FieldAttributes.Private);\n\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Newobj, entityDictionaryField.FieldType.GetConstructor(Type.EmptyTypes));\n                _moveNextMethodIL.Emit(OpCodes.Stfld, entityDictionaryField);\n\n                entityDictionaries.Add(entityHolder.Item1.Id, entityDictionaryField);\n\n                // Add lastEntity field\n\n                var lastEntityField = _stateMachineTypeBuilder.DefineField(\"_last\" + entity.EntityName + entityHolder.Item1.Id, entity.EntityType, FieldAttributes.Private);\n\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldnull);\n                _moveNextMethodIL.Emit(OpCodes.Stfld, lastEntityField);\n\n                entityLastTypes.Add(entityHolder.Item1.Id, lastEntityField);\n\n                for (var relationIndex = 0; relationIndex < entityHolder.Item1.ForeignAssignedRelations.Count; relationIndex++)\n                {\n                    var relation = entityHolder.Item1.ForeignAssignedRelations[relationIndex].Item1;\n\n                    if (relation.RelationType != RelationType.ManyToOne)\n                        continue;\n\n                    // Add relationDictionary field\n\n                    var relationDictionaryName = entity.EntityName + \"_Relation\" + entityHolder.Item1.Id + \"_\" + relation.RelationId;\n\n                    var relationMap = hashSetType.MakeGenericType(relation.RightEntity.GetPrimaryColumn().PropertyInfo.PropertyType);\n\n                    var relationDictionaryField = _stateMachineTypeBuilder.DefineField(\"_\" + relationDictionaryName, dictionaryType.MakeGenericType(entity.GetPrimaryColumn().PropertyInfo.PropertyType, relationMap), FieldAttributes.Private);\n\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Newobj, relationDictionaryField.FieldType.GetConstructor(Type.EmptyTypes));\n                    _moveNextMethodIL.Emit(OpCodes.Stfld, relationDictionaryField);\n\n                    relationDictionaries.Add(relation.RelationId, relationDictionaryField);\n\n                    // Add lastRelationMap field\n\n                    var lastRelationMapField = _stateMachineTypeBuilder.DefineField(\"_last\" + relationDictionaryName + \"_Map\", relationMap, FieldAttributes.Private);\n\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldnull);\n                    _moveNextMethodIL.Emit(OpCodes.Stfld, lastRelationMapField);\n\n                    lastRelationMaps.Add(relation.RelationId, lastRelationMapField);\n                }\n            }\n\n            _moveNextMethodIL.Emit(OpCodes.Br, loopConditionLabel);\n\n            _moveNextMethodIL.MarkLabel(loopBodyLabel);\n            var setNullGhostIL = new ILGhostGenerator();\n\n            // Set result field to null\n            setNullGhostIL.Emit(OpCodes.Ldarg_0);\n            setNullGhostIL.Emit(OpCodes.Ldnull);\n            setNullGhostIL.Emit(OpCodes.Stfld, resultField);\n\n            var changedLocals = new Dictionary<int, LocalBuilder>(entities.Count);\n\n            for (var entityIndex = 0; entityIndex < entities.Count; entityIndex++)\n            {\n                var entityHolder = entities[entityIndex];\n\n                var entity = entityHolder.Item1.Entity;\n                var lastEntityField = entityLastTypes[entityHolder.Item1.Id];\n                var entityDictionaryField = entityDictionaries[entityHolder.Item1.Id];\n\n                // create new Entity\n                var primaryDbColumn = entityHolder.Item2[0];\n                var primaryColumn = entityHolder.Item2[0].Item1;\n                var primaryKeyLocal = _moveNextMethodIL.DeclareLocal(primaryColumn.PropertyInfo.PropertyType);\n\n                // Check if lastEntity is the same as the current one\n                var endOfIfLabel = _moveNextMethodIL.DefineLabel();\n\n                Label? afterEntityGenerationIfBody = default;\n\n                if (entityHolder.Item1.RequiresChangedLocal)\n                {\n                    afterEntityGenerationIfBody = _moveNextMethodIL.DefineLabel();\n                }\n\n                if (entityHolder.Item1.RequiresDBNullCheck)\n                {\n                    // Check if column is null\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, _dataReaderField);\n\n                    if (primaryDbColumn.Item2 <= sbyte.MaxValue)\n                        _moveNextMethodIL.Emit(OpCodes.Ldc_I4_S, (sbyte)primaryDbColumn.Item2);\n                    else\n                        _moveNextMethodIL.Emit(OpCodes.Ldc_I4, primaryDbColumn.Item2);\n\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, _dataReaderField.FieldType.GetMethod(\"IsDBNull\"));\n                    _moveNextMethodIL.Emit(OpCodes.Brtrue, endOfIfLabel);\n                }\n\n                // Assign the primary key to the local variable\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, _dataReaderField);\n\n                if (primaryDbColumn.Item2 <= sbyte.MaxValue)\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4_S, (sbyte)primaryDbColumn.Item2);\n                else\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4, primaryDbColumn.Item2);\n\n                WriteColumnMaterializer(_moveNextMethodIL, primaryColumn);\n                _moveNextMethodIL.Emit(OpCodes.Stloc_S, primaryKeyLocal);\n\n                // Check if lastEntity is null\n                var entityGenerationIfBody = _moveNextMethodIL.DefineLabel();\n\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, lastEntityField);\n                _moveNextMethodIL.Emit(OpCodes.Brfalse, entityGenerationIfBody);\n\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, lastEntityField);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, primaryColumn.PropertyInfo.GetGetMethod());\n                _moveNextMethodIL.Emit(OpCodes.Ldloc_S, primaryKeyLocal);\n                WriteInEqualityComparer(primaryColumn.PropertyInfo.PropertyType, endOfIfLabel);\n\n                // Check if the dictionary holds a instance to the current primary key\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, entityDictionaryField);\n                _moveNextMethodIL.Emit(OpCodes.Ldloc_S, primaryKeyLocal);\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldflda, lastEntityField);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, entityDictionaryField.FieldType.GetMethod(\"TryGetValue\"));\n                _moveNextMethodIL.Emit(OpCodes.Brtrue, entityHolder.Item1.RequiresChangedLocal ? afterEntityGenerationIfBody!.Value : endOfIfLabel);\n\n                _moveNextMethodIL.MarkLabel(entityGenerationIfBody);\n\n                // Instantiate the entity\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n\n                CreateEntity(entity, entityHolder.Item2, changeTracking && entity.ProxyEntityType is not null, primaryKeyLocal);\n\n                for (var i = entityHolder.Item1.InitializeNavigations.Count - 1; i >= 0; i--)\n                {\n                    var initializeNavigation = entityHolder.Item1.InitializeNavigations[i];\n\n                    _moveNextMethodIL.Emit(OpCodes.Dup);\n                    _moveNextMethodIL.Emit(OpCodes.Newobj, typeof(List<>).MakeGenericType(new[] { initializeNavigation.LeftNavigationProperty.PropertyType.GetGenericArguments()[0] }).GetConstructor(Type.EmptyTypes));\n\n                    WritePropertyAssigner(_moveNextMethodIL, initializeNavigation.LeftNavigationProperty);\n                }\n\n                _moveNextMethodIL.Emit(OpCodes.Stfld, lastEntityField);\n\n                // return result\n                if (entityIndex == 0)\n                {\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, resultField);\n                    _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                    _moveNextMethodIL.Emit(OpCodes.Ldfld, lastEntityField);\n                    _moveNextMethodIL.Emit(OpCodes.Callvirt, resultField.FieldType.GetMethod(\"Add\"));\n                }\n\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, entityDictionaryField);\n                _moveNextMethodIL.Emit(OpCodes.Ldloc_S, primaryKeyLocal);\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, lastEntityField);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, entityDictionaryField.FieldType.GetMethod(\"Add\"));\n\n                if (entityHolder.Item1.RequiresChangedLocal)\n                {\n                    if (entity.Relations is not null)\n                    {\n                        var afterElseLabel = _moveNextMethodIL.DefineLabel();\n\n                        for (var relationIndex = 0; relationIndex < entity.Relations.Count; relationIndex++)\n                        {\n                            var relation = entity.Relations[relationIndex];\n\n                            if (relation.RelationType != RelationType.OneToMany ||\n                                !relationDictionaries.TryGetValue(relation.RelationId, out var relationDictionaryField))\n                                continue;\n\n                            var lastRelationMapField = lastRelationMaps[relation.RelationId];\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Newobj, lastRelationMapField.FieldType.GetConstructor(Type.EmptyTypes));\n                            _moveNextMethodIL.Emit(OpCodes.Stfld, lastRelationMapField);\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, relationDictionaryField);\n                            _moveNextMethodIL.Emit(OpCodes.Ldloc, primaryKeyLocal);\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastRelationMapField);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, relationDictionaryField.FieldType.GetMethod(\"Add\"));\n                        }\n\n                        _moveNextMethodIL.Emit(OpCodes.Br, afterElseLabel);\n\n                        _moveNextMethodIL.MarkLabel(afterEntityGenerationIfBody!.Value);\n\n                        for (var relationIndex = 0; relationIndex < entity.Relations.Count; relationIndex++)\n                        {\n                            var relation = entity.Relations[relationIndex];\n\n                            if (relation.RelationType != RelationType.OneToMany ||\n                                !lastRelationMaps.TryGetValue(relation.RelationId, out var lastRelationMap))\n                                continue;\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldnull);\n                            _moveNextMethodIL.Emit(OpCodes.Stfld, lastRelationMap);\n                        }\n\n                        _moveNextMethodIL.MarkLabel(afterElseLabel);\n                    }\n                    else\n                    {\n                        _moveNextMethodIL.MarkLabel(afterEntityGenerationIfBody!.Value);\n                    }\n\n                    var hasChangedLocal = _moveNextMethodIL.DeclareLocal(typeof(bool));\n                    changedLocals.Add(entityHolder.Item1.Id, hasChangedLocal);\n\n                    // set entityChanged to true\n                    var afterChangedLocalToFalseLabel = _moveNextMethodIL.DefineLabel();\n\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4_1);\n                    _moveNextMethodIL.Emit(OpCodes.Stloc_S, hasChangedLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Br, afterChangedLocalToFalseLabel);\n\n                    _moveNextMethodIL.MarkLabel(endOfIfLabel);\n\n                    // set HasChanged to false\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                    _moveNextMethodIL.Emit(OpCodes.Stloc_S, hasChangedLocal);\n\n                    _moveNextMethodIL.MarkLabel(afterChangedLocalToFalseLabel);\n                }\n                else\n                {\n                    _moveNextMethodIL.MarkLabel(endOfIfLabel);\n                }\n\n                // Set entity dictionary to null\n                setNullGhostIL.Emit(OpCodes.Ldarg_0);\n                setNullGhostIL.Emit(OpCodes.Ldnull);\n                setNullGhostIL.Emit(OpCodes.Stfld, entityDictionaryField);\n\n                // Set lastEntity to null\n                setNullGhostIL.Emit(OpCodes.Ldarg_0);\n                setNullGhostIL.Emit(OpCodes.Ldnull);\n                setNullGhostIL.Emit(OpCodes.Stfld, lastEntityField);\n            }\n\n            for (var entityIndex = entities.Count - 1; entityIndex >= 0; entityIndex--)\n            {\n                var entityHolder = entities[entityIndex].Item1;\n\n                if (!entityHolder.HasRelations)\n                    continue;\n\n                // Check if entityChanged\n                var hasLeftEntityChangedLocal = changedLocals[entityHolder.Id];\n                var lastLeftEntity = entityLastTypes[entityHolder.Id];\n\n                if (entityHolder.ForeignAssignedRelations.Count > 0)\n                {\n                    for (var i = entityHolder.ForeignAssignedRelations.Count - 1; i >= 0; i--)\n                    {\n                        var assigningRelation = entityHolder.ForeignAssignedRelations[i];\n\n                        var relation = assigningRelation.Item1;\n                        var lastRightEntityField = entityLastTypes[assigningRelation.Item2.Id];\n\n                        var relationDictionaryField = relationDictionaries[relation.RelationId];\n                        var lastRelationMapField = lastRelationMaps[relation.RelationId];\n\n                        if (entityHolder.RequiresDBNullCheck)\n                        {\n                            var afterLateAssignmentLabel = _moveNextMethodIL.DefineLabel();\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldloc_S, hasLeftEntityChangedLocal);\n                            _moveNextMethodIL.Emit(OpCodes.Brfalse, afterLateAssignmentLabel);\n\n                            var afterIfLabel = _moveNextMethodIL.DefineLabel();\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastRelationMapField);\n                            _moveNextMethodIL.Emit(OpCodes.Brtrue, afterIfLabel);\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, relationDictionaryField);\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastRightEntityField);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.RightEntity.GetPrimaryColumn().PropertyInfo.GetGetMethod());\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, relationDictionaryField.FieldType.GetMethod(\"get_Item\"));\n                            _moveNextMethodIL.Emit(OpCodes.Stfld, lastRelationMapField);\n\n                            _moveNextMethodIL.MarkLabel(afterIfLabel);\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastRelationMapField);\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastLeftEntity);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftEntity.GetPrimaryColumn().PropertyInfo.GetGetMethod());\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, lastRelationMapField.FieldType.GetMethod(\"Add\"));\n                            _moveNextMethodIL.Emit(OpCodes.Brfalse, afterLateAssignmentLabel);\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastRightEntityField);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.RightNavigationProperty.GetGetMethod());\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastLeftEntity);\n\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, typeof(ICollection<>).MakeGenericType(relation.RightNavigationProperty.PropertyType.GetGenericArguments()[0]).GetMethod(\"Add\"));\n\n                            _moveNextMethodIL.MarkLabel(afterLateAssignmentLabel);\n                        }\n                        else\n                        {\n                            var hasRightEntityChangedLocal = changedLocals[assigningRelation.Item2.Id];\n\n                            var afterLateAssignmentLabel = _moveNextMethodIL.DefineLabel();\n                            var oneToManyAssignmentLabel = _moveNextMethodIL.DefineLabel();\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldloc_S, hasLeftEntityChangedLocal);\n                            _moveNextMethodIL.Emit(OpCodes.Brtrue, oneToManyAssignmentLabel);\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldloc_S, hasRightEntityChangedLocal);\n                            _moveNextMethodIL.Emit(OpCodes.Brfalse, afterLateAssignmentLabel);\n\n                            _moveNextMethodIL.MarkLabel(oneToManyAssignmentLabel);\n\n                            var afterIfLabel = _moveNextMethodIL.DefineLabel();\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastRelationMapField);\n                            _moveNextMethodIL.Emit(OpCodes.Brtrue, afterIfLabel);\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, relationDictionaryField);\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastRightEntityField);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.RightEntity.GetPrimaryColumn().PropertyInfo.GetGetMethod());\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, relationDictionaryField.FieldType.GetMethod(\"get_Item\"));\n                            _moveNextMethodIL.Emit(OpCodes.Stfld, lastRelationMapField);\n\n                            _moveNextMethodIL.MarkLabel(afterIfLabel);\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastRelationMapField);\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastLeftEntity);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.LeftEntity.GetPrimaryColumn().PropertyInfo.GetGetMethod());\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, lastRelationMapField.FieldType.GetMethod(\"Add\"));\n                            _moveNextMethodIL.Emit(OpCodes.Brfalse, afterLateAssignmentLabel);\n\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastRightEntityField);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, relation.RightNavigationProperty.GetGetMethod());\n                            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                            _moveNextMethodIL.Emit(OpCodes.Ldfld, lastLeftEntity);\n                            _moveNextMethodIL.Emit(OpCodes.Callvirt, typeof(ICollection<>).MakeGenericType(relation.RightNavigationProperty.PropertyType.GetGenericArguments()[0]).GetMethod(\"Add\"));\n\n                            _moveNextMethodIL.MarkLabel(afterLateAssignmentLabel);\n                        }\n                    }\n                }\n\n                if (entityHolder.SelfAssignedRelations.Count > 0)\n                {\n                    var afterLateAssignmentLabel = _moveNextMethodIL.DefineLabel();\n\n                    _moveNextMethodIL.Emit(OpCodes.Ldloc_S, hasLeftEntityChangedLocal);\n                    _moveNextMethodIL.Emit(OpCodes.Brfalse, afterLateAssignmentLabel);\n\n                    for (var i = entityHolder.SelfAssignedRelations.Count - 1; i >= 0; i--)\n                    {\n                        var assigningRelation = entityHolder.SelfAssignedRelations[i];\n\n                        var lastRightEntity = entityLastTypes[assigningRelation.Item2.Id];\n\n                        var relation = assigningRelation.Item1;\n\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, lastLeftEntity);\n                        _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                        _moveNextMethodIL.Emit(OpCodes.Ldfld, lastRightEntity);\n                        WritePropertyAssigner(_moveNextMethodIL, relation.LeftNavigationProperty);\n                    }\n\n                    _moveNextMethodIL.MarkLabel(afterLateAssignmentLabel);\n                }\n            }\n\n            _moveNextMethodIL.MarkLabel(loopConditionLabel);\n\n            // Call ReadAsync(cancellationToken) on dataReader\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _dataReaderField);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, _cancellationTokenField);\n            _moveNextMethodIL.Emit(OpCodes.Callvirt, _dataReaderField.FieldType.GetMethod(\"ReadAsync\", new[] { _cancellationTokenField.FieldType }));\n\n            asyncGenerator.WriteAsyncMethodAwaiter(typeof(Task<bool>), _boolTaskAwaiterLocal, _boolTaskAwaiterField);\n\n            _moveNextMethodIL.Emit(OpCodes.Brtrue, loopBodyLabel);\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldfld, resultField);\n            _moveNextMethodIL.Emit(OpCodes.Stloc_S, resultLocal);\n            _moveNextMethodIL.Emit(OpCodes.Leave, endOfCatchLabel);\n\n            // End of try block\n\n            // Start of catch block\n            _moveNextMethodIL.BeginCatchBlock(_defaultExceptionLocal.LocalType);\n\n            // Set state and return exception\n            _moveNextMethodIL.Emit(OpCodes.Stloc_S, _defaultExceptionLocal);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_S, (sbyte)-2);\n            _moveNextMethodIL.Emit(OpCodes.Stfld, _stateField);\n\n            setNullGhostIL.WriteIL(_moveNextMethodIL);\n\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldflda, _methodBuilderField);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc_S, _defaultExceptionLocal);\n            _moveNextMethodIL.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetMethod(\"SetException\"));\n            _moveNextMethodIL.Emit(OpCodes.Leave, endOfMethodLabel);\n\n            // End of catch block\n            _moveNextMethodIL.EndExceptionBlock();\n\n            _moveNextMethodIL.MarkLabel(endOfCatchLabel);\n\n            // Set state and return result\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldc_I4_S, (sbyte)-2);\n            _moveNextMethodIL.Emit(OpCodes.Stfld, _stateField);\n            setNullGhostIL.WriteIL(_moveNextMethodIL);\n            _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n            _moveNextMethodIL.Emit(OpCodes.Ldflda, _methodBuilderField);\n            _moveNextMethodIL.Emit(OpCodes.Ldloc_S, resultLocal);\n            _moveNextMethodIL.Emit(OpCodes.Call, _methodBuilderField.FieldType.GetMethod(\"SetResult\"));\n\n            // End of method\n            _moveNextMethodIL.MarkLabel(endOfMethodLabel);\n            _moveNextMethodIL.Emit(OpCodes.Ret);\n        }\n\n        private void CreateEntity(Entity entity, List<(EntityColumn, int)> dbColumns, bool changeTracking, LocalBuilder? primaryKeyLocal = null)\n        {\n            LocalBuilder? changeTrackerLocal = default;\n\n            if (changeTracking)\n            {\n                var changeTrackerType = typeof(ChangeTracker<>).MakeGenericType(entity.EntityType);\n\n                changeTrackerLocal = _moveNextMethodIL.DeclareLocal(changeTrackerType);\n\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4, entity.GetChangeTrackingCount());\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4_0);\n                _moveNextMethodIL.Emit(OpCodes.Newobj, changeTrackerType.GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new[] { typeof(int), typeof(bool) }, null));\n                _moveNextMethodIL.Emit(OpCodes.Stloc_S, changeTrackerLocal);\n\n                _moveNextMethodIL.Emit(OpCodes.Ldloc, changeTrackerLocal);\n                _moveNextMethodIL.Emit(OpCodes.Newobj, entity.ProxyEntityType.GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new[] { changeTrackerType }, null));\n            }\n            else\n            {\n                _moveNextMethodIL.Emit(OpCodes.Newobj, entity.EntityType.GetConstructor(Type.EmptyTypes));\n            }\n\n            var columnIteratorIndex = 0;\n\n            if (primaryKeyLocal is not null)\n            {\n                columnIteratorIndex = entity.GetRegularColumnOffset();\n\n                (var column, _) = dbColumns[0];\n\n                _moveNextMethodIL.Emit(OpCodes.Dup);\n                _moveNextMethodIL.Emit(OpCodes.Ldloc, primaryKeyLocal);\n\n                WritePropertyAssigner(_moveNextMethodIL, column);\n            }\n\n            for (; columnIteratorIndex < dbColumns.Count; columnIteratorIndex++)\n            {\n                // Assign the property the value from the reader\n\n                (var column, var columnIndex) = dbColumns[columnIteratorIndex];\n\n                _moveNextMethodIL.Emit(OpCodes.Dup);\n                _moveNextMethodIL.Emit(OpCodes.Ldarg_0);\n                _moveNextMethodIL.Emit(OpCodes.Ldfld, _dataReaderField);\n\n                if (columnIndex <= sbyte.MaxValue)\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4_S, (sbyte)columnIndex);\n                else\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I4, columnIndex);\n\n                WriteColumnMaterializer(_moveNextMethodIL, column);\n\n                WritePropertyAssigner(_moveNextMethodIL, column);\n            }\n\n            if (changeTracking)\n            {\n                _moveNextMethodIL.Emit(OpCodes.Ldloc, changeTrackerLocal);\n                _moveNextMethodIL.Emit(OpCodes.Ldc_I4_1);\n                _moveNextMethodIL.Emit(OpCodes.Callvirt, changeTrackerLocal.LocalType.GetProperty(\"TrackChanges\", BindingFlags.NonPublic | BindingFlags.Instance).GetSetMethod(true));\n            }\n        }\n\n        private void WriteInEqualityComparer(Type type, Label branchTo)\n        {\n            var customInEqualityMethod = type.GetMethod(\"op_Inequality\");\n\n            if (customInEqualityMethod is not null)\n            {\n                _moveNextMethodIL.Emit(OpCodes.Call, customInEqualityMethod);\n                _moveNextMethodIL.Emit(OpCodes.Brfalse, branchTo);\n            }\n            else\n            {\n                _moveNextMethodIL.Emit(OpCodes.Beq, branchTo);\n            }\n        }\n\n        private void WriteColumnMaterializer(ILGenerator ilGenerator, EntityColumn column)\n        {\n            if (column.Options.HasFlag(ColumnOptions.NullableReferenceType))\n            {\n                var valueRetriever = typeof(NpgsqlDataReaderExtensions).GetMethod(\"GetValueOrDefault\", BindingFlags.Static | BindingFlags.NonPublic).MakeGenericMethod(column.PropertyInfo.PropertyType);\n\n                ilGenerator.Emit(OpCodes.Call, valueRetriever);\n            }\n            else\n            {\n                var valueRetriever = _dataReaderType.GetMethod(\"GetFieldValue\", BindingFlags.Instance | BindingFlags.Public);\n\n                if (!column.Options.HasFlag(ColumnOptions.PostgreEnum))\n                {\n                    var underlyingType = Nullable.GetUnderlyingType(column.PropertyInfo.PropertyType);\n\n                    if (underlyingType is not null)\n                    {\n                        var isUlong = typeof(ulong) == underlyingType;\n                        var isStronglyTypedKey = !isUlong && typeof(IKey).IsAssignableFrom(underlyingType);\n\n                        var baseType = default(Type);\n\n                        if (underlyingType.IsEnum)\n                        {\n                            baseType = typeof(Nullable<>).MakeGenericType(Enum.GetUnderlyingType(underlyingType));\n                        }\n                        else if (isUlong)\n                        {\n                            baseType = typeof(long?);\n                        }\n                        else if (isStronglyTypedKey)\n                        {\n                            var stronglyTypedKeyType = underlyingType.GetInterface(typeof(IKey<,>).Name).GetGenericArguments()[1];\n\n                            baseType = stronglyTypedKeyType == typeof(ulong) ? typeof(long?) : typeof(Nullable<>).MakeGenericType(stronglyTypedKeyType);\n                        }\n\n                        if (baseType is not null)\n                        {\n                            valueRetriever = valueRetriever.MakeGenericMethod(baseType);\n\n                            var baseLocal = ilGenerator.DeclareLocal(baseType);\n                            var outputLocal = ilGenerator.DeclareLocal(column.PropertyInfo.PropertyType);\n\n                            var afterHasNoValueLabel = ilGenerator.DefineLabel();\n                            var assignLabel = ilGenerator.DefineLabel();\n\n                            ilGenerator.Emit(OpCodes.Callvirt, valueRetriever);\n                            ilGenerator.Emit(OpCodes.Stloc_S, baseLocal);\n\n                            ilGenerator.Emit(OpCodes.Ldloca_S, baseLocal);\n                            ilGenerator.Emit(OpCodes.Call, baseLocal.LocalType.GetProperty(\"HasValue\").GetGetMethod());\n                            ilGenerator.Emit(OpCodes.Brtrue, afterHasNoValueLabel);\n\n                            ilGenerator.Emit(OpCodes.Ldloca_S, outputLocal);\n                            ilGenerator.Emit(OpCodes.Initobj, column.PropertyInfo.PropertyType);\n                            ilGenerator.Emit(OpCodes.Ldloc_S, outputLocal);\n                            ilGenerator.Emit(OpCodes.Br, assignLabel);\n\n                            ilGenerator.MarkLabel(afterHasNoValueLabel);\n\n                            ilGenerator.Emit(OpCodes.Ldloca_S, baseLocal);\n                            ilGenerator.Emit(OpCodes.Call, baseType.GetProperty(\"Value\").GetGetMethod());\n\n                            if (isStronglyTypedKey)\n                            {\n                                var underlyingStronglyTypedKeyType = underlyingType.GetInterface(typeof(IKey<,>).Name).GetGenericArguments()[1];\n\n                                var longType = typeof(long);\n                                var uLongType = typeof(ulong);\n                                var keyType = underlyingType;\n\n\n\n                                if (underlyingStronglyTypedKeyType == uLongType)\n                                {\n                                    _moveNextMethodIL.Emit(OpCodes.Ldc_I8, long.MinValue);\n                                    _moveNextMethodIL.Emit(OpCodes.Sub);\n\n                                    underlyingType = longType;\n                                }\n\n                                var keyLocal = ilGenerator.DeclareLocal(underlyingType);\n\n                                ilGenerator.Emit(OpCodes.Stloc, keyLocal);\n                                ilGenerator.Emit(OpCodes.Ldloca, keyLocal);\n\n                                if (underlyingStronglyTypedKeyType == uLongType)\n                                {\n                                    underlyingType = keyType;\n                                }\n\n                                ilGenerator.Emit(OpCodes.Call, underlyingType.GetCastMethod(underlyingStronglyTypedKeyType, underlyingType));\n                            }\n                            else if (isUlong)\n                            {\n                                ilGenerator.Emit(OpCodes.Ldc_I8, long.MinValue);\n                                ilGenerator.Emit(OpCodes.Sub);\n                            }\n\n                            ilGenerator.Emit(OpCodes.Newobj, column.PropertyInfo.PropertyType.GetConstructor(new[] { underlyingType }));\n\n                            ilGenerator.MarkLabel(assignLabel);\n\n                            return;\n                        }\n                    }\n                    else\n                    {\n                        if (column.PropertyInfo.PropertyType.IsEnum)\n                        {\n                            valueRetriever = valueRetriever.MakeGenericMethod(Enum.GetUnderlyingType(column.PropertyInfo.PropertyType));\n\n                            ilGenerator.Emit(OpCodes.Callvirt, valueRetriever);\n\n                            return;\n                        }\n                    }\n                }\n\n                var type = column.PropertyInfo.PropertyType;\n\n                if (type == typeof(ulong))\n                {\n                    type = typeof(long);\n\n                    valueRetriever = valueRetriever.MakeGenericMethod(type);\n\n                    ilGenerator.Emit(OpCodes.Callvirt, valueRetriever);\n\n                    _moveNextMethodIL.Emit(OpCodes.Ldc_I8, long.MinValue);\n                    _moveNextMethodIL.Emit(OpCodes.Sub);\n                }\n                else if (typeof(IKey).IsAssignableFrom(type))\n                {\n                    var underlyingType = type.GetInterface(typeof(IKey<,>).Name).GetGenericArguments()[1];\n\n                    var longType = typeof(long);\n                    var uLongType = typeof(ulong);\n\n                    if (underlyingType == uLongType)\n                    {\n                        underlyingType = longType;\n                    }\n\n                    valueRetriever = valueRetriever.MakeGenericMethod(underlyingType);\n                    ilGenerator.Emit(OpCodes.Callvirt, valueRetriever);\n\n                    if (underlyingType == longType)\n                    {\n                        _moveNextMethodIL.Emit(OpCodes.Ldc_I8, long.MinValue);\n                        _moveNextMethodIL.Emit(OpCodes.Sub);\n\n                        underlyingType = uLongType;\n                    }\n\n                    var keyLocal = ilGenerator.DeclareLocal(underlyingType);\n\n                    ilGenerator.Emit(OpCodes.Stloc, keyLocal);\n                    ilGenerator.Emit(OpCodes.Ldloca, keyLocal);\n\n                    ilGenerator.Emit(OpCodes.Call, type.GetCastMethod(underlyingType, type));\n                }\n                else\n                {\n                    valueRetriever = valueRetriever.MakeGenericMethod(type);\n\n                    ilGenerator.Emit(OpCodes.Callvirt, valueRetriever);\n                }\n            }\n        }\n\n        private void WritePropertyAssigner(ILGenerator ilGenerator, EntityColumn column)\n        {\n            if (column.Options.HasFlag(ColumnOptions.ReadOnly))\n                ilGenerator.Emit(OpCodes.Stfld, column.PropertyInfo.GetBackingField());\n            else\n                ilGenerator.Emit(OpCodes.Callvirt, column.PropertyInfo.GetSetMethod(true));\n        }\n\n        private void WritePropertyAssigner(ILGenerator ilGenerator, PropertyInfo property)\n        {\n            if (property.CanWrite)\n                ilGenerator.Emit(OpCodes.Callvirt, property.GetSetMethod(true));\n            else\n                ilGenerator.Emit(OpCodes.Stfld, property.GetBackingField());\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/Materializer/MaterializerSourceCompiler.cs",
    "content": "﻿using Venflow.Commands;\nusing Venflow.Enums;\nusing Venflow.Modeling;\n\nnamespace Venflow.Dynamic.Materializer\n{\n    internal class MaterializerSourceCompiler\n    {\n        private int _queryEntityHolderIndex;\n        private readonly LinkedList<QueryEntityHolder> _entities;\n        private readonly IRelationPath? _rootRelationPath;\n\n        internal MaterializerSourceCompiler(RelationBuilderValues? relationBuilderValues)\n        {\n            _entities = new LinkedList<QueryEntityHolder>();\n\n            _rootRelationPath = relationBuilderValues;\n        }\n\n        internal QueryEntityHolder[] GenerateSortedEntities()\n        {\n            var entities = new QueryEntityHolder[_entities.Count];\n\n            var index = 0;\n\n            for (var entry = _entities.First; entry is not null; entry = entry.Next)\n            {\n                entities[index++] = entry.Value;\n            }\n\n            return entities;\n        }\n\n        internal void Compile(Entity rootEntity)\n        {\n            var queryEntityHolder = new QueryEntityHolder(rootEntity, _queryEntityHolderIndex++);\n\n            _entities.AddFirst(queryEntityHolder);\n\n            if (_rootRelationPath is null)\n                return;\n\n            for (var i = 0; i < _rootRelationPath.TrailingPath.Count; i++)\n            {\n                BaseCompile((RelationPath<JoinBehaviour>)_rootRelationPath.TrailingPath[i], queryEntityHolder);\n            }\n        }\n\n        private void BaseCompile(RelationPath<JoinBehaviour> relationPath, QueryEntityHolder rightQueryHolder)\n        {\n            var relation = relationPath.CurrentRelation.Sibiling;\n\n            var leftQueryHolder = new QueryEntityHolder(relation.LeftEntity, _queryEntityHolderIndex++);\n\n            _entities.AddLast(leftQueryHolder);\n\n#if !NET48\n\n            if (VenflowConfiguration.ShouldUseDeepValidation)\n            {\n                if ((relationPath.Value == JoinBehaviour.FullJoin ||\n                    relationPath.Value == JoinBehaviour.LeftJoin) &&\n                    !relation.IsRightNavigationPropertyNullable)\n                {\n                    throw new InvalidOperationException($\"The join you configured 'Join...(x => x.{relation.RightNavigationProperty!.Name})' from the entity '{relation.RightEntity.EntityName}' to the entity '{relation.LeftEntity.EntityName}' is configured as a LeftJoin, however the property '{relation.RightNavigationProperty.Name}' on the entity '{relation.RightEntity.EntityName}' isn't marked as null-able!\");\n                }\n                else if ((relationPath.Value == JoinBehaviour.FullJoin ||\n                        relationPath.Value == JoinBehaviour.RightJoin) &&\n                        !relation.IsLeftNavigationPropertyNullable &&\n                        relation.LeftNavigationProperty is not null)\n                {\n                    throw new InvalidOperationException($\"The join you configured 'Join...(x => x.{relation.RightNavigationProperty!.Name})' from the entity '{relation.RightEntity.EntityName}' to the entity '{relation.LeftEntity.EntityName}' is configured as a RightJoin, however the property '{relation.LeftNavigationProperty.Name}' on the entity '{relation.LeftEntity.EntityName}' isn't marked as null-able!\");\n                }\n            }\n#endif\n\n            if (relation.RelationType == RelationType.ManyToOne)\n            {\n                if (!relation.IsRightNavigationPropertyInitialized &&\n                    (relation.RightNavigationProperty!.CanWrite ||\n                    relation.RightNavigationProperty.GetBackingField() is not null))\n                {\n                    rightQueryHolder.InitializeNavigations.Add(relation.Sibiling);\n                }\n\n                leftQueryHolder.ForeignAssignedRelations.Add((relation, rightQueryHolder));\n\n                rightQueryHolder.RequiresChangedLocal = true;\n                leftQueryHolder.RequiresChangedLocal = true;\n\n                leftQueryHolder.RequiresDBNullCheck = true;\n            }\n            else\n            {\n                rightQueryHolder.SelfAssignedRelations.Add((relation.Sibiling, leftQueryHolder));\n                rightQueryHolder.RequiresChangedLocal = true;\n\n                if (relation.RelationType == RelationType.OneToOne &&\n                        relation.IsRightNavigationPropertyNullable)\n                {\n                    leftQueryHolder.RequiresDBNullCheck = true;\n                }\n                else if (relation.RelationType == RelationType.OneToMany)\n                {\n                    leftQueryHolder.RequiresDBNullCheck = true;\n                }\n            }\n\n            if (relation.LeftNavigationProperty is not null)\n            {\n                if (relation.RelationType == RelationType.OneToMany)\n                {\n                    if (!relation.IsLeftNavigationPropertyInitialized &&\n                        (relation.LeftNavigationProperty.CanWrite ||\n                        relation.LeftNavigationProperty.GetBackingField() is not null))\n                    {\n                        leftQueryHolder.InitializeNavigations.Add(relation);\n                    }\n\n                    rightQueryHolder.ForeignAssignedRelations.Add((relation.Sibiling, leftQueryHolder));\n\n                    rightQueryHolder.RequiresChangedLocal = true;\n                    leftQueryHolder.RequiresChangedLocal = true;\n\n                    rightQueryHolder.RequiresDBNullCheck = true;\n                }\n                else\n                {\n                    leftQueryHolder.SelfAssignedRelations.Add((relation, rightQueryHolder));\n                    leftQueryHolder.RequiresChangedLocal = true;\n\n                    if (relation.RelationType == RelationType.OneToOne &&\n                        relation.IsLeftNavigationPropertyNullable)\n                    {\n                        rightQueryHolder.RequiresDBNullCheck = true;\n                    }\n                    else if (relation.RelationType == RelationType.OneToMany)\n                    {\n                        rightQueryHolder.RequiresDBNullCheck = true;\n                    }\n                }\n            }\n\n            for (var i = 0; i < relationPath.TrailingPath.Count; i++)\n            {\n                BaseCompile((RelationPath<JoinBehaviour>)relationPath.TrailingPath[i], leftQueryHolder);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/Materializer/QueryEntityHolder.cs",
    "content": "﻿using Venflow.Modeling;\n\nnamespace Venflow.Dynamic.Materializer\n{\n    internal class QueryEntityHolder\n    {\n        internal int Id { get; }\n        internal Entity Entity { get; }\n        internal List<(EntityRelation, QueryEntityHolder)> SelfAssignedRelations { get; }\n        internal List<(EntityRelation, QueryEntityHolder)> ForeignAssignedRelations { get; }\n        internal List<EntityRelation> InitializeNavigations { get; }\n\n        internal bool HasRelations => SelfAssignedRelations.Count > 0 || ForeignAssignedRelations.Count > 0;\n        internal bool RequiresChangedLocal { get; set; }\n        internal bool RequiresDBNullCheck { get; set; }\n\n        internal QueryEntityHolder(Entity entity, int id)\n        {\n            SelfAssignedRelations = new List<(EntityRelation, QueryEntityHolder)>();\n            ForeignAssignedRelations = new List<(EntityRelation, QueryEntityHolder)>();\n            InitializeNavigations = new List<EntityRelation>();\n\n            Entity = entity;\n            Id = id;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/Materializer/SqlExpression.cs",
    "content": "﻿using Venflow.Enums;\n\nnamespace Venflow.Dynamic.Materializer\n{\n    internal class SqlExpression\n    {\n        internal string SQL { get; }\n        internal Delegate Arguments { get; }\n        internal Type ParameterType { get; }\n        internal SqlExpressionOptions Options { get; }\n\n        internal SqlExpression(string sql, Delegate arguments, Type parameterType, SqlExpressionOptions options)\n        {\n            SQL = sql;\n            Arguments = arguments;\n            ParameterType = parameterType;\n            Options = options;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/NullableAttribute.cs",
    "content": "﻿using System.ComponentModel;\n\nnamespace System.Runtime.CompilerServices\n{\n    /// <summary>\n    /// <strong>Do not use this attribute, it is reserved for the compiler.</strong>\n    /// </summary>\n    [EditorBrowsable(EditorBrowsableState.Never)]\n    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]\n    public sealed class NullableAttribute : Attribute\n    {\n#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member\n        public readonly byte[] NullableFlags;\n\n        public NullableAttribute(byte flag)\n        {\n            var flags = new byte[1];\n            flags[0] = flag;\n            NullableFlags = flags;\n        }\n\n        public NullableAttribute(byte[] flags)\n        {\n            NullableFlags = flags;\n        }\n#pragma warning restore CS1591 // Missing XML comment for publicly visible type or member\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/NullableContextAttribute.cs",
    "content": "﻿using System.ComponentModel;\n\nnamespace System.Runtime.CompilerServices\n{\n    /// <summary>\n    /// <strong>Do not use this attribute, it is reserved for the compiler.</strong>\n    /// </summary>\n    [EditorBrowsable(EditorBrowsableState.Never)]\n    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]\n    public sealed class NullableContextAttribute : Attribute\n    {\n#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member\n        public readonly byte Flag;\n\n        public NullableContextAttribute(byte flag)\n        {\n            Flag = flag;\n        }\n#pragma warning restore CS1591 // Missing XML comment for publicly visible type or member\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/Proxies/ChangeTracker.cs",
    "content": "﻿namespace Venflow.Dynamic.Proxies\n{\n    internal class ChangeTracker<TEntity> where TEntity : class, new()\n    {\n        internal bool TrackChanges { get; set; }\n        internal bool IsDirty { get; set; }\n\n        private byte[]? _changedColumns;\n\n        private readonly int _columnLength;\n\n        internal ChangeTracker(int columnLength, bool trackChanges)\n        {\n            _columnLength = columnLength;\n            TrackChanges = trackChanges;\n            _changedColumns = null!;\n        }\n\n        internal void MakeDirty(byte propertyIndex, byte columnIndex)\n        {\n            lock (this)\n            {\n                if (!TrackChanges)\n                    return;\n\n                if (!IsDirty)\n                {\n                    _changedColumns = new byte[_columnLength];\n\n                    IsDirty = true;\n                }\n\n                _changedColumns![propertyIndex] = (byte)(columnIndex + 1);\n            }\n        }\n\n        internal byte[] GetColumns()\n        {\n            return _changedColumns!;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/Proxies/ChangeTrackerFactory.cs",
    "content": "using System.Linq.Expressions;\nusing System.Reflection.Emit;\nusing Venflow.Modeling;\n\nnamespace Venflow.Dynamic.Proxies\n{\n    internal class ChangeTrackerFactory<TEntity> where TEntity : class, new()\n    {\n        internal Type ProxyType { get; private set; } = null!;\n\n        private readonly Type _entityType;\n        private readonly Type _changeTrackerType;\n\n        internal ChangeTrackerFactory(Type entityType)\n        {\n            _entityType = entityType;\n            _changeTrackerType = typeof(ChangeTracker<TEntity>);\n        }\n\n        internal void GenerateEntityProxy(Dictionary<int, EntityColumn<TEntity>> trackingProperties)\n        {\n            var proxyInterfaceType = typeof(IEntityProxy<TEntity>);\n\n            var changeTrackerMakeDirtyMethod = _changeTrackerType.GetMethod(\"MakeDirty\", BindingFlags.NonPublic | BindingFlags.Instance)!;\n\n            var proxyTypeBuilder = TypeFactory.GetNewProxyBuilder(_entityType.Name, TypeAttributes.NotPublic | TypeAttributes.AutoClass | TypeAttributes.AnsiClass | TypeAttributes.BeforeFieldInit, _entityType, new[] { proxyInterfaceType });\n\n            // Create ChangeTracker backing field\n            var changeTrackerField = proxyTypeBuilder.DefineField(\"_changeTracker\", _changeTrackerType, FieldAttributes.Private | FieldAttributes.InitOnly);\n\n            // Create ChangeTracker set property method\n            var changeTrackerPropertyGet = proxyTypeBuilder.DefineMethod(\"get_ChangeTracker\", MethodAttributes.Public | MethodAttributes.SpecialName |\n                                                                                              MethodAttributes.NewSlot | MethodAttributes.HideBySig |\n                                                                                              MethodAttributes.Virtual | MethodAttributes.Final, _changeTrackerType, Type.EmptyTypes);\n            changeTrackerPropertyGet.InitLocals = false;\n\n            var changeTrackerPropertyGetIL = changeTrackerPropertyGet.GetILGenerator();\n\n            changeTrackerPropertyGetIL.Emit(OpCodes.Ldarg_0);\n            changeTrackerPropertyGetIL.Emit(OpCodes.Ldfld, changeTrackerField);\n            changeTrackerPropertyGetIL.Emit(OpCodes.Ret);\n\n            // Create ChangeTracker property\n            var changeTrackerProperty = proxyTypeBuilder.DefineProperty(\"ChangeTracker\", PropertyAttributes.HasDefault, _changeTrackerType, Type.EmptyTypes);\n            changeTrackerProperty.SetGetMethod(changeTrackerPropertyGet);\n\n            var propertyIndex = 0;\n\n            // Create All Entity properties\n            foreach (var property in trackingProperties)\n            {\n                var baseSetter = property.Value.PropertyInfo.GetSetMethod()!;\n\n                // Create Property set property method\n                var propertySet = proxyTypeBuilder.DefineMethod(\"set_\" + property.Value.PropertyInfo.Name, MethodAttributes.Public | MethodAttributes.SpecialName |\n                                                                                                           MethodAttributes.Virtual | MethodAttributes.HideBySig, null, new[] { property.Value.PropertyInfo.PropertyType });\n                propertySet.InitLocals = false;\n\n                var propertySetIL = propertySet.GetILGenerator();\n\n                propertySetIL.Emit(OpCodes.Ldarg_0);\n                propertySetIL.Emit(OpCodes.Ldarg_1);\n                propertySetIL.Emit(OpCodes.Call, baseSetter);\n                propertySetIL.Emit(OpCodes.Ldarg_0);\n                propertySetIL.Emit(OpCodes.Call, changeTrackerPropertyGet);\n                propertySetIL.Emit(OpCodes.Ldc_I4_S, (byte)propertyIndex++);\n                propertySetIL.Emit(OpCodes.Ldc_I4_S, (byte)property.Key);\n                propertySetIL.Emit(OpCodes.Callvirt, changeTrackerMakeDirtyMethod);\n                propertySetIL.Emit(OpCodes.Ret);\n\n                proxyTypeBuilder.DefineMethodOverride(propertySet, baseSetter);\n            }\n\n            // Create Constructor\n            var constructor = proxyTypeBuilder.DefineConstructor(MethodAttributes.Assembly | MethodAttributes.HideBySig | MethodAttributes.SpecialName | MethodAttributes.RTSpecialName, CallingConventions.Standard, new[] { _changeTrackerType });\n            var constructorIL = constructor.GetILGenerator();\n\n            constructorIL.Emit(OpCodes.Ldarg_0);\n            constructorIL.Emit(OpCodes.Call, _entityType.GetConstructor(Type.EmptyTypes)!);\n            constructorIL.Emit(OpCodes.Ldarg_0);\n            constructorIL.Emit(OpCodes.Ldarg_1);\n            constructorIL.Emit(OpCodes.Stfld, changeTrackerField);\n            constructorIL.Emit(OpCodes.Ret);\n\n            // Create Proxy Type\n            ProxyType = proxyTypeBuilder.CreateType()!;\n        }\n\n        internal Func<ChangeTracker<TEntity>, TEntity> GetProxyFactory()\n        {\n            var changeTrackerParameter = Expression.Parameter(_changeTrackerType, \"changeTracker\");\n\n            var proxyInstance = Expression.New(ProxyType.GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new[] { _changeTrackerType }, null)!, changeTrackerParameter);\n\n            return Expression.Lambda<Func<ChangeTracker<TEntity>, TEntity>>(Expression.Convert(proxyInstance, _entityType), changeTrackerParameter).Compile();\n        }\n\n        internal Func<ChangeTracker<TEntity>, TEntity, TEntity> GetProxyApplyingFactory()\n        {\n            var method = TypeFactory.GetDynamicMethod(_entityType.Name + \"ProxyApplier\", typeof(TEntity), new[] { _changeTrackerType, typeof(TEntity) });\n            var ilGenerator = method.GetILGenerator();\n\n            ilGenerator.Emit(OpCodes.Ldarg_0);\n            ilGenerator.Emit(OpCodes.Newobj, ProxyType.GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new[] { _changeTrackerType }, null)!);\n\n            var properties = _entityType.GetProperties(BindingFlags.Public | BindingFlags.Instance).AsSpan();\n\n            for (var propertyIndex = 0; propertyIndex < properties.Length; propertyIndex++)\n            {\n                var property = properties[propertyIndex];\n\n                var backingField = property.GetBackingField();\n\n                ilGenerator.Emit(OpCodes.Dup);\n                ilGenerator.Emit(OpCodes.Ldarg_1);\n\n                if (!property.CanWrite &&\n                    backingField is not null)\n                {\n                    ilGenerator.Emit(OpCodes.Ldfld, backingField);\n                    ilGenerator.Emit(OpCodes.Stfld, backingField);\n                }\n                else\n                {\n                    var proxyProperty = ProxyType.GetProperty(property.Name, BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly) ?? property;\n\n                    ilGenerator.Emit(OpCodes.Callvirt, property.GetGetMethod()!);\n\n                    ilGenerator.Emit(OpCodes.Callvirt, proxyProperty.GetSetMethod(true)!);\n                }\n            }\n\n            ilGenerator.Emit(OpCodes.Ldarg_0);\n            ilGenerator.Emit(OpCodes.Ldc_I4_1);\n            ilGenerator.Emit(OpCodes.Callvirt, _changeTrackerType.GetProperty(\"TrackChanges\", BindingFlags.NonPublic | BindingFlags.Instance)!.GetSetMethod(true)!);\n            ilGenerator.Emit(OpCodes.Ret);\n\n            return (Func<ChangeTracker<TEntity>, TEntity, TEntity>)method.CreateDelegate(typeof(Func<ChangeTracker<TEntity>, TEntity, TEntity>));\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/Proxies/IEntityProxy.cs",
    "content": "﻿namespace Venflow.Dynamic.Proxies\n{\n    internal interface IEntityProxy<TEntity> where TEntity : class, new()\n    {\n        ChangeTracker<TEntity> ChangeTracker { get; }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/Retriever/ValueRetrieverFactory.cs",
    "content": "﻿using System.Reflection.Emit;\nusing Npgsql;\nusing Venflow.Enums;\nusing Venflow.Modeling.Definitions;\n\nnamespace Venflow.Dynamic.Retriever\n{\n    internal class ValueRetrieverFactory<TEntity> where TEntity : class, new()\n    {\n        private readonly Type _entityType;\n\n        internal ValueRetrieverFactory(Type entityType)\n        {\n            _entityType = entityType;\n        }\n\n        internal Func<TEntity, string, NpgsqlParameter> GenerateRetriever(ColumnDefinition column)\n        {\n            var npgsqlParameterType = typeof(NpgsqlParameter);\n            var stringType = typeof(string);\n\n            var retrieverMethod = TypeFactory.GetDynamicMethod($\"Venflow.Dynamic.ValueRetrievers.{_entityType.Name}.{column.Property.Name}ValueRetriever\", npgsqlParameterType, new[] { _entityType, stringType });\n            var retrieverMethodIL = retrieverMethod.GetILGenerator();\n\n            var underlyingType = Nullable.GetUnderlyingType(column.Property.PropertyType);\n\n            var isPostgreEnum = column.Options.HasFlag(ColumnOptions.PostgreEnum);\n\n            if (underlyingType is not null &&\n                underlyingType.IsEnum &&\n                !isPostgreEnum)\n            {\n                WriteNullableRetriever(retrieverMethodIL, column, Enum.GetUnderlyingType(underlyingType));\n            }\n            else if (underlyingType is not null)\n            {\n                WriteNullableRetriever(retrieverMethodIL, column, underlyingType);\n            }\n            else\n            {\n                WriteDefaultRetriever(retrieverMethodIL, column, column.Property.PropertyType.IsEnum && !isPostgreEnum ? Enum.GetUnderlyingType(column.Property.PropertyType) : column.Property.PropertyType);\n            }\n\n#if NET5_0_OR_GREATER\n            return retrieverMethod.CreateDelegate<Func<TEntity, string, NpgsqlParameter>>();\n#else\n            return (Func<TEntity, string, NpgsqlParameter>)retrieverMethod.CreateDelegate(typeof(Func<TEntity, string, NpgsqlParameter>));\n#endif\n        }\n\n        private void WriteDefaultRetriever(ILGenerator il, ColumnDefinition column, Type underlyingType)\n        {\n            var stringType = typeof(string);\n\n            il.Emit(OpCodes.Ldstr, \"@p\" + column.Property.Name);\n            il.Emit(OpCodes.Ldarg_1);\n            il.Emit(OpCodes.Call, stringType.GetMethod(\"Concat\", BindingFlags.Public | BindingFlags.Static, null, new[] { stringType, stringType }, null)!);\n            il.Emit(OpCodes.Ldarg_0);\n            il.Emit(OpCodes.Callvirt, column.Property.GetGetMethod()!);\n\n            if (typeof(IKey).IsAssignableFrom(underlyingType))\n            {\n                var underlyingStronglyTypedIdType = underlyingType.GetInterface(typeof(IKey<,>).Name)!.GetGenericArguments()[1];\n\n                var keyLocal = il.DeclareLocal(underlyingStronglyTypedIdType);\n\n                il.Emit(OpCodes.Stloc, keyLocal);\n                il.Emit(OpCodes.Ldloca, keyLocal);\n\n                il.Emit(OpCodes.Call, underlyingType.GetCastMethod(underlyingType, underlyingStronglyTypedIdType)!);\n\n                underlyingType = underlyingStronglyTypedIdType;\n            }\n\n            if (underlyingType == typeof(ulong))\n            {\n                underlyingType = typeof(long);\n\n                il.Emit(OpCodes.Ldc_I8, long.MinValue);\n                il.Emit(OpCodes.Add);\n            }\n\n            if (column.DbType is null)\n            {\n                il.Emit(OpCodes.Newobj, typeof(NpgsqlParameter<>).MakeGenericType(underlyingType).GetConstructor(new[] { stringType, underlyingType })!);\n            }\n            else\n            {\n                il.Emit(OpCodes.Ldc_I4, (int)column.DbType);\n                il.Emit(OpCodes.Call, typeof(NpgsqlParameterExtensions).GetMethod(\"CreateParameter\", BindingFlags.NonPublic | BindingFlags.Static)!.MakeGenericMethod(underlyingType));\n            }\n\n            il.Emit(OpCodes.Ret);\n        }\n\n        private void WriteNullableRetriever(ILGenerator il, ColumnDefinition column, Type underlyingType)\n        {\n            var stringType = typeof(string);\n            var dbNullType = typeof(DBNull);\n\n            var stringConcatMethod = stringType.GetMethod(\"Concat\", BindingFlags.Public | BindingFlags.Static, null, new[] { stringType, stringType }, null)!;\n\n            var propertyLocal = il.DeclareLocal(column.Property.PropertyType);\n\n            var defaultRetrieverLabel = il.DefineLabel();\n\n            // Check if property has value\n            il.Emit(OpCodes.Ldarg_0);\n            il.Emit(OpCodes.Callvirt, column.Property.GetGetMethod()!);\n            il.Emit(OpCodes.Stloc_S, propertyLocal);\n            il.Emit(OpCodes.Ldloca_S, propertyLocal);\n            il.Emit(OpCodes.Call, propertyLocal.LocalType.GetProperty(\"HasValue\")!.GetGetMethod()!);\n            il.Emit(OpCodes.Brtrue_S, defaultRetrieverLabel);\n\n            // Nullable retriever\n            il.Emit(OpCodes.Ldstr, \"@p\" + column.Property.Name);\n            il.Emit(OpCodes.Ldarg_1);\n            il.Emit(OpCodes.Call, stringConcatMethod);\n            il.Emit(OpCodes.Ldsfld, dbNullType.GetField(\"Value\")!);\n            il.Emit(OpCodes.Newobj, typeof(NpgsqlParameter<>).MakeGenericType(dbNullType).GetConstructor(new[] { stringType, dbNullType })!);\n            il.Emit(OpCodes.Ret);\n\n            // Default retriever\n            il.MarkLabel(defaultRetrieverLabel);\n\n            il.Emit(OpCodes.Ldstr, \"@p\" + column.Property.Name);\n            il.Emit(OpCodes.Ldarg_1);\n            il.Emit(OpCodes.Call, stringConcatMethod);\n            il.Emit(OpCodes.Ldarg_0);\n            il.Emit(OpCodes.Callvirt, column.Property.GetGetMethod()!);\n            il.Emit(OpCodes.Stloc_S, propertyLocal);\n            il.Emit(OpCodes.Ldloca_S, propertyLocal);\n            il.Emit(OpCodes.Call, propertyLocal.LocalType.GetProperty(\"Value\")!.GetGetMethod()!);\n\n            if (typeof(IKey).IsAssignableFrom(underlyingType))\n            {\n                var underlyingStronglyTypedIdType = underlyingType.GetInterface(typeof(IKey<,>).Name)!.GetGenericArguments()[1];\n\n                var keyLocal = il.DeclareLocal(underlyingStronglyTypedIdType);\n\n                il.Emit(OpCodes.Stloc, keyLocal);\n                il.Emit(OpCodes.Ldloca, keyLocal);\n\n                il.Emit(OpCodes.Call, underlyingType.GetCastMethod(underlyingType, underlyingStronglyTypedIdType)!);\n\n                underlyingType = underlyingStronglyTypedIdType;\n            }\n\n            if (underlyingType == typeof(ulong))\n            {\n                underlyingType = typeof(long);\n\n                il.Emit(OpCodes.Ldc_I8, long.MinValue);\n                il.Emit(OpCodes.Add);\n            }\n\n            if (column.DbType is null)\n            {\n                il.Emit(OpCodes.Newobj, typeof(NpgsqlParameter<>).MakeGenericType(underlyingType).GetConstructor(new[] { stringType, underlyingType })!);\n            }\n            else\n            {\n                il.Emit(OpCodes.Ldc_I4, (int)column.DbType);\n                il.Emit(OpCodes.Call, typeof(NpgsqlParameterExtensions).GetMethod(\"CreateParameter\", BindingFlags.NonPublic | BindingFlags.Static)!.MakeGenericMethod(underlyingType));\n            }\n\n            il.Emit(OpCodes.Ret);\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/SpanExtensions.cs",
    "content": "﻿using System.Collections.ObjectModel;\nusing System.Reflection.Emit;\nusing System.Runtime.InteropServices;\nusing Npgsql.Schema;\n\nnamespace Venflow.Dynamic\n{\n    internal static class SpanExtensions\n    {\n#if !NET5_0_OR_GREATER\n\n        private static class SpanMethodCache<TType>\n        {\n            internal static Func<List<TType>, TType[]> UnderlyingElementGetter;\n\n            static SpanMethodCache()\n            {\n                var genericType = typeof(TType[]);\n\n                var method = TypeFactory.GetDynamicMethod(\"GetUnderlyingArray\", genericType, new[] { typeof(List<TType>) });\n\n                var ilGenerator = method.GetILGenerator();\n\n                ilGenerator.Emit(OpCodes.Ldarg_0);\n                ilGenerator.Emit(OpCodes.Ldfld, typeof(List<TType>).GetField(\"_items\", BindingFlags.NonPublic | BindingFlags.Instance)!);\n                ilGenerator.Emit(OpCodes.Ret);\n\n                UnderlyingElementGetter = (Func<List<TType>, TType[]>)method.CreateDelegate(typeof(Func<List<TType>, TType[]>));\n            }\n\n            internal static Span<TType> AsSpan(List<TType> list)\n            {\n                return UnderlyingElementGetter.Invoke(list).AsSpan(0, list.Count);\n            }\n        }\n\n#endif\n\n        private static readonly Func<ReadOnlyCollection<NpgsqlDbColumn>, List<NpgsqlDbColumn>> _underlyingReadOnlyCollectionListGetter;\n\n        static SpanExtensions()\n        {\n            _underlyingReadOnlyCollectionListGetter = GetUnderlyingReadOnlyCollectionListGetter();\n        }\n\n        internal static Span<T> AsSpan<T>(this List<T> list)\n        {\n#if NET5_0_OR_GREATER\n\n            return CollectionsMarshal.AsSpan(list);\n\n#else\n\n            return SpanMethodCache<T>.AsSpan(list);\n\n#endif\n        }\n\n        internal static Span<NpgsqlDbColumn> AsSpan(this ReadOnlyCollection<NpgsqlDbColumn> collection)\n        {\n            return _underlyingReadOnlyCollectionListGetter.Invoke(collection).AsSpan();\n        }\n\n        internal static List<NpgsqlDbColumn> AsList(this ReadOnlyCollection<NpgsqlDbColumn> collection)\n        {\n            return _underlyingReadOnlyCollectionListGetter.Invoke(collection);\n        }\n\n        private static Func<ReadOnlyCollection<NpgsqlDbColumn>, List<NpgsqlDbColumn>> GetUnderlyingReadOnlyCollectionListGetter()\n        {\n            var method = TypeFactory.GetDynamicMethod(\"GetUnderlyingList\", typeof(List<NpgsqlDbColumn>), new[] { typeof(ReadOnlyCollection<NpgsqlDbColumn>) });\n\n            var ilGenerator = method.GetILGenerator();\n\n            ilGenerator.Emit(OpCodes.Ldarg_0);\n            ilGenerator.Emit(OpCodes.Ldfld, typeof(ReadOnlyCollection<NpgsqlDbColumn>).GetField(\"list\", BindingFlags.NonPublic | BindingFlags.Instance)!);\n            ilGenerator.Emit(OpCodes.Ret);\n\n            return (Func<ReadOnlyCollection<NpgsqlDbColumn>, List<NpgsqlDbColumn>>)method.CreateDelegate(typeof(Func<ReadOnlyCollection<NpgsqlDbColumn>, List<NpgsqlDbColumn>>));\n\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Dynamic/TypeFactory.cs",
    "content": "using System.Reflection.Emit;\nusing System.Runtime.CompilerServices;\n\nnamespace Venflow.Dynamic\n{\n    internal static class TypeFactory\n    {\n        internal static Module DynamicModule => _dynamicModule;\n\n        private static readonly AssemblyName _assemblyName;\n        private static readonly AssemblyBuilder _assemblyBuilder;\n        private static readonly ModuleBuilder _dynamicModule;\n\n        private static readonly HashSet<string> _knownEntityAssemblies;\n\n        private static readonly string[] _namespaceNames;\n\n        private static int _typeNumberIdentifier;\n\n        static TypeFactory()\n        {\n            _assemblyName = new AssemblyName(\"Venflow.Dynamic\");\n            _assemblyName.SetPublicKey(typeof(TypeFactory).Assembly.GetName().GetPublicKey());\n            _assemblyBuilder = AssemblyBuilder.DefineDynamicAssembly(_assemblyName, AssemblyBuilderAccess.Run);\n            _dynamicModule = _assemblyBuilder.DefineDynamicModule(_assemblyName.Name + \".dll\");\n\n#if NET5_0_OR_GREATER\n            _dynamicModule.SetCustomAttribute(new CustomAttributeBuilder(typeof(SkipLocalsInitAttribute).GetConstructor(Type.EmptyTypes)!, Array.Empty<object>()));\n#endif\n\n            _namespaceNames = new[] { \"Venflow.Dynamic.Proxies.\", \"Venflow.Dynamic.Materializer.\", \"Venflow.Dynamic.Inserter.\" };\n\n            _knownEntityAssemblies = new(1);\n        }\n\n        internal static void AddEntityAssembly(string assemblyName)\n        {\n            if (!_knownEntityAssemblies.Add(assemblyName))\n                return;\n\n            var ignoresAccessChecksTo = new CustomAttributeBuilder\n            (\n                typeof(IgnoresAccessChecksToAttribute).GetConstructor(new Type[] { typeof(string) })!, new object[] { assemblyName }\n            );\n\n            _assemblyBuilder.SetCustomAttribute(ignoresAccessChecksTo);\n        }\n\n        internal static TypeBuilder GetNewProxyBuilder(string typeName, TypeAttributes typeAttributes, Type? parent = null, Type[]? interfaces = null)\n        {\n            return _dynamicModule.DefineType(GetTypeName(NamespaceType.Proxies, typeName + \"_\" + Interlocked.Increment(ref _typeNumberIdentifier)), typeAttributes, parent, interfaces);\n        }\n\n        internal static TypeBuilder GetNewMaterializerBuilder(string typeName, TypeAttributes typeAttributes, Type? parent = null, Type[]? interfaces = null)\n        {\n            return _dynamicModule.DefineType(GetTypeName(NamespaceType.Materializer, typeName + \"_\" + Interlocked.Increment(ref _typeNumberIdentifier)), typeAttributes, parent, interfaces);\n        }\n\n        internal static TypeBuilder GetNewInserterBuilder(string typeName, TypeAttributes typeAttributes, Type? parent = null, Type[]? interfaces = null)\n        {\n            return _dynamicModule.DefineType(GetTypeName(NamespaceType.Inserter, typeName + \"_\" + Interlocked.Increment(ref _typeNumberIdentifier)), typeAttributes, parent, interfaces);\n        }\n\n        internal static DynamicMethod GetDynamicMethod(string methodName, Type? returnType, Type[]? parameters, bool skipVisiblity = true)\n        {\n            return new DynamicMethod(methodName + \"_\" + Interlocked.Increment(ref _typeNumberIdentifier), returnType, parameters, DynamicModule, skipVisiblity)\n            {\n                InitLocals = false\n            };\n        }\n\n        private static string GetTypeName(NamespaceType namespaceType, string typeName)\n        {\n            return _namespaceNames[(int)namespaceType] + typeName;\n        }\n\n        private enum NamespaceType\n        {\n            Proxies = 0,\n            Materializer = 1,\n            Inserter = 2\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Enums/ColumnListStringOptions.cs",
    "content": "﻿namespace Venflow.Enums\n{\n    [Flags]\n    internal enum ColumnListStringOptions : byte\n    {\n        None = 0,\n        IncludePrimaryColumns = 1\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Enums/ColumnOptions.cs",
    "content": "﻿namespace Venflow.Enums\n{\n    [Flags]\n    internal enum ColumnOptions : byte\n    {\n        None = 0,\n        NullableReferenceType = 1 << 0,\n        ReadOnly = 1 << 1,\n        PrimaryKey = 1 << 2,\n        PostgreEnum = 1 << 3,\n        Generated = 1 << 4,\n        DefaultValue = 1 << 5\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Enums/CommandType.cs",
    "content": "﻿namespace Venflow.Enums\n{\n    /// <summary>\n    /// Specifies the type of command that produced a log.\n    /// </summary>\n    [Flags]\n    public enum CommandType : short\n    {\n        /// <summary>\n        /// A query command returning a single entity.\n        /// </summary>\n        QuerySingle = 1 << 0,\n        /// <summary>\n        /// A query command returning a batch of entities.\n        /// </summary>\n        QueryBatch = 1 << 1,\n        /// <summary>\n        /// All query commands.\n        /// </summary>\n        Query = QuerySingle | QueryBatch,\n\n        /// <summary>\n        /// A update command updating a single entity.\n        /// </summary>\n        UpdateSingle = 1 << 2,\n        /// <summary>\n        /// A update command updating a batch of entities.\n        /// </summary>\n        UpdateBatch = 1 << 3,\n        /// <summary>\n        /// All update commands.\n        /// </summary>\n        Update = UpdateSingle | UpdateBatch,\n\n        /// <summary>\n        /// An insert command inserting a single entity.\n        /// </summary>\n        InsertSingle = 1 << 4,\n        /// <summary>\n        /// An insert command inserting a batch of entities.\n        /// </summary>\n        InsertBatch = 1 << 5,\n        /// <summary>\n        /// All insert commands.\n        /// </summary>\n        Insert = InsertSingle | InsertBatch,\n\n        /// <summary>\n        /// A delete command deleting a single entity.\n        /// </summary>\n        DeleteSingle = 1 << 6,\n        /// <summary>\n        /// A delete command deleting a batch of entities.\n        /// </summary>\n        DeleteBatch = 1 << 7,\n        /// <summary>\n        /// All delete commands.\n        /// </summary>\n        Delete = DeleteSingle | DeleteBatch,\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Enums/ForeignKeyLoaction.cs",
    "content": "﻿namespace Venflow.Enums\n{\n    internal enum ForeignKeyLocation : byte\n    {\n        Left,\n        Right\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Enums/ForeignTruncateOptions.cs",
    "content": "﻿namespace Venflow.Enums\n{\n    /// <summary>\n    /// Represents the truncate option for foreign keys.\n    /// </summary>\n    public enum ForeignTruncateOptions : byte\n    {\n        /// <summary>\n        /// Does nothing.\n        /// </summary>\n        None = 0,\n        /// <summary>\n        /// Automatically truncate all tables that have foreign-key references to any of the named tables, or to any tables added to the group due to CASCADE.\n        /// </summary>\n        Cascade = 1,\n        /// <summary>\n        /// Refuse to truncate if any of the tables have foreign-key references from tables that are not listed in the command. This is the default.\n        /// </summary>\n        Restrict = 2\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Enums/IdentityTruncateOptions.cs",
    "content": "﻿namespace Venflow.Enums\n{\n    /// <summary>\n    /// Represents the identity truncate option for foreign keys.\n    /// </summary>\n    public enum IdentityTruncateOptions : byte\n    {\n        /// <summary>\n        /// Does nothing.\n        /// </summary>\n        None = 0,\n        /// <summary>\n        /// Automatically restart sequences owned by columns of the truncated table(s).\n        /// </summary>\n        Restart = 1,\n        /// <summary>\n        /// Do not change the values of sequences. This is the default.\n        /// </summary>\n        Continue = 2,\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Enums/InsertCacheKeyOptions.cs",
    "content": "﻿namespace Venflow.Enums\n{\n    [Flags]\n    internal enum InsertCacheKeyOptions : byte\n    {\n        None = 0,\n        IsFullInsert = 1 << 0,\n        IsSingleInsert = 1 << 1,\n        HasLogging = 1 << 2\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Enums/JoinBehaviour.cs",
    "content": "﻿namespace Venflow.Enums\n{\n    /// <summary>\n    /// Specifies the behavior for a specific join between two tables.\n    /// </summary>\n    public enum JoinBehaviour : byte\n    {\n        /// <summary>\n        /// Returns records that have matching values in both tables\n        /// </summary>\n        InnerJoin,\n        /// <summary>\n        /// Returns all records from the left table, and the matched records from the right table\n        /// </summary>\n        LeftJoin,\n        /// <summary>\n        /// Returns all records from the right table, and the matched records from the left table\n        /// </summary>\n        RightJoin,\n        /// <summary>\n        /// Returns all records when there is a match in either left or right table\n        /// </summary>\n        FullJoin\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Enums/LoggingBehaviour.cs",
    "content": "﻿namespace Venflow.Enums\n{\n    /// <summary>\n    /// Specifies the logging behavior for Venflow commands.\n    /// </summary>\n    public enum LoggingBehavior : byte\n    {\n        /// <summary>\n        /// Logs all commands.\n        /// </summary>\n        Always,\n        /// <summary>\n        /// Never logs commands.\n        /// </summary>\n        Never\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Enums/QueryGenerationOptions.cs",
    "content": "﻿namespace Venflow.Enums\n{\n    [Flags]\n    internal enum QueryGenerationOptions : byte\n    {\n        None = 0,\n        GenerateJoins = 1\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Enums/RelationPartType.cs",
    "content": "﻿namespace Venflow.Enums\n{\n    internal enum RelationPartType : byte\n    {\n        One,\n        Many\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Enums/RelationType.cs",
    "content": "﻿namespace Venflow.Enums\n{\n    internal enum RelationType : byte\n    {\n        OneToOne,\n        OneToMany,\n        ManyToOne\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Enums/SqlExpressionOptions.cs",
    "content": "﻿namespace Venflow.Enums\n{\n    internal enum SqlExpressionOptions : byte\n    {\n        None = 0,\n        HasDelegateParameter = 1\n    }\n}\n"
  },
  {
    "path": "src/Venflow/FodyWeavers.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Weavers xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"FodyWeavers.xsd\">\n  <ConfigureAwait />\n</Weavers>"
  },
  {
    "path": "src/Venflow/FodyWeavers.xsd",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n  <!-- This file was generated by Fody. Manual changes to this file will be lost when your project is rebuilt. -->\n  <xs:element name=\"Weavers\">\n    <xs:complexType>\n      <xs:all>\n        <xs:element name=\"ConfigureAwait\" minOccurs=\"0\" maxOccurs=\"1\">\n          <xs:complexType>\n            <xs:attribute name=\"ContinueOnCapturedContext\" type=\"xs:boolean\" />\n          </xs:complexType>\n        </xs:element>\n      </xs:all>\n      <xs:attribute name=\"VerifyAssembly\" type=\"xs:boolean\">\n        <xs:annotation>\n          <xs:documentation>'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.</xs:documentation>\n        </xs:annotation>\n      </xs:attribute>\n      <xs:attribute name=\"VerifyIgnoreCodes\" type=\"xs:string\">\n        <xs:annotation>\n          <xs:documentation>A comma-separated list of error codes that can be safely ignored in assembly verification.</xs:documentation>\n        </xs:annotation>\n      </xs:attribute>\n      <xs:attribute name=\"GenerateXsd\" type=\"xs:boolean\">\n        <xs:annotation>\n          <xs:documentation>'false' to turn off automatic generation of the XML Schema file.</xs:documentation>\n        </xs:annotation>\n      </xs:attribute>\n    </xs:complexType>\n  </xs:element>\n</xs:schema>"
  },
  {
    "path": "src/Venflow/FormattableSqlStringBuilder.cs",
    "content": "﻿using System.Runtime.CompilerServices;\nusing Npgsql;\n\nnamespace Venflow\n{\n    /// <summary>\n    /// Allows for a safe string interpolated SQL concatenation.\n    /// </summary>\n    public class FormattableSqlStringBuilder\n    {\n        internal List<NpgsqlParameter> Parameters { get; }\n\n        private StringBuilder? _sql;\n        private int _parameterIndex;\n\n        /// <summary>\n        /// Initializes a new instance of the <see cref=\"FormattableSqlStringBuilder\"/> class.\n        /// </summary>\n        public FormattableSqlStringBuilder()\n        {\n            _sql = default;\n            Parameters = new List<NpgsqlParameter>();\n        }\n\n        /// <summary>\n        /// Appends a copy of the specified SQL followed by the default line terminator to the end of the current <see cref=\"FormattableSqlStringBuilder\"/> object.\n        /// </summary>\n        /// <param name=\"sql\">The SQL to append.</param>\n        /// <remarks>\n        /// <b>This method IS NOT string interpolation safe</b>, if you want to use string interpolated SQL use the <see cref=\"AppendInterpolatedLine(FormattableString)\"/> method.\n        /// </remarks>\n        public void AppendLine(string sql)\n        {\n            if (_sql is null)\n            {\n                _sql = new StringBuilder(sql);\n\n                _sql.AppendLine();\n            }\n            else\n            {\n                _sql.AppendLine(sql);\n            }\n        }\n\n        /// <summary>\n        /// Appends a copy of the specified SQL to this instance.\n        /// </summary>\n        /// <param name=\"sql\">The SQL to append.</param>\n        /// <remarks>\n        /// <b>This method IS NOT string interpolation safe</b>, if you want to use string interpolated SQL use the <see cref=\"AppendInterpolated(FormattableString)\"/> method.\n        /// </remarks>\n        public void Append(string sql)\n        {\n            if (_sql is null)\n                _sql = new StringBuilder(sql);\n            else\n                _sql.Append(sql);\n        }\n\n        /// <summary>\n        /// Appends a copy of the specified SQL followed by the default line terminator to the end of the current <see cref=\"FormattableSqlStringBuilder\"/> object.\n        /// </summary>\n        /// <param name=\"sql\">The SQL to append.</param>\n        /// <remarks>\n        /// This method is string interpolation safe.\n        /// </remarks>\n        public void AppendInterpolatedLine(FormattableString sql)\n        {\n            AppendInterpolated(sql);\n\n            _sql!.AppendLine();\n        }\n\n        /// <summary>\n        /// Appends a copy of the specified SQL to this instance.\n        /// </summary>\n        /// <param name=\"sql\">The SQL to append.</param>\n        /// <remarks>\n        /// This method is string interpolation safe.\n        /// </remarks>\n        public void AppendInterpolated(FormattableString sql)\n        {\n            var argumentsSpan = sql.GetArguments().AsSpan();\n\n            var sqlLength = sql.Format.Length;\n\n            var sqlSpan = sql.Format.AsSpan();\n\n            if (_sql is null)\n                _sql = new StringBuilder(sql.Format.Length);\n\n            var argumentIndex = 0;\n\n            for (var spanIndex = 0; spanIndex < sqlLength; spanIndex++)\n            {\n                var spanChar = sqlSpan[spanIndex];\n\n                if (spanChar == '{' &&\n                    spanIndex + 2 < sqlLength)\n                {\n                    for (spanIndex++; spanIndex < sqlLength; spanIndex++)\n                    {\n                        spanChar = sqlSpan[spanIndex];\n\n                        if (spanChar == '}')\n                            break;\n\n                        if (spanChar is < '0' or > '9')\n                            throw new InvalidOperationException();\n                    }\n\n                    var argument = argumentsSpan[argumentIndex++];\n\n                    HandleParameter(argument);\n                }\n                else\n                {\n                    _sql.Append(spanChar);\n                }\n            }\n        }\n\n        /// <summary>\n        /// Appends a parameter of to this instance.\n        /// </summary>\n        /// <typeparam name=\"T\">The type of the parameter value.</typeparam>\n        /// <param name=\"value\">The parameter value.</param>\n        public void AppendParameter<T>(T value)\n        {\n            if (_sql is null)\n                _sql = new StringBuilder();\n\n            HandleParameter(value);\n        }\n\n#if NET5_0_OR_GREATER\n        [MethodImpl(MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization)]\n#else\n        [MethodImpl(MethodImplOptions.AggressiveInlining)]\n#endif\n        private void HandleParameter<T>(T value)\n        {\n            if (value is IList list)\n            {\n                if (list.Count > 0)\n                {\n                    var listType = default(Type);\n\n                    for (var listIndex = 0; listIndex < list.Count; listIndex++)\n                    {\n                        var listItem = list[listIndex];\n\n                        if (listType is null &&\n                            listItem is not null)\n                        {\n                            listType = listItem.GetType();\n\n                            if (listType == typeof(object))\n                                throw new InvalidOperationException(\"The SQL string interpolation doesn't support object lists.\");\n                        }\n\n                        var parameterName = \"@p\" + _parameterIndex++.ToString();\n\n                        _sql!.Append(parameterName)\n                            .Append(\", \");\n\n                        Parameters.Add(ParameterTypeHandler.HandleParameter(parameterName, listType!, listItem));\n                    }\n\n                    _sql!.Length -= 2;\n                }\n\n                _parameterIndex--;\n            }\n            else\n            {\n                var parameterName = \"@p\" + _parameterIndex++.ToString();\n\n                _sql!.Append(parameterName);\n\n                Parameters.Add(ParameterTypeHandler.HandleParameter(parameterName, value));\n            }\n        }\n\n        /// <inheritdoc />\n        public override string ToString()\n        {\n            if (_sql is null || _sql.Length == 0)\n                throw new InvalidOperationException($\"You have to populate the {nameof(FormattableSqlStringBuilder)} instance before you can inject it into a query method.\");\n\n            return _sql.ToString();\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/IParameterTypeHandler.cs",
    "content": "﻿using Npgsql;\n\nnamespace Venflow\n{\n    /// <summary>\n    /// A parameter type handler which can be used with the <see cref=\"ParameterTypeHandler.AddTypeHandler(System.Type, IParameterTypeHandler)\"/> method.\n    /// </summary>\n    public interface IParameterTypeHandler\n    {\n        /// <summary>\n        /// Is used to convert the given value and name to an <see cref=\"NpgsqlParameter\"/>.\n        /// </summary>\n        /// <param name=\"name\">The name of the parameter.</param>\n        /// <param name=\"val\">The value of the parameter.</param>\n        /// <returns>The <see cref=\"NpgsqlParameter\"/> containing the name and the value.</returns>\n        NpgsqlParameter Handle(string name, object val);\n    }\n}\n"
  },
  {
    "path": "src/Venflow/InvalidEntityRelationException.cs",
    "content": "﻿namespace Venflow\n{\n    /// <summary>\n    /// Represents errors that occur during the relation entity generation.\n    /// </summary>\n    [Serializable]\n    public class InvalidEntityRelationException : Exception\n    {\n        /// <summary>\n        /// Initializes a new instance of the <see cref=\"InvalidEntityRelationException\"/> class.\n        /// </summary>\n        public InvalidEntityRelationException() { }\n\n        /// <summary>\n        /// Initializes a new instance of the <see cref=\"InvalidEntityRelationException\"/> class.\n        /// </summary>\n        /// <param name=\"message\">The message that describes the error.</param>\n        public InvalidEntityRelationException(string message) : base(message) { }\n\n        /// <summary>\n        /// Initializes a new instance of the <see cref=\"InvalidEntityRelationException\"/> class.\n        /// </summary>\n        /// <param name=\"message\">The message that describes the error.</param>\n        /// <param name=\"inner\">The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.</param>\n        public InvalidEntityRelationException(string message, Exception inner) : base(message, inner) { }\n\n        /// <summary>\n        /// Initializes a new instance of the <see cref=\"InvalidEntityRelationException\"/> class.\n        /// </summary>\n        /// <param name=\"info\">The <see cref=\"System.Runtime.Serialization.SerializationInfo\"/> that holds the serialized object data about the exception being thrown.</param>\n        /// <param name=\"context\">The <see cref=\"System.Runtime.Serialization.StreamingContext\"/> that contains contextual information about the source or destination.</param>\n        /// <exception cref=\"ArgumentNullException\">info is null.</exception>\n        /// <exception cref=\"System.Runtime.Serialization.SerializationException\">The class name is null or System.Exception.HResult is zero (0).</exception>\n        protected InvalidEntityRelationException(\n          System.Runtime.Serialization.SerializationInfo info,\n          System.Runtime.Serialization.StreamingContext context) : base(info, context) { }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Modeling/DatabaseConfigurationFactory.cs",
    "content": "using System.Collections.ObjectModel;\nusing Venflow.Dynamic;\nusing Venflow.Dynamic.Instantiater;\nusing Venflow.Modeling.Definitions;\nusing Venflow.Modeling.Definitions.Builder;\n\nnamespace Venflow.Modeling\n{\n    internal class DatabaseConfigurationFactory\n    {\n        private readonly List<EntityFactory> _entityFactories;\n        private readonly Dictionary<string, EntityBuilder> _entityBuilders;\n\n        internal DatabaseConfigurationFactory()\n        {\n            _entityFactories = new List<EntityFactory>();\n            _entityBuilders = new Dictionary<string, EntityBuilder>();\n        }\n\n        internal DatabaseConfiguration BuildConfiguration(Type databaseType, DatabaseConfigurationOptionsBuilder configurationOptionsBuilder)\n        {\n            var tables = GetDatabaseTables(databaseType);\n\n            CreateEntityConfigurations(databaseType, tables, configurationOptionsBuilder);\n\n            var entities = new Dictionary<string, Entity>();\n            var entitiesArray = new Entity[_entityFactories.Count];\n\n            var entityFactoriesSpan = _entityFactories.AsSpan();\n\n            for (var i = 0; i < entityFactoriesSpan.Length; i++)\n            {\n                entityFactoriesSpan[i].ConfigureForeignRelations(_entityBuilders);\n            }\n\n            for (var i = 0; i < entityFactoriesSpan.Length; i++)\n            {\n                var entity = entityFactoriesSpan[i].BuildEntity();\n\n                entities.Add(entity.EntityName, entity);\n                entitiesArray[i] = entity;\n            }\n\n            for (var i = 0; i < entityFactoriesSpan.Length; i++)\n            {\n                var entityFactory = entityFactoriesSpan[i];\n\n                entityFactory.ApplyForeignRelations(entities);\n            }\n\n            return new DatabaseConfiguration(\n                DatabaseTableFactory.CreateInstantiater(databaseType, tables, entitiesArray),\n                new ReadOnlyDictionary<string, Entity>(entities),\n                entitiesArray,\n                configurationOptionsBuilder\n            );\n        }\n\n        private void CreateEntityConfigurations(Type databaseType, List<PropertyInfo> databaseTables, DatabaseConfigurationOptionsBuilder configurationOptionsBuilder)\n        {\n            var configurationAssembliesSpan = (configurationOptionsBuilder.ConfigurationAssemblies).AsSpan();\n\n            VenflowConfiguration.SetDefaultValidationIfNeeded(databaseType.Assembly);\n\n            var configurationType = typeof(EntityConfiguration<>);\n\n            var configurations = new Dictionary<Type, Type>();\n\n            for (var assemblyIndex = configurationAssembliesSpan.Length - 1; assemblyIndex >= 0; assemblyIndex--)\n            {\n                // See https://stackoverflow.com/q/63942274/10070647\n                var assemblyTypesSpan = new ReadOnlySpan<Type>(configurationAssembliesSpan[assemblyIndex].GetTypes());\n\n                for (var typeIndex = assemblyTypesSpan.Length - 1; typeIndex >= 0; typeIndex--)\n                {\n                    var assemblyType = assemblyTypesSpan[typeIndex];\n\n                    if (assemblyType.IsNotPublic ||\n                        assemblyType.BaseType is null ||\n                        !assemblyType.BaseType.IsGenericType ||\n                        assemblyType.BaseType.GetGenericTypeDefinition() != configurationType)\n                        continue;\n\n                    var entityType = assemblyType.BaseType.GetGenericArguments()[0];\n\n#if NET48\n                    if (configurations.ContainsKey(entityType))\n                    {\n                        throw new InvalidOperationException($\"There are two or more configurations for the entity '{entityType.Name}'\");\n                    }\n                    else\n                    {\n                        configurations.Add(entityType, assemblyType);\n                    }\n#else\n                    if (!configurations.TryAdd(entityType, assemblyType))\n                    {\n                        throw new InvalidOperationException($\"There are two or more configurations for the entity '{entityType.Name}'\");\n                    }\n#endif\n                }\n            }\n\n            var genericEntityBuilderType = typeof(EntityBuilder<>);\n            var genericEntityFactoryType = typeof(EntityFactory<>);\n\n            var databaseTablesSpan = databaseTables.AsSpan();\n\n            for (var i = 0; i < databaseTablesSpan.Length; i++)\n            {\n                var property = databaseTablesSpan[i];\n\n                var entityType = property.PropertyType.GetGenericArguments()[0];\n\n                TypeFactory.AddEntityAssembly(entityType.Assembly.GetName().Name!);\n                var entityBuilderType = genericEntityBuilderType.MakeGenericType(entityType);\n                var entityBuilderInstance = (EntityBuilder) Activator.CreateInstance(entityBuilderType, BindingFlags.NonPublic | BindingFlags.Instance, null, new object[] {configurationOptionsBuilder, property.Name}, null)!;\n\n                if (configurations.TryGetValue(entityType, out var configuration))\n                {\n                    var entityConfiguration = (IEntityConfiguration)Activator.CreateInstance(configuration)!;\n\n                    AddToConfigurations(entityConfiguration.BuildConfiguration(entityBuilderInstance));\n                }\n                else\n                {\n                    var entityFactoryType = genericEntityFactoryType.MakeGenericType(entityType);\n                    var entityFactoryInstance = Activator.CreateInstance(entityFactoryType, BindingFlags.NonPublic | BindingFlags.Instance, null, new object[] { entityBuilderInstance }, null)!;\n\n                    AddToConfigurations((EntityFactory)entityFactoryInstance);\n                }\n            }\n        }\n\n        private List<PropertyInfo> GetDatabaseTables(Type databaseType)\n        {\n            var propertiesSpan = databaseType.GetProperties(BindingFlags.Public | BindingFlags.Instance).AsSpan();\n\n            VenflowConfiguration.SetDefaultValidationIfNeeded(databaseType.Assembly);\n\n            var tableType = typeof(ITable);\n\n            var tables = new List<PropertyInfo>();\n\n            for (var i = 0; i < propertiesSpan.Length; i++)\n            {\n                var property = propertiesSpan[i];\n\n                if (!tableType.IsAssignableFrom(property.PropertyType))\n                {\n                    continue;\n                }\n\n                tables.Add(property);\n            }\n\n            return tables;\n        }\n\n        private void AddToConfigurations(EntityFactory entityFactory)\n        {\n            _entityFactories.Add(entityFactory);\n            _entityBuilders.Add(entityFactory.EntityBuilder.Type.Name, entityFactory.EntityBuilder);\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Modeling/Definitions/Builder/EntityBuilder.cs",
    "content": "using System.ComponentModel.DataAnnotations;\nusing System.ComponentModel.DataAnnotations.Schema;\nusing System.Linq.Expressions;\nusing System.Runtime.CompilerServices;\nusing Npgsql;\nusing Venflow.Dynamic.Proxies;\nusing Venflow.Dynamic.Retriever;\nusing Venflow.Enums;\n\nnamespace Venflow.Modeling.Definitions.Builder\n{\n    internal class EntityBuilder<TEntity> : EntityBuilder, IEntityBuilder<TEntity> where TEntity : class, new()\n    {\n        internal bool IsRegularEntity { get; set; }\n\n        internal override Type Type { get; }\n\n        internal ChangeTrackerFactory<TEntity>? ChangeTrackerFactory { get; private set; }\n        internal string TableName {\n            get {\n                if (CustomTableName is not null && !string.IsNullOrWhiteSpace(CustomTableName))\n                {\n                    return CustomTableName;\n                }\n                var translation = NpgsqlNameTranslator.TranslateTypeName(_tableName);\n                if (string.IsNullOrWhiteSpace(translation))\n                {\n                    throw new NullReferenceException($\"Table name: '{_tableName}' translated to null using {NpgsqlNameTranslator.GetType().Name}.\");\n                }\n\n                return translation;\n            }\n        }\n        internal string? CustomTableName { get; private set; }\n        internal IDictionary<string, ColumnDefinition> ColumnDefinitions { get; }\n\n        internal INpgsqlNameTranslator NpgsqlNameTranslator => CustomNpgsqlNameTranslator ?? _configurationOptionsBuilder.NpgsqlNameTranslator;\n        internal INpgsqlNameTranslator? CustomNpgsqlNameTranslator { get; private set; }\n\n        internal bool EntityInNullableContext { get; }\n        internal bool DefaultPropNullability { get; }\n\n        private readonly DatabaseConfigurationOptionsBuilder _configurationOptionsBuilder;\n        private readonly string _tableName;\n        private readonly ValueRetrieverFactory<TEntity> _valueRetrieverFactory;\n\n        internal EntityBuilder(DatabaseConfigurationOptionsBuilder configurationOptionsBuilder, string tableName)\n        {\n            _configurationOptionsBuilder = configurationOptionsBuilder;\n            _tableName = tableName;\n            Type = typeof(TEntity);\n            ColumnDefinitions = new Dictionary<string, ColumnDefinition>();\n            _valueRetrieverFactory = new ValueRetrieverFactory<TEntity>(Type);\n            IsRegularEntity = true;\n\n            // Check if the entity has a NullableContextAttribute which means that it is in a null-able environment.\n            var nullableContextAttribute = Type.GetCustomAttribute<NullableContextAttribute>();\n\n            if (nullableContextAttribute is not null)\n            {\n                // Flag == 1 All props are not null-able if not otherwise specified. Flag == 2 reversed.\n                DefaultPropNullability = nullableContextAttribute.Flag == 2;\n                EntityInNullableContext = true;\n            }\n            else\n            {\n                DefaultPropNullability = true;\n                EntityInNullableContext = false;\n            }\n\n            DiscorverColumns();\n        }\n\n        IEntityBuilder<TEntity> IEntityBuilder<TEntity>.MapToTable(string tableName)\n        {\n            if (string.IsNullOrWhiteSpace(tableName))\n            {\n                throw new ArgumentException($\"The table name '{tableName}' is invalid.\", nameof(tableName));\n            }\n\n            CustomTableName = $\"\\\"{tableName}\\\"\";\n\n            return this;\n        }\n\n        IPropertyBuilder IEntityBuilder<TEntity>.Column<TTarget>(Expression<Func<TEntity, TTarget>> propertySelector)\n        {\n            var property = propertySelector.ValidatePropertySelector();\n\n            return new PropertyBuilder(ColumnDefinitions[property.Name]);\n        }\n\n        IEntityBuilder<TEntity> IEntityBuilder<TEntity>.MapColumn<TTarget>(Expression<Func<TEntity, TTarget>> propertySelector, string columnName)\n        {\n            if (string.IsNullOrWhiteSpace(columnName))\n            {\n                throw new ArgumentException($\"The column name '{columnName}' is invalid.\", nameof(columnName));\n            }\n\n            var property = propertySelector.ValidatePropertySelector();\n\n            ColumnDefinitions[property.Name].Name = columnName;\n\n            return this;\n        }\n\n        IEntityBuilder<TEntity> IEntityBuilder<TEntity>.Ignore<TTarget>(Expression<Func<TEntity, TTarget>> propertySelector)\n        {\n            var property = propertySelector.ValidatePropertySelector();\n\n            IgnoreProperty(property.Name);\n\n            return this;\n        }\n\n        IEntityBuilder<TEntity> IEntityBuilder<TEntity>.MapId<TTarget>(Expression<Func<TEntity, TTarget>> propertySelector, DatabaseGeneratedOption option)\n        {\n            var property = propertySelector.ValidatePropertySelector();\n\n            var definition = ColumnDefinitions[property.Name];\n\n            definition.Options |= ColumnOptions.PrimaryKey;\n\n            if (option != DatabaseGeneratedOption.None)\n            {\n                definition.Options |= ColumnOptions.Generated;\n            }\n            else\n            {\n                definition.Options &= ~ColumnOptions.Generated;\n            }\n\n            return this;\n        }\n\n        IEntityBuilder<TEntity> IEntityBuilder<TEntity>.SetNpgsqlNameTranslator(INpgsqlNameTranslator npgsqlNameTranslator)\n        {\n            CustomNpgsqlNameTranslator = npgsqlNameTranslator;\n\n            return this;\n        }\n\n        IEntityBuilder<TEntity> IEntityBuilder<TEntity>.SetNpgsqlNameTranslator<T>()\n        {\n            CustomNpgsqlNameTranslator = new T();\n\n            return this;\n        }\n\n        [Obsolete(\"This method will be removed in the next major version. Please instead use the DatabaseConfigurationOptionsBuilder.RegisterPostgresEnum method on the Database.Configure method.\")]\n        IEntityBuilder<TEntity> IEntityBuilder<TEntity>.MapPostgresEnum<TTarget>(Expression<Func<TEntity, TTarget?>> propertySelector, string? name, INpgsqlNameTranslator? npgsqlNameTranslator)\n        {\n            var property = propertySelector.ValidatePropertySelector();\n\n            MapPostgresEnum<TTarget>(property, name, npgsqlNameTranslator);\n\n            return this;\n        }\n\n        [Obsolete(\"This method will be removed in the next major version. Please instead use the DatabaseConfigurationOptionsBuilder.RegisterPostgresEnum method on the Database.Configure method.\")]\n        IEntityBuilder<TEntity> IEntityBuilder<TEntity>.MapPostgresEnum<TTarget>(Expression<Func<TEntity, TTarget>> propertySelector, string? name, INpgsqlNameTranslator? npgsqlNameTranslator)\n        {\n            var property = propertySelector.ValidatePropertySelector();\n\n            MapPostgresEnum<TTarget>(property, name, npgsqlNameTranslator);\n\n            return this;\n        }\n\n        private void MapPostgresEnum<TTarget>(PropertyInfo property, string? name, INpgsqlNameTranslator? npgsqlNameTranslator)\n            where TTarget : struct, Enum\n        {\n            if (string.IsNullOrWhiteSpace(name))\n            {\n                var underlyingType = Nullable.GetUnderlyingType(property.PropertyType);\n\n                name = underlyingType is not null ? underlyingType.Name : property.PropertyType.Name;\n\n                var nameBuilder = new StringBuilder(name.Length * 2 - 1);\n\n                nameBuilder.Append(char.ToLowerInvariant(name[0]));\n\n                var nameSpan = name.AsSpan();\n\n                for (var i = 1; i < nameSpan.Length; i++)\n                {\n                    var c = nameSpan[i];\n\n                    if (char.IsUpper(c))\n                    {\n                        nameBuilder.Append('_');\n                        nameBuilder.Append(char.ToLowerInvariant(c));\n                    }\n                    else\n                    {\n                        nameBuilder.Append(c);\n                    }\n                }\n\n                name = nameBuilder.ToString();\n            }\n\n            if (!ParameterTypeHandler.PostgreEnums.Contains(property.PropertyType))\n            {\n                NpgsqlConnection.GlobalTypeMapper.MapEnum<TTarget>(name, npgsqlNameTranslator);\n\n                ParameterTypeHandler.PostgreEnums.Add(property.PropertyType);\n            }\n\n            ColumnDefinitions[property.Name].Options |= ColumnOptions.PostgreEnum;\n        }\n\n        INotRequiredSingleRightRelationBuilder<TEntity, TRelation> ILeftRelationBuilder<TEntity>.HasMany<TRelation>(Expression<Func<TEntity, IList<TRelation>>> navigationProperty) where TRelation : class\n        {\n            var property = navigationProperty.ValidatePropertySelector(false);\n\n            IgnoreProperty(property.Name);\n\n            if (!property.CanWrite &&\n                property.GetBackingField() is null)\n            {\n                throw new InvalidOperationException($\"The foreign property '{property.Name}' on the entity '{property!.ReflectedType!.Name}' doesn't implement a setter, nor does it match the common backing field pattern ('<{property.Name}>k__BackingField', '{char.ToLowerInvariant(property.Name[0])}{property.Name.Substring(1)}' or  '_{char.ToLowerInvariant(property.Name[0])}{property.Name.Substring(1)}').\");\n            }\n\n            return new RightRelationBuilder<TEntity, TRelation>(RelationPartType.Many, property, this);\n        }\n\n        IRequiredSingleRightRelationBuilder<TEntity, TRelation> ILeftRelationBuilder<TEntity>.HasMany<TRelation>()\n        {\n            return new RightRelationBuilder<TEntity, TRelation>(RelationPartType.Many, null, this);\n        }\n\n        INotRequiredMultiRightRelationBuilder<TEntity, TRelation> ILeftRelationBuilder<TEntity>.HasOne<TRelation>(Expression<Func<TEntity, TRelation>> navigationProperty) where TRelation : class\n        {\n            var property = navigationProperty.ValidatePropertySelector();\n\n            IgnoreProperty(property.Name);\n\n            if (!property.CanWrite &&\n                property.GetBackingField() is null)\n            {\n                throw new InvalidOperationException($\"The foreign property '{property.Name}' on the entity '{property!.ReflectedType!.Name}' doesn't implement a setter, nor does it match the common backing field pattern ('<{property.Name}>k__BackingField', '{char.ToLowerInvariant(property.Name[0])}{property.Name.Substring(1)}' or  '_{char.ToLowerInvariant(property.Name[0])}{property.Name.Substring(1)}').\");\n            }\n\n            return new RightRelationBuilder<TEntity, TRelation>(RelationPartType.One, property, this);\n        }\n\n        IRequiredMultiRightRelationBuilder<TEntity, TRelation> ILeftRelationBuilder<TEntity>.HasOne<TRelation>()\n        {\n            return new RightRelationBuilder<TEntity, TRelation>(RelationPartType.One, null, this);\n        }\n\n        internal override void IgnoreProperty(string propertyName)\n            => ColumnDefinitions.Remove(propertyName);\n\n        internal EntityColumnCollection<TEntity> Build()\n        {\n            var columns = new LinkedList<EntityColumn<TEntity>>();\n            var nameToColumn = new Dictionary<string, EntityColumn<TEntity>>();\n            var changeTrackingColumns = new Dictionary<int, EntityColumn<TEntity>>();\n\n            LinkedListNode<EntityColumn<TEntity>>? firstRegularNode = default;\n            LinkedListNode<EntityColumn<TEntity>>? firstReadOnlyNode = default;\n\n            var columnIndex = 0;\n            var regularColumnsOffset = 0;\n            var readOnlyCount = 0;\n            var lastRegularColumnsIndex = 0;\n\n            foreach (var columnDefinition in ColumnDefinitions.Values)\n            {\n                var property = columnDefinition.Property;\n                var isPropertyTypeNullableReferenceType = property.IsNullableReferenceType(EntityInNullableContext, DefaultPropNullability);\n\n                if (isPropertyTypeNullableReferenceType)\n                {\n                    columnDefinition.Options |= ColumnOptions.NullableReferenceType;\n                }\n\n                var setMethod = property.GetSetMethod();\n                var isReadOnly = setMethod is null;\n\n                if (isReadOnly)\n                {\n                    columnDefinition.Options |= ColumnOptions.ReadOnly;\n                }\n\n                var type = Nullable.GetUnderlyingType(property.PropertyType) ?? property.PropertyType;\n\n                if (type.IsEnum && ParameterTypeHandler.PostgreEnums.Contains(type))\n                {\n                    columnDefinition.Options |= ColumnOptions.PostgreEnum;\n                }\n\n                var expectsChangeTracking = IsRegularEntity && !isReadOnly && setMethod!.IsVirtual && !setMethod!.IsFinal;\n\n                string? columnName = null;\n\n                if (IsRegularEntity)\n                {\n                    if (columnDefinition.Options.HasFlag(ColumnOptions.PrimaryKey))\n                    {\n                        if (EntityInNullableContext &&\n                            isPropertyTypeNullableReferenceType)\n                        {\n                            throw new InvalidOperationException($\"The property '{property.Name}' on the entity '{Type.Name}' is marked as null-able. This is not allowed, a primary key always has to be not-null.\");\n                        }\n\n                        if (isReadOnly &&\n                            !columnDefinition.Options.HasFlag(ColumnOptions.Generated))\n                        {\n                            throw new InvalidOperationException($\"The property '{property.Name}' on the entity '{Type.Name}' is marked as read-only. This is not allowed on non database generated primary key.\");\n                        }\n\n                        regularColumnsOffset++;\n                    }\n                    else\n                    {\n                        var relation = Relations.FirstOrDefault(x => x.ForeignKeyColumnName == property.Name);\n\n                        if (relation is not null)\n                        {\n                            columnName = columnDefinition.Name;\n\n                            relation.ForeignKeyColumnName = columnName;\n                        }\n                    }\n                }\n\n                if (columnName is null)\n                {\n                    columnName = columnDefinition.Name;\n                }\n\n                var translatedColumn = NpgsqlNameTranslator.TranslateMemberName(columnName);\n                if(translatedColumn is null || string.IsNullOrWhiteSpace(translatedColumn))\n                {\n                    throw new NullReferenceException($\"Column name: '{columnName}' translated to null using {NpgsqlNameTranslator.GetType().Name}.\");\n                }\n                var column = new EntityColumn<TEntity>(property, columnName, translatedColumn, _valueRetrieverFactory.GenerateRetriever(columnDefinition), columnDefinition.DbType, columnDefinition.Options);\n\n                if (expectsChangeTracking)\n                {\n                    changeTrackingColumns.Add(columnIndex, column);\n                }\n\n                nameToColumn.Add(columnName, column);\n\n                if (columnDefinition.Options.HasFlag(ColumnOptions.PrimaryKey))\n                {\n                    if (firstRegularNode is null)\n                    {\n                        if (firstReadOnlyNode is null)\n                        {\n                            columns.AddLast(column);\n                        }\n                        else\n                        {\n                            columns.AddBefore(firstReadOnlyNode, column);\n                        }\n                    }\n                    else\n                    {\n                        columns.AddBefore(firstRegularNode, column);\n                    }\n                }\n                else if (columnDefinition.Options.HasFlag(ColumnOptions.ReadOnly))\n                {\n                    if (firstReadOnlyNode is null)\n                    {\n                        firstReadOnlyNode = columns.AddLast(column);\n                    }\n                    else\n                    {\n                        columns.AddLast(column);\n                    }\n\n                    readOnlyCount++;\n                }\n                else\n                {\n                    if (firstRegularNode is null)\n                    {\n                        if (firstReadOnlyNode is null)\n                        {\n                            firstRegularNode = columns.AddLast(column);\n                        }\n                        else\n                        {\n                            firstRegularNode = columns.AddBefore(firstReadOnlyNode, column);\n                        }\n                    }\n                    else\n                    {\n                        if (firstReadOnlyNode is null)\n                        {\n                            columns.AddLast(column);\n                        }\n                        else\n                        {\n                            columns.AddBefore(firstReadOnlyNode, column);\n                        }\n                    }\n                }\n\n                columnIndex++;\n            }\n\n            lastRegularColumnsIndex = columns.Count - 1 - readOnlyCount;\n\n            if (regularColumnsOffset == 0 &&\n                IsRegularEntity)\n            {\n                throw new InvalidOperationException($\"The EntityBuilder couldn't find the primary key on the entity '{Type.Name}', it isn't named 'Id', the KeyAttribute wasn't set nor was any property in the configuration defined as the primary key.\");\n            }\n\n            if (columns.Count == 0)\n            {\n                throw new InvalidOperationException($\"The entity '{Type.Name}' doesn't contain any columns/mapped properties. An entity needs at least one column/mapped property.\");\n            }\n\n            if (regularColumnsOffset == columns.Count)\n            {\n                throw new InvalidOperationException($\"The entity '{Type.Name}' doesn't contain any non-primary/non-database generated columns/mapped properties. An entity needs at least one non-primary/non-database generated column/mapped property.\");\n            }\n\n            if (readOnlyCount == columns.Count + regularColumnsOffset)\n            {\n                throw new InvalidOperationException($\"The entity '{Type.Name}' doesn't contain any non-read-only properties. An entity needs at least one non-read-only property.\");\n            }\n\n            if (changeTrackingColumns.Count != 0)\n            {\n                if (Type.GetConstructor(Type.EmptyTypes) is null)\n                    throw new InvalidOperationException($\"The entity '{Type.Name}' contains virtual properties. However the entity doesn't contain a public parameterless constructor and therefore can't create a proxy.\");\n\n                ChangeTrackerFactory = new ChangeTrackerFactory<TEntity>(Type);\n\n                ChangeTrackerFactory.GenerateEntityProxy(changeTrackingColumns);\n            }\n\n            return new EntityColumnCollection<TEntity>(columns.ToArray(), nameToColumn, regularColumnsOffset, lastRegularColumnsIndex, readOnlyCount, changeTrackingColumns.Count);\n        }\n\n        private void DiscorverColumns()\n        {\n            var properties = Type.GetProperties(BindingFlags.Public | BindingFlags.Instance);\n\n            if (properties is null || properties.Length == 0)\n            {\n                throw new TypeArgumentException($\"The entity '{Type.Name}' doesn't contain any columns/properties. An entity needs at least one column/property.\");\n            }\n\n            var notMappedAttributeType = typeof(NotMappedAttribute);\n            Type? primaryKeyAttributeType = default;\n\n            if (IsRegularEntity)\n            {\n                primaryKeyAttributeType = typeof(KeyAttribute);\n            }\n\n            var propertiesSpan = properties.AsSpan();\n\n            for (var i = 0; i < propertiesSpan.Length; i++)\n            {\n                var property = propertiesSpan[i];\n\n                var hasPropertySetter = property.GetSetMethod() is not null;\n                var hasPropertyBackingField = property.GetBackingField() is not null;\n\n                if (((property.CanWrite && property.SetMethod!.IsPublic) ||\n                    (!hasPropertySetter && hasPropertyBackingField)) &&\n                    !Attribute.IsDefined(property, notMappedAttributeType))\n                {\n                    var column = new ColumnDefinition(property);\n\n                    if (IsRegularEntity &&\n                        (Attribute.IsDefined(property, primaryKeyAttributeType!) ||\n                        property.Name == \"Id\"))\n                    {\n                        column.Options |= ColumnOptions.PrimaryKey | ColumnOptions.Generated;\n                    }\n\n                    ColumnDefinitions.Add(property.Name, column);\n                }\n            }\n        }\n    }\n\n    internal abstract class EntityBuilder\n    {\n        internal static uint RelationCounter { get; set; }\n\n        internal List<EntityRelationDefinition> Relations { get; }\n        internal abstract Type Type { get; }\n\n        protected EntityBuilder()\n        {\n            Relations = new List<EntityRelationDefinition>();\n        }\n\n        internal abstract void IgnoreProperty(string propertyName);\n    }\n\n    /// <summary>\n    /// Instances of this class are returned from methods inside the <see cref=\"EntityConfiguration{TEntity}\"/> class when using the Fluent API and it is not designed to be directly constructed in your application code.\n    /// </summary>\n    /// <typeparam name=\"TEntity\">The entity type being configured.</typeparam>\n    public interface IEntityBuilder<TEntity> : ILeftRelationBuilder<TEntity> where TEntity : class, new()\n    {\n        /// <summary>\n        /// Configures the table that the entity type maps to, if not configured it will use the name of the <see cref=\"Table{TEntity}\"/> property inside the <see cref=\"Database\"/> class.\n        /// </summary>\n        /// <param name=\"tableName\">The name of the table.</param>\n        /// <returns>The same builder instance so that multiple calls can be chained.</returns>\n        IEntityBuilder<TEntity> MapToTable(string tableName);\n\n        /// <summary>\n        /// Configures a column on the current entity.\n        /// </summary>\n        /// <param name=\"propertySelector\">A lambda expression representing the property on this entity type.</param>\n        /// <returns>A new column builder instance so that multiple calls can be chained.</returns>\n        IPropertyBuilder Column<TTarget>(Expression<Func<TEntity, TTarget>> propertySelector);\n\n        /// <summary>\n        /// Configures the column that the property maps to, if not configured it will use the name of the property inside the entity.\n        /// </summary>\n        /// <typeparam name=\"TTarget\">The type of the property.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the property on this entity type.</param>\n        /// <param name=\"columnName\">The name of the column in the database to which the used property should map to.</param>\n        /// <returns>The same builder instance so that multiple calls can be chained.</returns>\n        IEntityBuilder<TEntity> MapColumn<TTarget>(Expression<Func<TEntity, TTarget>> propertySelector, string columnName);\n\n        /// <summary>\n        /// Ignores a property for this entity type. This is the Fluent API equivalent to the <see cref=\"NotMappedAttribute\"/>.\n        /// </summary>\n        /// <typeparam name=\"TTarget\">The type of the property.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the property on this entity type.</param>\n        /// <returns>The same builder instance so that multiple calls can be chained.</returns>\n        IEntityBuilder<TEntity> Ignore<TTarget>(Expression<Func<TEntity, TTarget>> propertySelector);\n\n        /// <summary>\n        /// Sets the property that defines the primary key for this entity type. This is the Fluent API equivalent to the <see cref=\"KeyAttribute\"/>.\n        /// </summary>\n        /// <typeparam name=\"TTarget\">The type of the primary key.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the primary key on this entity type.</param>\n        /// <param name=\"option\">The option which define how the primary key is generate.</param>\n        /// <returns>The same builder instance so that multiple calls can be chained.</returns>\n        IEntityBuilder<TEntity> MapId<TTarget>(Expression<Func<TEntity, TTarget>> propertySelector, DatabaseGeneratedOption option);\n\n        /// <summary>\n        /// Sets the <see cref=\"INpgsqlNameTranslator\"/> instance to be used for entity table and column name translations.\n        /// </summary>\n        /// <param name=\"npgsqlNameTranslator\">An implementation of <see cref=\"INpgsqlNameTranslator\"/> to be used for entity name translations.</param>\n        /// <returns>The same builder instance so that multiple calls can be chained.</returns>\n        IEntityBuilder<TEntity> SetNpgsqlNameTranslator(INpgsqlNameTranslator npgsqlNameTranslator);\n\n        /// <summary>\n        /// Sets the <see cref=\"INpgsqlNameTranslator\"/> instance to be used for entity table and column name translations.\n        /// </summary>\n        /// <typeparam name=\"T\">An implementation of <see cref=\"INpgsqlNameTranslator\"/> to be used for entity name translations.</typeparam>\n        /// <returns>The same builder instance so that multiple calls can be chained.</returns>\n        IEntityBuilder<TEntity> SetNpgsqlNameTranslator<T>() where T : INpgsqlNameTranslator, new();\n\n        /// <summary>\n        /// Maps a PostgreSQL enum to a CLR enum.\n        /// </summary>\n        /// <typeparam name=\"TTarget\">The type of the enum.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the enum which should be mapped on this entity type.</param>\n        /// <param name=\"name\">The name of the enum in PostgreSQL, if none used it will try to convert the name of the CLR enum e.g. 'FooBar' to 'foo_bar'</param>\n        /// <param name=\"npgsqlNameTranslator\">A component which will be used to translate CLR names (e.g. SomeClass) into database names (e.g. some_class). Defaults to <see cref=\"Npgsql.NameTranslation.NpgsqlSnakeCaseNameTranslator\"/>.</param>\n        /// <returns>The same builder instance so that multiple calls can be chained.</returns>\n        [Obsolete(\"This method will be removed in the next major version. Please instead use the DatabaseConfigurationOptionsBuilder.RegisterPostgresEnum method on the Database.Configure method.\")]\n        IEntityBuilder<TEntity> MapPostgresEnum<TTarget>(Expression<Func<TEntity, TTarget>> propertySelector, string? name = default, INpgsqlNameTranslator? npgsqlNameTranslator = default)\n            where TTarget : struct, Enum;\n\n        /// <summary>\n        /// Maps a PostgreSQL enum to a CLR enum.\n        /// </summary>\n        /// <typeparam name=\"TTarget\">The type of the enum.</typeparam>\n        /// <param name=\"propertySelector\">A lambda expression representing the enum which should be mapped on this entity type.</param>\n        /// <param name=\"name\">The name of the enum in PostgreSQL, if none used it will try to convert the name of the CLR enum e.g. 'FooBar' to 'foo_bar'</param>\n        /// <param name=\"npgsqlNameTranslator\">A component which will be used to translate CLR names (e.g. SomeClass) into database names (e.g. some_class). Defaults to <see cref=\"Npgsql.NameTranslation.NpgsqlSnakeCaseNameTranslator\"/>.</param>\n        /// <returns>The same builder instance so that multiple calls can be chained.</returns>\n        [Obsolete(\"This method will be removed in the next major version. Please instead use the DatabaseConfigurationOptionsBuilder.RegisterPostgresEnum method on the Database.Configure method.\")]\n        IEntityBuilder<TEntity> MapPostgresEnum<TTarget>(Expression<Func<TEntity, TTarget?>> propertySelector, string? name = default, INpgsqlNameTranslator? npgsqlNameTranslator = default)\n            where TTarget : struct, Enum;\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Modeling/Definitions/Builder/IForeignKeyRelationBuilder.cs",
    "content": "﻿using System.Linq.Expressions;\n\nnamespace Venflow.Modeling.Definitions.Builder\n{\n    /// <summary>\n    /// This interface hosts relation methods for the foreign key configurations.\n    /// </summary>\n    public interface IForeignKeyRelationBuilder<TEntity, TRelation> where TEntity : class, new() where TRelation : class\n    {\n        /// <summary>\n        /// Configures the property to be used as the foreign key for this relationship.\n        /// </summary>\n        /// <typeparam name=\"TKey\">The type of the foreign key.</typeparam>\n        /// <param name=\"navigationProperty\">A lambda expression representing the foreign key property (post => post.BlogId).</param>\n        void UsingForeignKey<TKey>(Expression<Func<TEntity, TKey>> navigationProperty);\n\n        /// <summary>\n        /// Configures the property to be used as the foreign key for this relationship.\n        /// </summary>\n        /// <typeparam name=\"TKey\">The type of the foreign key.</typeparam>\n        /// <param name=\"navigationProperty\">A lambda expression representing the foreign key property (post => post.BlogId).</param>\n        void UsingForeignKey<TKey>(Expression<Func<TRelation, TKey>> navigationProperty);\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Modeling/Definitions/Builder/ILeftRelationBuilder.cs",
    "content": "﻿using System.Linq.Expressions;\n\nnamespace Venflow.Modeling.Definitions.Builder\n{\n    /// <summary>\n    /// This interface hosts relation methods for the left side of a relation.\n    /// </summary>\n    /// <typeparam name=\"TEntity\">The entity type being configured.</typeparam>\n    public interface ILeftRelationBuilder<TEntity> where TEntity : class, new()\n    {\n        /// <summary>\n        /// <para>\n        ///     Configures a relationship where this entity type has a reference that points to a single instance of the other type in the relationship.\n        /// </para>\n        /// <para>\n        ///     Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n        /// </para>\n        /// <para>\n        ///     After calling this method, you should chain a call to <see cref=\"INotRequiredMultiRightRelationBuilder{TEntity, TRelation}.WithMany\"/> or <see cref=\"INotRequiredSingleRightRelationBuilder{TEntity, TRelation}.WithOne\"/> to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship.\n        /// </para>\n        /// </summary>\n        /// <typeparam name=\"TRelation\">The entity type that this relationship targets.</typeparam>\n        /// <param name=\"navigationProperty\">A lambda expression representing the reference navigation property on this entity type that represents the relationship (post => post.Blog). If no property is specified, the relationship will be configured without a navigation property on this end.</param>\n        /// <returns>An object that can be used to configure the relationship.</returns>\n        INotRequiredMultiRightRelationBuilder<TEntity, TRelation> HasOne<TRelation>(Expression<Func<TEntity, TRelation>> navigationProperty) where TRelation : class;\n\n        /// <summary>\n        /// <para>\n        ///     Configures a relationship where this entity type has a reference that points to a single instance of the other type in the relationship.\n        /// </para>\n        /// <para>\n        ///     Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n        /// </para>\n        /// <para>\n        ///     After calling this method, you should chain a call to <see cref=\"IMultiRightRelationBuilder{TEntity, TRelation}.WithMany(Expression{Func{TRelation, IList{TEntity}}})\"/> or <see cref=\"IRequiredSingleRightRelationBuilder{TEntity, TRelation}.WithOne(Expression{Func{TRelation, TEntity}})\"/> to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship.\n        /// </para>\n        /// </summary>\n        /// <typeparam name=\"TRelation\">The entity type that this relationship targets.</typeparam>\n        /// <returns>An object that can be used to configure the relationship.</returns>\n        IRequiredMultiRightRelationBuilder<TEntity, TRelation> HasOne<TRelation>() where TRelation : class;\n\n        /// <summary>\n        /// <para>\n        ///     Configures a relationship where this entity type has a collection that contains instances of the other type in the relationship.\n        /// </para>\n        /// <para>\n        ///     Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n        /// </para>\n        /// <para>\n        ///     After calling this method, you should chain a call to <see cref=\"INotRequiredSingleRightRelationBuilder{TEntity, TRelation}.WithOne\"/> to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship.\n        /// </para>\n        /// </summary>\n        /// <typeparam name=\"TRelation\">The entity type that this relationship targets.</typeparam>\n        /// <returns>An object that can be used to configure the relationship.</returns>\n        INotRequiredSingleRightRelationBuilder<TEntity, TRelation> HasMany<TRelation>(Expression<Func<TEntity, IList<TRelation>>> navigationProperty) where TRelation : class;\n\n        /// <summary>\n        /// <para>\n        ///     Configures a relationship where this entity type has a collection that contains instances of the other type in the relationship.\n        /// </para>\n        /// <para>\n        ///     Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n        /// </para>\n        /// <para>\n        ///     After calling this method, you should chain a call to <see cref=\"IRequiredSingleRightRelationBuilder{TEntity, TRelation}.WithOne(Expression{Func{TRelation, TEntity}})\"/> to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship.\n        /// </para>\n        /// </summary>\n        /// <typeparam name=\"TRelation\">The entity type that this relationship targets.</typeparam>\n        /// <returns>An object that can be used to configure the relationship.</returns>\n        IRequiredSingleRightRelationBuilder<TEntity, TRelation> HasMany<TRelation>() where TRelation : class;\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Modeling/Definitions/Builder/IMultiRightRelationBuilder.cs",
    "content": "﻿using System.Linq.Expressions;\n\nnamespace Venflow.Modeling.Definitions.Builder\n{\n    /// <summary>\n    /// Instances of this class are returned from methods inside the <see cref=\"Table{TEntity}\"/> class when using the Fluid API and it is not designed to be directly constructed in your application code.\n    /// </summary>\n    /// <typeparam name=\"TEntity\"></typeparam>\n    /// <typeparam name=\"TRelation\">The entity type that this relationship targets.</typeparam>\n    public interface IMultiRightRelationBuilder<TEntity, TRelation> where TEntity : class, new() where TRelation : class\n    {\n        /// <summary>\n        /// <para>\n        ///     Configures this as a one-to-many relationship.\n        /// </para>\n        /// <para>\n        ///     Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n        /// </para>\n        /// </summary>\n        /// <param name=\"navigationProperty\"> A lambda expression representing the collection navigation property on the other end of this relationship (blog => blog.Posts). If no property is specified, the relationship will be configured without a navigation property on the other end of the relationship.</param>\n        /// <returns>An object that can be used to configure the relationship.</returns>\n        IForeignKeyRelationBuilder<TEntity, TRelation> WithMany(Expression<Func<TRelation, IList<TEntity>>> navigationProperty);\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Modeling/Definitions/Builder/INotRequiredMultiRightRelationBuilder.cs",
    "content": "﻿namespace Venflow.Modeling.Definitions.Builder\n{\n    /// <summary>\n    /// This interface hosts relation methods for the right side of a relation.\n    /// </summary>\n    public interface INotRequiredMultiRightRelationBuilder<TEntity, TRelation> : IMultiRightRelationBuilder<TEntity, TRelation>, INotRequiredSingleRightRelationBuilder<TEntity, TRelation> where TEntity : class, new() where TRelation : class\n    {\n        /// <summary>\n        /// <para>\n        ///     Configures this as a one-to-many relationship.\n        /// </para>\n        /// <para>\n        ///     Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n        /// </para>\n        /// </summary>\n        /// <returns>An object that can be used to configure the relationship.</returns>\n        IForeignKeyRelationBuilder<TEntity, TRelation> WithMany();\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Modeling/Definitions/Builder/INotRequiredSingleRightRelationBuilder.cs",
    "content": "﻿namespace Venflow.Modeling.Definitions.Builder\n{\n    /// <summary>\n    /// This interface hosts relation methods for the right side of a relation.\n    /// </summary>\n    public interface INotRequiredSingleRightRelationBuilder<TEntity, TRelation> : IRequiredSingleRightRelationBuilder<TEntity, TRelation> where TEntity : class, new() where TRelation : class\n    {\n        /// <summary>\n        /// <para>\n        ///     Configures this as a one-to-one relationship.\n        /// </para>\n        /// <para>\n        ///     Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n        /// </para>\n        /// </summary>\n        /// <returns>An object that can be used to configure the relationship.</returns>\n        IForeignKeyRelationBuilder<TEntity, TRelation> WithOne();\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Modeling/Definitions/Builder/IRequiredMultiRightRelationBuilder.cs",
    "content": "﻿namespace Venflow.Modeling.Definitions.Builder\n{\n    /// <summary>\n    /// This interface hosts relation methods for the right side of a relation.\n    /// </summary>\n    public interface IRequiredMultiRightRelationBuilder<TEntity, TRelation> : IMultiRightRelationBuilder<TEntity, TRelation>, IRequiredSingleRightRelationBuilder<TEntity, TRelation> where TEntity : class, new() where TRelation : class\n    {\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Modeling/Definitions/Builder/IRequiredSingleRightRelationBuilder.cs",
    "content": "﻿using System.Linq.Expressions;\n\nnamespace Venflow.Modeling.Definitions.Builder\n{\n    /// <summary>\n    /// This interface hosts relation methods for the right side of a relation.\n    /// </summary>\n    public interface IRequiredSingleRightRelationBuilder<TEntity, TRelation> where TEntity : class, new() where TRelation : class\n    {\n        /// <summary>\n        /// <para>\n        ///     Configures this as a one-to-one relationship.\n        /// </para>\n        /// <para>\n        ///     Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n        /// </para>\n        /// </summary>\n        /// <param name=\"navigationProperty\">A lambda expression representing the reference navigation property on the other end of this relationship (blog => blog.BlogInfo). If no property is specified, the relationship will be configured without a navigation property on the other end of the relationship.</param>\n        /// <returns>An object that can be used to configure the relationship.</returns>\n        IForeignKeyRelationBuilder<TEntity, TRelation> WithOne(Expression<Func<TRelation, TEntity>> navigationProperty);\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Modeling/Definitions/Builder/PropertyBuilder.cs",
    "content": "﻿using System.ComponentModel.DataAnnotations;\nusing NpgsqlTypes;\nusing Venflow.Enums;\n\nnamespace Venflow.Modeling.Definitions.Builder\n{\n    internal class PropertyBuilder : IPropertyBuilder\n    {\n        private readonly ColumnDefinition _definition;\n\n        internal PropertyBuilder(ColumnDefinition definition)\n        {\n            _definition = definition;\n        }\n\n        IPropertyBuilder IPropertyBuilder.HasDefault()\n        {\n            _definition.Options |= ColumnOptions.DefaultValue;\n\n            return this;\n        }\n\n        IPropertyBuilder IPropertyBuilder.HasId()\n        {\n            _definition.Options |= ColumnOptions.PrimaryKey;\n\n            return this;\n        }\n\n        IPropertyBuilder IPropertyBuilder.WithName(string name)\n        {\n            _definition.Name = name;\n\n            return this;\n        }\n\n        IPropertyBuilder IPropertyBuilder.WithType(NpgsqlDbType dbType)\n        {\n            _definition.DbType = dbType;\n\n            return this;\n        }\n    }\n\n    /// <summary>\n    /// Instances of this class are returned from methods inside the <see cref=\"EntityBuilder{TEntity}\"/> class when using the Fluent API and it is not designed to be directly constructed in your application code.\n    /// </summary>\n    public interface IPropertyBuilder\n    {\n        /// <summary>\n        /// Marks the current property as a primary key. This is the Fluent API equivalent to the <see cref=\"KeyAttribute\"/>.\n        /// </summary>\n        /// <returns>The same builder instance so that multiple calls can be chained.</returns>\n        IPropertyBuilder HasId();\n\n        /// <summary>\n        /// Configures the name of the current column, if not configured it will use the name of the property.\n        /// </summary>\n        /// <param name=\"name\">The name of the column in the database to which the used property should map to.</param>\n        /// <returns>The same builder instance so that multiple calls can be chained.</returns>\n        IPropertyBuilder WithName(string name);\n\n        /// <summary>\n        /// Configures the database type of the current column, if not configured it will use the default of the property.\n        /// </summary>\n        /// <param name=\"dbType\">The type of the column in the database.</param>\n        /// <returns>The same builder instance so that multiple calls can be chained.</returns>\n        IPropertyBuilder WithType(NpgsqlDbType dbType);\n\n        /// <summary>\n        /// Marks the current column to be generated by the database\n        /// </summary>\n        /// <returns>The same builder instance so that multiple calls can be chained.</returns>\n        IPropertyBuilder HasDefault();\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Modeling/Definitions/Builder/RightRelationBuilder.cs",
    "content": "﻿using System.Linq.Expressions;\nusing Venflow.Enums;\n\nnamespace Venflow.Modeling.Definitions.Builder\n{\n    internal class RightRelationBuilder<TEntity, TRelation> : INotRequiredMultiRightRelationBuilder<TEntity, TRelation>, IRequiredMultiRightRelationBuilder<TEntity, TRelation>, IForeignKeyRelationBuilder<TEntity, TRelation> where TEntity : class, new() where TRelation : class\n    {\n        private PropertyInfo? _rightNavigationProperty;\n        private RelationPartType _leftRelationType;\n\n        private readonly RelationPartType _rightRelationType;\n        private readonly PropertyInfo? _leftNavigationProperty;\n        private readonly EntityBuilder<TEntity> _entityBuilder;\n\n        internal RightRelationBuilder(RelationPartType rightRelationType, PropertyInfo? leftNavigationProperty, EntityBuilder<TEntity> entityBuilder)\n        {\n            _rightRelationType = rightRelationType;\n            _leftNavigationProperty = leftNavigationProperty;\n            _entityBuilder = entityBuilder;\n        }\n\n        IForeignKeyRelationBuilder<TEntity, TRelation> IMultiRightRelationBuilder<TEntity, TRelation>.WithMany(Expression<Func<TRelation, IList<TEntity>>> navigationProperty)\n        {\n            _leftRelationType = RelationPartType.Many;\n\n            _rightNavigationProperty = navigationProperty.ValidatePropertySelector(false);\n\n            if (!_rightNavigationProperty.CanWrite &&\n                _rightNavigationProperty.GetBackingField() is null)\n            {\n                throw new InvalidOperationException($\"The foreign property '{_rightNavigationProperty.Name}' on the entity '{_rightNavigationProperty!.ReflectedType!.Name}' doesn't implement a setter, nor does it match the common backing field pattern ('<{_rightNavigationProperty.Name}>k__BackingField', '{char.ToLowerInvariant(_leftNavigationProperty!.Name[0])}{_leftNavigationProperty.Name.Substring(1)}' or  '_{char.ToLowerInvariant(_leftNavigationProperty.Name[0])}{_leftNavigationProperty.Name.Substring(1)}').\");\n            }\n\n            return this;\n        }\n\n        IForeignKeyRelationBuilder<TEntity, TRelation> INotRequiredMultiRightRelationBuilder<TEntity, TRelation>.WithMany()\n        {\n            _leftRelationType = RelationPartType.Many;\n\n            return this;\n        }\n\n        IForeignKeyRelationBuilder<TEntity, TRelation> IRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne(Expression<Func<TRelation, TEntity>> navigationProperty)\n        {\n            _leftRelationType = RelationPartType.One;\n\n            _rightNavigationProperty = navigationProperty.ValidatePropertySelector();\n\n            if (!_rightNavigationProperty.CanWrite &&\n                _rightNavigationProperty.GetBackingField() is null)\n            {\n                throw new InvalidOperationException($\"The foreign property '{_rightNavigationProperty.Name}' on the entity '{_rightNavigationProperty!.ReflectedType!.Name}' doesn't implement a setter, nor does it match the common backing field pattern ('<{_rightNavigationProperty.Name}>k__BackingField', '{char.ToLowerInvariant(_leftNavigationProperty!.Name[0])}{_leftNavigationProperty!.Name.Substring(1)}' or  '_{char.ToLowerInvariant(_leftNavigationProperty.Name[0])}{_leftNavigationProperty.Name.Substring(1)}').\");\n            }\n\n            return this;\n        }\n\n        IForeignKeyRelationBuilder<TEntity, TRelation> INotRequiredSingleRightRelationBuilder<TEntity, TRelation>.WithOne()\n        {\n            _leftRelationType = RelationPartType.One;\n\n            return this;\n        }\n\n        void IForeignKeyRelationBuilder<TEntity, TRelation>.UsingForeignKey<TKey>(Expression<Func<TEntity, TKey>> navigationProperty)\n        {\n            ApplyRelation(navigationProperty.ValidatePropertySelector(), ForeignKeyLocation.Left);\n        }\n\n        void IForeignKeyRelationBuilder<TEntity, TRelation>.UsingForeignKey<TKey>(Expression<Func<TRelation, TKey>> navigationProperty)\n        {\n            ApplyRelation(navigationProperty.ValidatePropertySelector(), ForeignKeyLocation.Right);\n        }\n\n        private void ApplyRelation(PropertyInfo foreignKey, ForeignKeyLocation keyLoaction)\n        {\n            _entityBuilder.Relations.Add(new EntityRelationDefinition(EntityBuilder.RelationCounter++, _entityBuilder, _leftNavigationProperty, typeof(TRelation).Name, _rightNavigationProperty, foreignKey.Name, GetRelationFromParts(_leftRelationType, _rightRelationType), keyLoaction));\n        }\n\n        private RelationType GetRelationFromParts(RelationPartType leftPart, RelationPartType rightPart)\n        {\n            if (leftPart == RelationPartType.One)\n            {\n                return rightPart == RelationPartType.Many ? RelationType.OneToMany : RelationType.OneToOne;\n            }\n            else\n            {\n                return RelationType.ManyToOne;\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Modeling/Definitions/ColumnDefinition.cs",
    "content": "﻿using NpgsqlTypes;\nusing Venflow.Enums;\n\nnamespace Venflow.Modeling.Definitions\n{\n    internal class ColumnDefinition\n    {\n        internal PropertyInfo Property { get; }\n        internal string Name { get; set; }\n        internal NpgsqlDbType? DbType { get; set; }\n        internal ColumnOptions Options { get; set; }\n\n        internal ColumnDefinition(PropertyInfo property)\n        {\n            Property = property;\n            Name = property.Name;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Modeling/Definitions/EntityConfiguration.cs",
    "content": "﻿using Npgsql;\nusing Venflow.Enums;\nusing Venflow.Modeling.Definitions.Builder;\n\nnamespace Venflow.Modeling.Definitions\n{\n    /// <summary>\n    /// Allows configuration for an entity type. Inherit from this class and override the <see cref=\"Configure(IEntityBuilder{TEntity})\"/> method to configure the entity <typeparamref name=\"TEntity\"/>.\n    /// </summary>\n    /// <typeparam name=\"TEntity\">The entity to be configured.</typeparam>\n    /// <remarks>Classes which inherit from this one, have to be in the same assembly as the <see cref=\"Database\"/> in order to be discoverable.</remarks>\n    public abstract class EntityConfiguration<TEntity> : IEntityConfiguration\n        where TEntity : class, new()\n    {\n        /// <summary>\n        /// Allows for configuration of the entity <typeparamref name=\"TEntity\"/>.\n        /// </summary>\n        /// <param name=\"entityBuilder\">The builder used to configure the entity.</param>\n        protected abstract void Configure(IEntityBuilder<TEntity> entityBuilder);\n\n        EntityFactory IEntityConfiguration.BuildConfiguration(EntityBuilder entityBuilder)\n        {\n            var eb = (EntityBuilder<TEntity>)entityBuilder;\n            Configure(eb);\n\n            return new EntityFactory<TEntity>(eb);\n        }\n    }\n\n    internal interface IEntityConfiguration\n    {\n        EntityFactory BuildConfiguration(EntityBuilder entityBuilder);\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Modeling/Definitions/EntityFactory.cs",
    "content": "﻿using Venflow.Enums;\nusing Venflow.Modeling.Definitions.Builder;\n\nnamespace Venflow.Modeling.Definitions\n{\n    internal class EntityFactory<TEntity> : EntityFactory where TEntity : class, new()\n    {\n        internal override EntityBuilder EntityBuilder => _entityBuilder;\n\n        private Entity _entity = null!;\n\n        private readonly EntityBuilder<TEntity> _entityBuilder;\n\n        internal EntityFactory(EntityBuilder<TEntity> entityBuilder)\n        {\n            _entityBuilder = entityBuilder;\n        }\n\n        internal override Entity BuildEntity()\n        {\n            var columns = _entityBuilder.Build();\n\n            _entity = new Entity<TEntity>(\n                entityType:_entityBuilder.Type,\n                proxyEntityType:_entityBuilder.ChangeTrackerFactory?.ProxyType,\n                tableName:_entityBuilder.TableName,\n                isInNullableContext:_entityBuilder.EntityInNullableContext,\n                defaultPropNullability:_entityBuilder.DefaultPropNullability,\n                columns:columns,\n                primaryColumn:_entityBuilder.IsRegularEntity ? columns[0] : default,\n                columnListString:_entityBuilder.IsRegularEntity ? GetColumnListString(columns, ColumnListStringOptions.IncludePrimaryColumns) : string.Empty,\n                nonPrimaryColumnListString:_entityBuilder.IsRegularEntity ? GetColumnListString(columns, ColumnListStringOptions.None) : string.Empty,\n                changeTrackerFactory:_entityBuilder.IsRegularEntity ? _entityBuilder.ChangeTrackerFactory?.GetProxyFactory() : default,\n                changeTrackerApplier:_entityBuilder.IsRegularEntity ? _entityBuilder.ChangeTrackerFactory?.GetProxyApplyingFactory() : default\n            );\n\n            return _entity;\n        }\n\n        internal override void ConfigureForeignRelations(Dictionary<string, EntityBuilder> entityBuilders)\n        {\n            if (_entityBuilder.Relations.Count == 0)\n                return;\n\n            var entityInstance = default(object?);\n\n            for (var relationIndex = _entityBuilder.Relations.Count - 1; relationIndex >= 0; relationIndex--)\n            {\n                var relation = _entityBuilder.Relations[relationIndex];\n\n                if (relation.IsProcessed)\n                {\n                    continue;\n                }\n\n                if (!entityBuilders.TryGetValue(relation.RightEntityName, out var foreignEntity))\n                {\n                    throw new InvalidOperationException($\"The entity '{relation.RightEntityName}' is being used in a relation on '{relation.LeftEntityBuilder.Type.Name}', but doesn't contain a 'Table<{relation.RightEntityName}>' entry in the Database.\");\n                }\n\n                if (relation.RightNavigationProperty is not null)\n                {\n                    foreignEntity.IgnoreProperty(relation.RightNavigationProperty.Name);\n                }\n\n                if (relation.RelationType == RelationType.OneToMany &&\n                    relation.LeftNavigationProperty is not null)\n                {\n                    entityInstance ??= Activator.CreateInstance(relation.LeftEntityBuilder.Type);\n\n                    var backingValue = relation.LeftNavigationProperty.GetValue(entityInstance);\n\n                    if (backingValue is null &&\n                        relation.LeftNavigationProperty.GetBackingField() is not null)\n                    {\n                        backingValue = relation.LeftNavigationProperty!.GetBackingField()!.GetValue(entityInstance);\n                    }\n\n                    relation.IsLeftNavigationPropertyInitialized = backingValue is not null;\n                }\n                else if (relation.RelationType == RelationType.ManyToOne &&\n                        relation.RightNavigationProperty is not null)\n                {\n                    var foreignEntityInstance = Activator.CreateInstance(foreignEntity.Type);\n\n                    var backingValue = relation.RightNavigationProperty.GetValue(foreignEntityInstance);\n\n                    if (backingValue is null &&\n                        relation.RightNavigationProperty.GetBackingField() is not null)\n                    {\n                        backingValue = relation.RightNavigationProperty!.GetBackingField()!.GetValue(foreignEntityInstance);\n                    }\n\n                    relation.IsRightNavigationPropertyInitialized = backingValue is not null;\n                }\n\n                foreignEntity.Relations.Add(new EntityRelationDefinition(relation.RelationId, foreignEntity, relation.RightNavigationProperty, relation.LeftEntityBuilder.Type.Name, relation.LeftNavigationProperty, relation.ForeignKeyColumnName, ReverseRelationType(relation.RelationType), ReverseKeyLocation(relation.ForeignKeyLocation))\n                {\n                    IsProcessed = true,\n                    IsLeftNavigationPropertyInitialized = relation.IsRightNavigationPropertyInitialized,\n                    IsRightNavigationPropertyInitialized = relation.IsLeftNavigationPropertyInitialized\n                });\n\n                relation.IsProcessed = true;\n            }\n        }\n\n        internal override void ApplyForeignRelations(Dictionary<string, Entity> entities)\n        {\n            if (_entityBuilder.Relations.Count == 0)\n            {\n                return;\n            }\n\n            var foreignEntityRelations = new EntityRelation[_entityBuilder.Relations.Count];\n            var relationIdToColumn = new Dictionary<uint, EntityRelation>();\n            var relationNameToColumn = new Dictionary<string, EntityRelation>();\n\n            for (var i = _entityBuilder.Relations.Count - 1; i >= 0; i--)\n            {\n                var relation = _entityBuilder.Relations[i];\n\n                var relationEntity = entities[relation.RightEntityName];\n\n                EntityColumn keyColumn;\n\n                if (relation.ForeignKeyLocation == ForeignKeyLocation.Left)\n                {\n                    keyColumn = _entity.GetColumn(relation.ForeignKeyColumnName);\n                }\n                else\n                {\n                    keyColumn = relationEntity.GetColumn(relation.ForeignKeyColumnName);\n                }\n\n                if (relation.RelationType == RelationType.OneToMany &&\n                    relation.LeftNavigationProperty is not null &&\n                    !typeof(IList<>).MakeGenericType(relation.LeftNavigationProperty.PropertyType.GetGenericArguments()[0]).IsAssignableFrom(relation.LeftNavigationProperty.PropertyType))\n                {\n                    throw new InvalidOperationException($\"The entity '{relation.LeftEntityBuilder.Type.Name}' defines the navigation property '{relation.LeftNavigationProperty.Name}' of type '{relation.LeftNavigationProperty.PropertyType.Name}', however Venflow requires the assigned instance to implement IList<T>.\");\n                }\n\n                var entityRelation = new EntityRelation(relation.RelationId, _entity, relation.LeftNavigationProperty, relation.IsLeftNavigationPropertyInitialized, relation.LeftNavigationProperty?.IsNullableReferenceType(_entity.IsInNullableContext, _entity.DefaultPropNullability) ?? false, relationEntity, relation.RightNavigationProperty, relation.IsRightNavigationPropertyInitialized, relation.RightNavigationProperty?.IsNullableReferenceType(_entity.IsInNullableContext, _entity.DefaultPropNullability) ?? false, keyColumn, relation.RelationType, relation.ForeignKeyLocation);\n\n                if (entityRelation.RightEntity.Relations is not null &&\n                    entityRelation.RightEntity.Relations.TryGetValue(relation.RelationId, out var sibilingRelation))\n                {\n                    entityRelation.Sibiling = sibilingRelation!;\n                    sibilingRelation!.Sibiling = entityRelation;\n                }\n\n                foreignEntityRelations[i] = entityRelation;\n\n                relationIdToColumn.Add(relation.RelationId, entityRelation);\n\n                if (entityRelation.LeftNavigationProperty is not null)\n                {\n#if !NET48\n                    if (!relationNameToColumn.TryAdd(entityRelation.LeftNavigationProperty.Name, entityRelation))\n                    {\n                        throw new InvalidOperationException($\"The relation between '{entityRelation.LeftEntity.EntityName}' and '{entityRelation.RightEntity.EntityName}' using the foreign property '{entityRelation.LeftNavigationProperty.Name}' and the foreign key '{entityRelation.ForeignKeyColumn.PropertyInfo.Name}', was defined in both entity configurations.\");\n                    }\n#else\n                    if (relationNameToColumn.ContainsKey(entityRelation.LeftNavigationProperty.Name))\n                    {\n                        throw new InvalidOperationException($\"The relation between '{entityRelation.LeftEntity.EntityName}' and '{entityRelation.RightEntity.EntityName}' using the foreign property '{entityRelation.LeftNavigationProperty.Name}' and the foreign key '{entityRelation.ForeignKeyColumn.PropertyInfo.Name}', was defined in both entity configurations.\");\n\n                    }\n\n                    relationNameToColumn.Add(entityRelation.LeftNavigationProperty.Name, entityRelation);\n#endif\n                }\n            }\n\n            _entity.Relations = new TrioKeyCollection<uint, string, EntityRelation>(foreignEntityRelations, relationIdToColumn, relationNameToColumn);\n        }\n\n        private string GetColumnListString(EntityColumnCollection<TEntity> columns, ColumnListStringOptions options)\n        {\n            var sb = new StringBuilder();\n\n            var index = (options & ColumnListStringOptions.IncludePrimaryColumns) != 0 ? 0 : columns.RegularColumnsOffset;\n\n            for (; index < columns.Count; index++)\n            {\n                var column = columns[index];\n\n                if (column.Options.HasFlag(ColumnOptions.ReadOnly) && index > 0)\n                    continue;\n\n                sb.Append(column.NormalizedColumnName)\n                  .Append(\", \");\n            }\n\n            sb.Length -= 2;\n\n            return sb.ToString();\n        }\n\n        private ForeignKeyLocation ReverseKeyLocation(ForeignKeyLocation foreignKeyLocation) =>\n            foreignKeyLocation switch\n            {\n                ForeignKeyLocation.Left => ForeignKeyLocation.Right,\n                ForeignKeyLocation.Right => ForeignKeyLocation.Left,\n                _ => throw new NotImplementedException()\n            };\n\n        private RelationType ReverseRelationType(RelationType relationType) =>\n            relationType switch\n            {\n                RelationType.OneToMany => RelationType.ManyToOne,\n                RelationType.ManyToOne => RelationType.OneToMany,\n                RelationType.OneToOne => RelationType.OneToOne,\n                _ => throw new NotImplementedException()\n            };\n    }\n\n    internal abstract class EntityFactory\n    {\n        internal abstract EntityBuilder EntityBuilder { get; }\n\n        protected EntityFactory()\n        {\n        }\n\n        internal abstract Entity BuildEntity();\n\n        internal abstract void ConfigureForeignRelations(Dictionary<string, EntityBuilder> entityBuilders);\n\n        internal abstract void ApplyForeignRelations(Dictionary<string, Entity> entities);\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Modeling/Definitions/EntityRelationDefinition.cs",
    "content": "﻿using Venflow.Enums;\nusing Venflow.Modeling.Definitions.Builder;\n\nnamespace Venflow.Modeling.Definitions\n{\n    internal class EntityRelationDefinition\n    {\n        internal bool IsProcessed { get; set; }\n\n        internal uint RelationId { get; }\n\n        internal EntityBuilder LeftEntityBuilder { get; }\n        internal PropertyInfo? LeftNavigationProperty { get; }\n\n        internal bool IsLeftNavigationPropertyInitialized { get; set; }\n\n        internal string RightEntityName { get; }\n        internal PropertyInfo? RightNavigationProperty { get; }\n\n        internal bool IsRightNavigationPropertyInitialized { get; set; }\n\n        internal string ForeignKeyColumnName { get; set; }\n\n        internal RelationType RelationType { get; }\n        internal ForeignKeyLocation ForeignKeyLocation { get; }\n\n        internal EntityRelationDefinition(uint relationId, EntityBuilder leftEntity, PropertyInfo? leftNavigationProperty, string rightEntityName, PropertyInfo? rightNavigationProperty, string foreignKeyColumnName, RelationType relationType, ForeignKeyLocation foreignKeyLocation)\n        {\n            RelationId = relationId;\n            LeftEntityBuilder = leftEntity;\n            LeftNavigationProperty = leftNavigationProperty;\n            RightEntityName = rightEntityName;\n            RightNavigationProperty = rightNavigationProperty;\n            ForeignKeyColumnName = foreignKeyColumnName;\n            RelationType = relationType;\n            ForeignKeyLocation = foreignKeyLocation;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Modeling/Definitions/ExpressionExtensions.cs",
    "content": "﻿using System.Linq.Expressions;\n\nnamespace Venflow.Modeling.Definitions\n{\n    internal static class ExpressionExtensions\n    {\n        internal static PropertyInfo ValidatePropertySelector<TSource, TTarget>(this Expression<Func<TSource, TTarget>> propertySelector, bool validateSetter = true)\n        {\n            if (propertySelector.Body is not MemberExpression body)\n            {\n                throw new ArgumentException($\"The provided {nameof(propertySelector)} is not pointing to a property.\", nameof(propertySelector));\n            }\n\n            if (body.Member is not PropertyInfo property)\n            {\n                throw new ArgumentException($\"The provided {nameof(propertySelector)} is not pointing to a property.\", nameof(propertySelector));\n            }\n\n            if (validateSetter && (!property.CanWrite || !property.SetMethod!.IsPublic))\n            {\n                throw new ArgumentException($\"The provided property doesn't contain a setter or it isn't public.\", nameof(propertySelector));\n            }\n\n            var type = typeof(TSource);\n\n            if (type != property.ReflectedType &&\n                !type.IsSubclassOf(property.ReflectedType!))\n            {\n                throw new ArgumentException($\"The provided {nameof(propertySelector)} is not pointing to a property on the entity itself.\", nameof(propertySelector));\n            }\n\n            return property;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Modeling/Entity.cs",
    "content": "using Venflow.Dynamic.Inserter;\nusing Venflow.Dynamic.Materializer;\nusing Venflow.Dynamic.Proxies;\nusing Venflow.Enums;\n\nnamespace Venflow.Modeling\n{\n    internal class Entity<TEntity> : Entity where TEntity : class, new()\n    {\n        internal EntityColumnCollection<TEntity> Columns { get; }\n        internal EntityColumn<TEntity>? PrimaryColumn { get; }\n\n        internal Func<ChangeTracker<TEntity>, TEntity>? ChangeTrackerFactory { get; }\n        internal Func<ChangeTracker<TEntity>, TEntity, TEntity>? ChangeTrackerApplier { get; }\n\n        internal MaterializerFactory<TEntity> MaterializerFactory { get; }\n        internal InsertionFactory<TEntity> InsertionFactory { get; }\n\n        internal override bool HasDbGeneratedPrimaryKey => PrimaryColumn is not null && PrimaryColumn.Options.HasFlag(ColumnOptions.Generated);\n\n        internal Entity(Type entityType, Type? proxyEntityType, string tableName, bool isInNullableContext, bool defaultPropNullability, EntityColumnCollection<TEntity> columns, EntityColumn<TEntity>? primaryColumn, string columnListString, string nonPrimaryColumnListString, Func<ChangeTracker<TEntity>, TEntity>? changeTrackerFactory, Func<ChangeTracker<TEntity>, TEntity, TEntity>? changeTrackerApplier) : base(entityType, proxyEntityType, tableName, isInNullableContext, defaultPropNullability, columnListString, nonPrimaryColumnListString)\n        {\n            ChangeTrackerFactory = changeTrackerFactory;\n            ChangeTrackerApplier = changeTrackerApplier;\n            Columns = columns;\n            PrimaryColumn = primaryColumn;\n\n            MaterializerFactory = new MaterializerFactory<TEntity>(this);\n            InsertionFactory = new InsertionFactory<TEntity>(this);\n        }\n\n        internal TEntity GetProxiedEntity(bool trackChanges = false)\n        {\n            if (ChangeTrackerFactory is null)\n            {\n                throw new InvalidOperationException($\"The entity {EntityType.Name} doesn't contain any properties which are marked as virtual. Therefor no proxy entity exists.\");\n            }\n\n            return ChangeTrackerFactory.Invoke(new ChangeTracker<TEntity>(Columns.ChangeTrackedCount, trackChanges));\n        }\n\n        internal TEntity ApplyChangeTracking(TEntity entity)\n        {\n            if (ChangeTrackerApplier is null)\n            {\n                throw new InvalidOperationException($\"The entity {EntityType.Name} doesn't contain any properties which are marked as virtual. Therefor no proxy entity exists.\");\n            }\n\n            return ChangeTrackerApplier.Invoke(new ChangeTracker<TEntity>(Columns.ChangeTrackedCount, false), entity);\n        }\n\n        internal override EntityColumn? GetPrimaryColumn()\n        {\n            return PrimaryColumn;\n        }\n\n        internal override EntityColumn GetColumn(int index)\n        {\n            return Columns[index];\n        }\n\n        internal override EntityColumn GetColumn(string columnName)\n        {\n            return Columns[columnName];\n        }\n\n        internal override bool TryGetColumn(string columnName, out EntityColumn? entityColumn)\n        {\n            if (Columns.TryGetValue(columnName, out var tempColumn))\n            {\n                entityColumn = tempColumn;\n\n                return true;\n            }\n            else\n            {\n                entityColumn = null;\n\n                return false;\n            }\n        }\n\n        internal override int GetColumnCount()\n            => Columns.Count;\n\n        internal override int GetChangeTrackingCount()\n            => Columns.ChangeTrackedCount;\n\n        internal override int GetReadOnlyCount()\n            => Columns.ReadOnlyCount;\n\n        internal override int GetRegularColumnOffset()\n            => Columns.RegularColumnsOffset;\n\n        internal override int GetLastRegularColumnsIndex()\n            => Columns.LastRegularColumnsIndex;\n    }\n\n    internal abstract class Entity\n    {\n        internal string EntityName { get; }\n        internal string TableName { get; }\n\n        internal bool IsInNullableContext { get; }\n        internal bool DefaultPropNullability { get; }\n\n        internal abstract bool HasDbGeneratedPrimaryKey { get; }\n\n        internal Type EntityType { get; }\n        internal Type? ProxyEntityType { get; }\n\n        internal TrioKeyCollection<uint, string, EntityRelation>? Relations { get; set; }\n\n        internal string ColumnListString { get; }\n        internal string NonPrimaryColumnListString { get; }\n\n        protected Entity(Type entityType, Type? proxyEntityType, string tableName, bool isInNullableContext, bool defaultPropNullability, string columnListString, string nonPrimaryColumnListString)\n        {\n            EntityType = entityType;\n            ProxyEntityType = proxyEntityType;\n            EntityName = entityType.Name;\n            TableName = tableName;\n            IsInNullableContext = isInNullableContext;\n            DefaultPropNullability = defaultPropNullability;\n            ColumnListString = columnListString;\n            NonPrimaryColumnListString = nonPrimaryColumnListString;\n        }\n\n        internal abstract EntityColumn? GetPrimaryColumn();\n        internal abstract int GetColumnCount();\n        internal abstract int GetChangeTrackingCount();\n        internal abstract int GetReadOnlyCount();\n        internal abstract int GetRegularColumnOffset();\n        internal abstract int GetLastRegularColumnsIndex();\n        internal abstract EntityColumn GetColumn(int index);\n        internal abstract EntityColumn GetColumn(string columnName);\n        internal abstract bool TryGetColumn(string columnName, out EntityColumn? entityColumn);\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Modeling/EntityColumn.cs",
    "content": "﻿using Npgsql;\nusing NpgsqlTypes;\nusing Venflow.Enums;\n\nnamespace Venflow.Modeling\n{\n    internal class EntityColumn<TEntity> : EntityColumn where TEntity : class, new()\n    {\n        internal Func<TEntity, string, NpgsqlParameter> ValueRetriever { get; }\n\n        internal EntityColumn(\n            PropertyInfo propertyInfo, \n            string columnName, \n            string queryColumnName, \n            Func<TEntity, string, NpgsqlParameter> valueRetriever, \n            NpgsqlDbType? dbType, \n            ColumnOptions options\n            ) \n            : base(propertyInfo, columnName, queryColumnName, dbType, options)\n        {\n            ValueRetriever = valueRetriever;\n        }\n    }\n\n    internal abstract class EntityColumn\n    {\n        internal string ColumnName { get; }\n        internal string NormalizedColumnName { get; }\n\n        internal PropertyInfo PropertyInfo { get; }\n        internal NpgsqlDbType? DbType { get; }\n        internal ColumnOptions Options { get; }\n\n        protected EntityColumn(\n            PropertyInfo propertyInfo, \n            string columnName,\n            string normalizedColumnName,\n            NpgsqlDbType? dbType, \n            ColumnOptions options\n            )\n        {\n            PropertyInfo = propertyInfo;\n            ColumnName = columnName;\n            NormalizedColumnName = normalizedColumnName;\n            DbType = dbType;\n            Options = options;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Modeling/EntityColumnCollection.cs",
    "content": "﻿namespace Venflow.Modeling\n{\n    internal class EntityColumnCollection<TEntity> : DualKeyCollection<string, EntityColumn<TEntity>> where TEntity : class, new()\n    {\n        internal int RegularColumnsOffset { get; }\n        internal int LastRegularColumnsIndex { get; }\n        internal int ReadOnlyCount { get; }\n        internal int ChangeTrackedCount { get; }\n\n        internal EntityColumnCollection(EntityColumn<TEntity>[] firstCollction, Dictionary<string, EntityColumn<TEntity>> twoToOne, int regularColumnsOffset, int lastRegularColumnsIndex, int readOnlyCount, int changeTrackedCount) : base(firstCollction, twoToOne)\n        {\n            LastRegularColumnsIndex = lastRegularColumnsIndex;\n            RegularColumnsOffset = regularColumnsOffset;\n            ReadOnlyCount = readOnlyCount;\n            ChangeTrackedCount = changeTrackedCount;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Modeling/EntityRelation.cs",
    "content": "﻿using Venflow.Enums;\n\nnamespace Venflow.Modeling\n{\n    internal class EntityRelation\n    {\n        internal uint RelationId { get; }\n\n        internal Entity LeftEntity { get; }\n        internal PropertyInfo? LeftNavigationProperty { get; }\n        internal bool IsLeftNavigationPropertyInitialized { get; }\n        internal bool IsLeftNavigationPropertyNullable { get; }\n\n        internal Entity RightEntity { get; }\n        internal PropertyInfo? RightNavigationProperty { get; }\n        internal bool IsRightNavigationPropertyNullable { get; }\n        internal bool IsRightNavigationPropertyInitialized { get; }\n\n        internal EntityColumn ForeignKeyColumn { get; }\n        internal RelationType RelationType { get; }\n        internal ForeignKeyLocation ForeignKeyLocation { get; }\n\n        internal EntityRelation Sibiling { get; set; } = null!;\n\n        internal EntityRelation(uint relationId, Entity leftEntity, PropertyInfo? leftNavigationProperty, bool isLeftNavigationPropertyInitialized, bool isLeftNavigationPropertyNullable, Entity rightEntity,\n                                PropertyInfo? rightNavigationProperty, bool isRightNavigationPropertyInitialized, bool isRightNavigationPropertyNullable, EntityColumn foreignKeyColumn, RelationType relationType, ForeignKeyLocation foreignKeyLocation)\n        {\n            RelationId = relationId;\n            LeftEntity = leftEntity;\n            LeftNavigationProperty = leftNavigationProperty;\n            IsLeftNavigationPropertyInitialized = isLeftNavigationPropertyInitialized;\n            IsLeftNavigationPropertyNullable = isLeftNavigationPropertyNullable;\n            RightEntity = rightEntity;\n            RightNavigationProperty = rightNavigationProperty;\n            IsRightNavigationPropertyInitialized = isRightNavigationPropertyInitialized;\n            IsRightNavigationPropertyNullable = isRightNavigationPropertyNullable;\n            ForeignKeyColumn = foreignKeyColumn;\n            RelationType = relationType;\n            ForeignKeyLocation = foreignKeyLocation;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/NpgsqlCommandExtensions.cs",
    "content": "﻿using Npgsql;\n\nnamespace Venflow\n{\n    /// <summary>\n    /// Provides a set of useful extension methods for the <see cref=\"NpgsqlCommand\"/> class.\n    /// </summary>\n    public static class NpgsqlCommandExtensions\n    {\n        /// <summary>\n        /// Adds a new Parameter to the <see cref=\"NpgsqlCommand.Parameters\"/> collection.\n        /// </summary>\n        /// <typeparam name=\"TType\">The value type of the Parameter.</typeparam>\n        /// <param name=\"command\">The command to which the Parameter should be added.</param>\n        /// <param name=\"parameterName\">The name of the Parameter.</param>\n        /// <param name=\"value\">The value of the Parameter.</param>\n        /// <returns>the just created <see cref=\"NpgsqlParameter{TType}\"/>.</returns>\n        public static NpgsqlParameter<TType> AddParamter<TType>(this NpgsqlCommand command, string parameterName, TType value)\n        {\n            var parameter = new NpgsqlParameter<TType>(parameterName, value);\n\n            command.Parameters.Add(parameter);\n\n            return parameter;\n        }\n\n        /// <summary>\n        /// Sets the command text of the used <see cref=\"NpgsqlCommand\"/>. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"command\">The command of which the command text should be set. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation.</param>\n        /// <param name=\"sql\">A string containing the SQL statement.</param>\n        public static void SetInterpolatedCommandText(this NpgsqlCommand command, FormattableString sql)\n        {\n            var argumentsSpan = sql.GetArguments().AsSpan();\n\n            var sqlLength = sql.Format.Length;\n\n            var argumentedSql = new StringBuilder(sqlLength);\n\n            var sqlSpan = sql.Format.AsSpan();\n\n            var argumentIndex = 0;\n            var parameterIndex = 0;\n\n            for (var spanIndex = 0; spanIndex < sqlLength; spanIndex++)\n            {\n                var spanChar = sqlSpan[spanIndex];\n\n                if (spanChar == '{' &&\n                    spanIndex + 2 < sqlLength)\n                {\n                    for (spanIndex++; spanIndex < sqlLength; spanIndex++)\n                    {\n                        spanChar = sqlSpan[spanIndex];\n\n                        if (spanChar == '}')\n                            break;\n\n                        if (spanChar is < '0' or > '9')\n                            throw new InvalidOperationException();\n                    }\n\n                    var argument = argumentsSpan[argumentIndex++];\n\n                    if (argument is IList list)\n                    {\n                        if (list.Count > 0)\n                        {\n                            var listType = default(Type);\n\n                            for (var listIndex = 0; listIndex < list.Count; listIndex++)\n                            {\n                                var listItem = list[listIndex];\n\n                                if (listType is null &&\n                                    listItem is not null)\n                                {\n                                    listType = listItem.GetType();\n\n                                    if (listType == typeof(object))\n                                        throw new InvalidOperationException(\"The SQL string interpolation doesn't support object lists.\");\n                                }\n\n                                var parameterName = \"@p\" + parameterIndex++.ToString();\n\n                                argumentedSql.Append(parameterName)\n                                             .Append(\", \");\n\n                                command.Parameters.Add(ParameterTypeHandler.HandleParameter(parameterName, listType!, listItem));\n                            }\n\n                            argumentedSql.Length -= 2;\n                        }\n\n                        parameterIndex--;\n                    }\n                    else\n                    {\n                        var parameterName = \"@p\" + parameterIndex++.ToString();\n\n                        argumentedSql.Append(parameterName);\n\n                        command.Parameters.Add(ParameterTypeHandler.HandleParameter(parameterName, argument));\n                    }\n                }\n                else\n                {\n                    argumentedSql.Append(spanChar);\n                }\n            }\n\n            command.CommandText = argumentedSql.ToString();\n        }\n\n        /// <summary>\n        /// Gets the un-parameterized command text of the used <see cref=\"NpgsqlCommand\"/>.\n        /// </summary>\n        /// <param name=\"command\">The command of which the command text should be set. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation.</param>\n        /// <returns>The un-parameterized command text.</returns>\n        /// <remarks>\n        /// <strong>This API may very likely not return the exact SQL the server will be using!</strong> This is due to its client-side implementation. The returned SQL is just a rough estimate of what the server may be using. Additionally this API does require the naming of parameters to be like '@p' followed by their index. Furthermore the parameters have to be in the exact order as their placeholder.\n        /// </remarks>\n        public static string GetUnParameterizedCommandText(this NpgsqlCommand command)\n        {\n            var sqlLength = command.CommandText.Length;\n\n            var argumentedSql = new StringBuilder(sqlLength);\n\n            var sqlSpan = command.CommandText.AsSpan();\n\n            var argumentIndex = 0;\n\n            for (var spanIndex = 0; spanIndex < sqlLength; spanIndex++)\n            {\n                var spanChar = sqlSpan[spanIndex];\n\n                if (spanChar == '@' &&\n                    spanIndex + 2 < sqlLength &&\n                    sqlSpan[spanIndex + 1] == 'p')\n                {\n                    for (spanIndex++; spanIndex < sqlLength; spanIndex++)\n                    {\n                        spanChar = sqlSpan[spanIndex];\n\n                        if (spanChar is < '0' or > '9')\n                            break;\n                    }\n\n                    spanIndex++;\n\n                    var argument = command.Parameters[argumentIndex++];\n\n                    if (argument.Value is null or DBNull)\n                    {\n                        argumentedSql.Append(\"null\");\n                    }\n                    else\n                    {\n                        argumentedSql.Append('\\'')\n                                     .Append(argument.Value.ToString())\n                                     .Append('\\'');\n                    }\n                }\n                else\n                {\n                    argumentedSql.Append(spanChar);\n                }\n            }\n\n            return argumentedSql.ToString();\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/NpgsqlDataReaderExtensions.cs",
    "content": "﻿using Npgsql;\n\nnamespace Venflow\n{\n    internal static class NpgsqlDataReaderExtensions\n    {\n        internal static T GetValueOrDefault<T>(this NpgsqlDataReader reader, int ordinal)\n            => reader.IsDBNull(ordinal) ? default! : reader.GetFieldValue<T>(ordinal);\n    }\n}\n"
  },
  {
    "path": "src/Venflow/NpgsqlParameterExtensions.cs",
    "content": "﻿using System.Data;\nusing Npgsql;\n\nnamespace Venflow\n{\n    internal static class NpgsqlParameterExtensions\n    {\n        internal static NpgsqlParameter<T> CreateParameter<T>(string parameterName, T value, DbType dbType)\n        {\n            var parameter = new NpgsqlParameter<T>(parameterName, dbType);\n\n            parameter.TypedValue = value;\n\n            return parameter;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/NpgsqlQuotedNameTranslator.cs",
    "content": "﻿using Npgsql;\nusing Npgsql.NameTranslation;\n\nnamespace Venflow\n{\n    /// <summary>\n    /// A name translator which preserves CLR names (e.g. SomeClass) when mapping names to the database.\n    /// </summary>\n    public class NpgsqlQuotedNameTranslator : NpgsqlNullNameTranslator, INpgsqlNameTranslator\n    {\n        /// <summary>\n        /// Given a CLR type name (e.g class, struct, enum), translates its name to a database type name.\n        /// </summary>\n        public new string TranslateTypeName(string clrName) => $\"\\\"{base.TranslateTypeName(clrName)}\\\"\";\n\n        /// <summary>\n        /// Given a CLR member name (property or field), translates its name to a database type name.\n        /// </summary>\n        public new string TranslateMemberName(string clrName) => $\"\\\"{base.TranslateMemberName(clrName)}\\\"\";\n    }\n}\n"
  },
  {
    "path": "src/Venflow/ParameterTypeHandler.cs",
    "content": "﻿using Npgsql;\nusing NpgsqlTypes;\n\nnamespace Venflow\n{\n    /// <summary>\n    /// A class which contains methods to configure the used type handlers while parsing Interpolated arguments.\n    /// </summary>\n    public static class ParameterTypeHandler\n    {\n        internal static HashSet<Type> PostgreEnums => _postgreEnums;\n\n        private readonly static Dictionary<Type, IParameterTypeHandler> _typeHandlers = new Dictionary<Type, IParameterTypeHandler>();\n        private readonly static Dictionary<Type, IParameterTypeHandler> _castHandlers = new Dictionary<Type, IParameterTypeHandler>(1);\n        private readonly static HashSet<Type> _postgreEnums = new HashSet<Type>(0);\n\n        static ParameterTypeHandler()\n        {\n            var uInt64Handler = new UInt64Handler();\n            AddTypeHandler(typeof(ulong), uInt64Handler);\n            AddTypeHandler(typeof(ulong?), uInt64Handler);\n\n            _castHandlers.Add(typeof(ulong), uInt64Handler);\n        }\n\n        /// <summary>\n        /// Adds a type handler.\n        /// </summary>\n        /// <param name=\"type\">The type to which the type handler should be mapped.</param>\n        /// <param name=\"typeHandler\">The type handler.</param>\n        public static void AddTypeHandler(Type type, IParameterTypeHandler typeHandler)\n           => _typeHandlers.Add(type, typeHandler);\n\n        internal static NpgsqlParameter HandleParameter(string name, object? val)\n        {\n            Type? type = null;\n            IParameterTypeHandler? handler;\n\n            switch (val)\n            {\n                case null:\n                    return new NpgsqlParameter(name, DBNull.Value);\n                case IKey key:\n                    val = key.BoxedValue;\n                    break;\n                case Enum:\n                    type = val.GetType();\n\n                    var tempType = Nullable.GetUnderlyingType(type) ?? type;\n\n                    if (!_postgreEnums.Contains(tempType))\n                    {\n                        if (!_typeHandlers.TryGetValue(tempType, out handler))\n                        {\n                            var underlyingType = tempType.GetEnumUnderlyingType();\n\n                            if (!_castHandlers.TryGetValue(underlyingType, out handler))\n                            {\n                                handler = (IParameterTypeHandler)Activator.CreateInstance(typeof(CastTypeHandler<>).MakeGenericType(underlyingType))!;\n\n                                _castHandlers.Add(underlyingType, handler);\n                            }\n\n                            _typeHandlers.Add(tempType, handler);\n                        }\n\n                        return handler.Handle(name, val);\n                    }\n                    break;\n            }\n\n            type ??= val!.GetType();\n\n            if (!_typeHandlers.TryGetValue(type, out handler))\n                return new NpgsqlParameter(name, val);\n\n            return handler.Handle(name, val!);\n        }\n\n        internal static NpgsqlParameter HandleParameter<T>(string name, T? val)\n        {\n            Type? type = null;\n            IParameterTypeHandler? handler;\n\n            switch (val)\n            {\n                case null:\n                    return new NpgsqlParameter<DBNull>(name, DBNull.Value);\n                case IKey key:\n                    var tempVal = key.BoxedValue;\n\n                    if (!_typeHandlers.TryGetValue(tempVal!.GetType(), out handler))\n                        return new NpgsqlParameter(name, tempVal);\n\n                    return handler.Handle(name, tempVal);\n                case Enum:\n                    type = val.GetType();\n\n                    var tempType = Nullable.GetUnderlyingType(type) ?? type;\n\n                    if (!_postgreEnums.Contains(tempType))\n                    {\n                        if (!_typeHandlers.TryGetValue(tempType, out handler))\n                        {\n                            var underlyingType = tempType.GetEnumUnderlyingType();\n\n                            if (!_castHandlers.TryGetValue(underlyingType, out handler))\n                            {\n                                handler = (IParameterTypeHandler)Activator.CreateInstance(typeof(CastTypeHandler<>).MakeGenericType(underlyingType!))!;\n\n                                _castHandlers.Add(underlyingType, handler!);\n                            }\n\n                            _typeHandlers.Add(tempType, handler);\n                        }\n\n                        return handler.Handle(name, val);\n                    }\n                    break;\n            }\n\n            type ??= val.GetType();\n\n            if (!_typeHandlers.TryGetValue(type, out handler))\n                return new NpgsqlParameter<T>(name, val);\n\n            return handler.Handle(name, val);\n        }\n\n        internal static NpgsqlParameter HandleParameter(string name, object? val, NpgsqlDbType dbType)\n        {\n            if (val is null)\n            {\n                return new NpgsqlParameter<DBNull>(name, DBNull.Value);\n            }\n\n            var parameter = new NpgsqlParameter(name, dbType);\n\n            parameter.Value = val;\n\n            return parameter;\n        }\n\n        internal static NpgsqlParameter HandleParameter(string name, Type type, object? val)\n        {\n            IParameterTypeHandler? handler;\n\n            switch (val)\n            {\n                case null:\n                    return new NpgsqlParameter(name, DBNull.Value);\n                case IKey key:\n                    val = key.BoxedValue;\n                    break;\n                case Enum:\n                    var tempType = Nullable.GetUnderlyingType(type) ?? type;\n\n                    if (!_postgreEnums.Contains(tempType))\n                    {\n                        if (!_typeHandlers.TryGetValue(tempType, out handler))\n                        {\n                            var underlyingType = tempType.GetEnumUnderlyingType();\n\n                            if (!_castHandlers.TryGetValue(underlyingType, out handler))\n                            {\n                                handler = (IParameterTypeHandler)Activator.CreateInstance(typeof(CastTypeHandler<>).MakeGenericType(underlyingType!))!;\n\n                                _castHandlers.Add(underlyingType, handler!);\n                            }\n\n                            _typeHandlers.Add(tempType, handler!);\n                        }\n\n                        return handler!.Handle(name, val);\n                    }\n                    break;\n            }\n\n            if (!_typeHandlers.TryGetValue(type, out handler))\n                return new NpgsqlParameter(name, val);\n\n            return handler.Handle(name, val!);\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Properties/AssemblyInfo.cs",
    "content": "﻿using System.Runtime.CompilerServices;\nusing Fody;\n\n#if NET5_0_OR_GREATER\n[module: SkipLocalsInit]\n#endif\n\n[assembly: InternalsVisibleTo(\"Venflow.Dynamic\" + AssemblyInfo.PublicKey)]\n[assembly: InternalsVisibleTo(\"Venflow.Tests\" + AssemblyInfo.PublicKey)]\n[assembly: InternalsVisibleTo(\"Venflow.Extensions.Logging\" + AssemblyInfo.PublicKey)]\n[assembly: InternalsVisibleTo(\"Venflow.NewtonsoftJson\" + AssemblyInfo.PublicKey)]\n\n[assembly: ConfigureAwait(false)]\n\nnamespace Venflow\n{\n    internal static class AssemblyInfo\n    {\n        internal const string PublicKey = \", PublicKey=\" +\n            \"002400000480000094000000060200000024000052534131000400000100010099f3f8321d5f56\" +\n            \"b9152b82741511adb2186619b29d92bcf32d16cbb2d6751ecdb4ea393cbd3e75648baf7ab3deb4\" +\n            \"e15d8fb26de92c2eddf9f38d1d2749ee9a7ab31006caae731ff601d950b7cf87750fea04ddf857\" +\n            \"d6187ea2060944d04cfd37e3bf82ec1bd94e7b912733bbb403cdc348a15b4ab9f29bf999f13f9d\" +\n            \"08a576b3\";\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Properties/GlobalUsings.cs",
    "content": "﻿global using System;\nglobal using System.Collections;\nglobal using System.Collections.Concurrent;\nglobal using System.Collections.Generic;\nglobal using System.Linq;\nglobal using System.Reflection;\nglobal using System.Text;\nglobal using System.Threading;\nglobal using System.Threading.Tasks;\nglobal using Venflow;\n"
  },
  {
    "path": "src/Venflow/PropertyInfoExtensions.cs",
    "content": "﻿using System.Runtime.CompilerServices;\n\nnamespace Venflow\n{\n    internal static class PropertyInfoExtensions\n    {\n        internal static bool IsNullableReferenceType(this PropertyInfo property, bool isClassInNullableContext, bool defaultPropNullability)\n        {\n            if (property.PropertyType.IsClass)\n            {\n                if (isClassInNullableContext)\n                {\n                    var nullableAttribute = property.GetCustomAttribute<NullableAttribute>();\n\n                    if (nullableAttribute is not null)\n                    {\n                        // Flag == 1 prop is not null-able if not otherwise specified. Flag == 2 reversed.\n                        return nullableAttribute.NullableFlags[0] == 2;\n                    }\n                    else\n                    {\n                        return defaultPropNullability;\n                    }\n                }\n                else\n                {\n                    return true;\n                }\n            }\n            else\n            {\n                return false;\n            }\n        }\n\n        internal static FieldInfo? GetBackingField(this PropertyInfo property)\n        {\n            if (!property.CanRead || !property.GetGetMethod(nonPublic: true)!.IsDefined(typeof(CompilerGeneratedAttribute), inherit: true))\n                return null;\n            var backingField = property!.DeclaringType!.GetField($\"<{property.Name}>k__BackingField\", BindingFlags.Instance | BindingFlags.NonPublic);\n\n            backingField ??= property!.DeclaringType.GetField($\"_{char.ToLowerInvariant(property.Name[0])}{property.Name.Substring(1)}\", BindingFlags.Instance | BindingFlags.NonPublic);\n\n            backingField ??= property!.DeclaringType.GetField($\"{char.ToLowerInvariant(property.Name[0])}{property.Name.Substring(1)}\", BindingFlags.Instance | BindingFlags.NonPublic);\n\n            if (backingField == null)\n                return null;\n\n            if (!backingField.IsDefined(typeof(CompilerGeneratedAttribute), inherit: true))\n                return null;\n\n            return backingField;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Table.cs",
    "content": "﻿using Npgsql;\nusing Venflow.Commands;\nusing Venflow.Enums;\nusing Venflow.Modeling;\n\nnamespace Venflow\n{\n    internal interface ITable { }\n\n    /// <summary>\n    /// A <see cref=\"Table{TEntity}\"/> is used to perform CRUD operations against the table represented by <typeparamref name=\"TEntity\"/>.\n    /// </summary>\n    /// <typeparam name=\"TEntity\">The entity which represents a table in the Database.</typeparam>\n    public sealed class Table<TEntity> : TableBase<TEntity>, ITable\n        where TEntity : class, new()\n    {\n        internal Table(Database database, Entity<TEntity> configuration) : base(database, configuration)\n        {\n        }\n\n        #region Misc\n\n        /// <summary>\n        /// Asynchronously truncates the current table with the provided options.\n        /// </summary>\n        /// <param name=\"foreignOptions\">Specifies how the truncate operation should handle foreign tables.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation.</returns>\n        /// <remarks>This method represents the following SQL statement \"TRUNCATE table [CASCADE|RESTRICT|NONE]\".</remarks>\n        public Task TruncateAsync(ForeignTruncateOptions foreignOptions, CancellationToken cancellationToken = default)\n            => TruncateAsync(IdentityTruncateOptions.None, foreignOptions, cancellationToken);\n\n        /// <summary>\n        /// Asynchronously truncates the current table with the provided options.\n        /// </summary>\n        /// <param name=\"truncateOptions\">Specifies how the truncate operation should handle identities in the table.</param>\n        /// <param name=\"foreignOptions\">Specifies how the truncate operation should handle foreign tables.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation.</returns>\n        /// <remarks>This method represents the following SQL statement \"TRUNCATE table [RESTART IDENTITY|CONTINUE IDENTITY|NONE] [CASCADE|RESTRICT|NONE]\".</remarks>\n        public async Task TruncateAsync(IdentityTruncateOptions truncateOptions = IdentityTruncateOptions.None, ForeignTruncateOptions foreignOptions = ForeignTruncateOptions.None, CancellationToken cancellationToken = default)\n        {\n            await ValidateConnectionAsync();\n\n            var entityConfiguration = Configuration;\n\n            var sb = new StringBuilder()\n                        .Append(\"TRUNCATE \")\n                        .Append(entityConfiguration.TableName);\n\n            switch (truncateOptions)\n            {\n                case IdentityTruncateOptions.None:\n                    break;\n                case IdentityTruncateOptions.Restart:\n                    sb.Append(\" RESTART IDENTITY\");\n                    break;\n                case IdentityTruncateOptions.Continue:\n                    sb.Append(\" CONTINUE IDENTITY\");\n                    break;\n            }\n\n            switch (foreignOptions)\n            {\n                case ForeignTruncateOptions.None:\n                    break;\n                case ForeignTruncateOptions.Cascade:\n                    sb.Append(\" CASCADE\");\n                    break;\n                case ForeignTruncateOptions.Restrict:\n                    sb.Append(\" RESTRICT\");\n                    break;\n            }\n\n            using var command = new NpgsqlCommand(sb.ToString(), Database.GetConnection());\n\n            await command.ExecuteNonQueryAsync(cancellationToken);\n        }\n\n        /// <summary>\n        /// Asynchronously counts the total rows the current table.\n        /// </summary>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows.</returns>\n        /// <remarks>This method represents the following SQL statement \"SELECT COUNT(*) FROM table\".</remarks>\n        public async Task<long> CountAsync(CancellationToken cancellationToken = default)\n        {\n            await ValidateConnectionAsync();\n\n            using var command = new NpgsqlCommand(\"SELECT COUNT(*) FROM \" + Configuration.TableName, Database.GetConnection());\n\n            return (long)(await command.ExecuteScalarAsync(cancellationToken))!;\n        }\n\n        #endregion\n\n        #region InsertAsync\n\n        /// <summary>\n        /// Asynchronously inserts the entity and all entities reachable from the current provided instance into the current table.\n        /// </summary>\n        /// <param name=\"entity\">A <typeparamref name=\"TEntity\"/> instance representing the row, which will be inserted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows inserted.</returns>\n        /// <remarks>This method represents the following SQL statement \"INSERT INTO table (foo, bar) VALUES ('foo', 'bar')\". This API is using parameterized commands.</remarks>\n        public Task<int> InsertAsync(TEntity entity, CancellationToken cancellationToken = default)\n        {\n            return Insert().WithAll().Build().InsertAsync(entity, cancellationToken);\n        }\n\n        /// <summary>\n        /// Asynchronously inserts the entity and all entities reachable from the current provided instance into the current table.\n        /// </summary>\n        /// <param name=\"insertCommand\">A <see cref=\"IInsertCommand{TEntity}\"/> instance which contains all the settings for this operation.</param>\n        /// <param name=\"entity\">A <typeparamref name=\"TEntity\"/> instance representing the row, which will be inserted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows inserted.</returns>\n        /// <remarks>This method represents the following SQL statement \"INSERT INTO table (foo, bar) VALUES ('foo', 'bar')\". This API is using parameterized commands.</remarks>\n        public Task<int> InsertAsync(IInsertCommand<TEntity> insertCommand, TEntity entity, CancellationToken cancellationToken = default)\n        {\n            ((VenflowBaseCommand<TEntity>)insertCommand).Database = Database;\n\n            return insertCommand.InsertAsync(entity, cancellationToken);\n        }\n\n        /// <summary>\n        /// Asynchronously inserts a list of entities and all entities reachable from the current provided instances into the current table.\n        /// </summary>\n        /// <param name=\"entities\">A list of <typeparamref name=\"TEntity\"/> instance representing the rows, which will be inserted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows inserted.</returns>\n        /// <remarks>This method represents the following SQL statement \"INSERT INTO table (foo, bar) VALUES ('foo', 'bar'), ('foo', 'bar')\". This API is using parameterized commands.</remarks>\n        public Task<int> InsertAsync(IList<TEntity> entities, CancellationToken cancellationToken = default)\n        {\n            return Insert().WithAll().Build().InsertAsync(entities, cancellationToken);\n        }\n\n\n        /// <summary>\n        /// Asynchronously inserts a list of entities and all entities reachable from the current provided instances into the current table.\n        /// </summary>\n        /// <param name=\"insertCommand\">A <see cref=\"IInsertCommand{TEntity}\"/> instance which contains all the settings for this operation.</param>\n        /// <param name=\"entities\">A list of <typeparamref name=\"TEntity\"/> instance representing the rows, which will be inserted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows inserted.</returns>\n        /// <remarks>This method represents the following SQL statement \"INSERT INTO table (foo, bar) VALUES ('foo', 'bar'), ('foo', 'bar')\". This API is using parameterized commands.</remarks>\n        public Task<int> InsertAsync(IInsertCommand<TEntity> insertCommand, List<TEntity> entities, CancellationToken cancellationToken = default)\n        {\n            ((VenflowBaseCommand<TEntity>)insertCommand).Database = Database;\n\n            return insertCommand.InsertAsync(entities, cancellationToken);\n        }\n\n        #endregion\n\n        #region DeleteAsync\n\n        /// <summary>\n        /// Asynchronously deletes the provided entity by its defined primary key.\n        /// </summary>\n        /// <param name=\"entity\">A <typeparamref name=\"TEntity\"/> instance representing the row, which will be deleted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows deleted.</returns>\n        /// <remarks>This method represents the following SQL statement \"DELETE FROM table WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        public ValueTask<int> DeleteAsync(TEntity entity, CancellationToken cancellationToken = default)\n        {\n            return Delete(true).Build().DeleteAsync(entity, cancellationToken);\n        }\n\n        /// <summary>\n        /// Asynchronously deletes the provided entity by its defined primary key.\n        /// </summary>\n        /// <param name=\"deleteCommand\">A <see cref=\"IDeleteCommand{TEntity}\"/> instance which contains all the settings for this operation.</param>\n        /// <param name=\"entity\">A <typeparamref name=\"TEntity\"/> instance representing the row, which will be deleted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows deleted.</returns>\n        /// <remarks>This method represents the following SQL statement \"DELETE FROM table WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        public ValueTask<int> DeleteAsync(IDeleteCommand<TEntity> deleteCommand, TEntity entity, CancellationToken cancellationToken = default)\n        {\n            var command = (VenflowBaseCommand<TEntity>)deleteCommand;\n\n            command.Database = Database;\n            command.UnderlyingCommand.Connection = Database.GetConnection();\n\n            return deleteCommand.DeleteAsync(entity, cancellationToken);\n        }\n\n        /// <summary>\n        /// Asynchronously deletes the provided entities by their defined primary keys.\n        /// </summary>\n        /// <param name=\"entities\">A set of <typeparamref name=\"TEntity\"/> instances representing the rows, which will be deleted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows deleted.</returns>\n        /// <remarks>This method represents the following SQL statement \"DELETE FROM table WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        public ValueTask<int> DeleteAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken = default)\n        {\n            return Delete(true).Build().DeleteAsync(entities, cancellationToken);\n        }\n\n        /// <summary>\n        /// Asynchronously deletes the provided entities by their defined primary keys.\n        /// </summary>\n        /// <param name=\"entities\">A set of <typeparamref name=\"TEntity\"/> instances representing the rows, which will be deleted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows deleted.</returns>\n        /// <remarks>This method represents the following SQL statement \"DELETE FROM table WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        public ValueTask<int> DeleteAsync(IList<TEntity> entities, CancellationToken cancellationToken = default)\n        {\n            return Delete(true).Build().DeleteAsync(entities, cancellationToken);\n        }\n\n        /// <summary>\n        /// Asynchronously deletes the provided entities by their defined primary keys.\n        /// </summary>\n        /// <param name=\"entities\">A set of <typeparamref name=\"TEntity\"/> instances representing the rows, which will be deleted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows deleted.</returns>\n        /// <remarks>This method represents the following SQL statement \"DELETE FROM table WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        public ValueTask<int> DeleteAsync(List<TEntity> entities, CancellationToken cancellationToken = default)\n        {\n            return Delete(true).Build().DeleteAsync(entities, cancellationToken);\n        }\n\n        /// <summary>\n        /// Asynchronously deletes the provided entities by their defined primary keys.\n        /// </summary>\n        /// <param name=\"entities\">A set of <typeparamref name=\"TEntity\"/> instances representing the rows, which will be deleted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows deleted.</returns>\n        /// <remarks>This method represents the following SQL statement \"DELETE FROM table WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        public ValueTask<int> DeleteAsync(TEntity[] entities, CancellationToken cancellationToken = default)\n        {\n            return Delete(true).Build().DeleteAsync(entities, cancellationToken);\n        }\n\n        /// <summary>\n        /// Asynchronously deletes the provided entities by their defined primary keys.\n        /// </summary>\n        /// <param name=\"deleteCommand\">A <see cref=\"IDeleteCommand{TEntity}\"/> instance which contains all the settings for this operation.</param>\n        /// <param name=\"entities\">A set of <typeparamref name=\"TEntity\"/> instances representing the rows, which will be deleted.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation, with the number of rows deleted.</returns>\n        /// <remarks>This method represents the following SQL statement \"DELETE FROM table WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        public ValueTask<int> DeleteAsync(IDeleteCommand<TEntity> deleteCommand, IEnumerable<TEntity> entities, CancellationToken cancellationToken = default)\n        {\n            var command = (VenflowBaseCommand<TEntity>)deleteCommand;\n\n            command.Database = Database;\n            command.UnderlyingCommand.Connection = Database.GetConnection();\n\n            return deleteCommand.DeleteAsync(entities, cancellationToken);\n        }\n\n        #endregion\n\n        #region UpdateAsync\n\n        /// <summary>\n        /// Asynchronously updates the provided entity by its defined primary keys.\n        /// </summary>\n        /// <param name=\"entity\">A <typeparamref name=\"TEntity\"/> instance representing the row, which will be updated.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation.</returns>\n        /// <remarks>This method represents the following SQL statement \"UPDATE table SET foo = 'foo' WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        public ValueTask UpdateAsync(TEntity entity, CancellationToken cancellationToken = default)\n        {\n            return Update(true).Build().UpdateAsync(entity, cancellationToken);\n        }\n\n        /// <summary>\n        /// Asynchronously updates the provided entity by its defined primary keys.\n        /// </summary>\n        /// <param name=\"updateCommand\">A <see cref=\"IUpdateCommand{TEntity}\"/> instance which contains all the settings for this operation.</param>\n        /// <param name=\"entity\">A <typeparamref name=\"TEntity\"/> instance representing the row, which will be updated.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation.</returns>\n        /// <remarks>This method represents the following SQL statement \"UPDATE table SET foo = 'foo' WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        public ValueTask UpdateAsync(IUpdateCommand<TEntity> updateCommand, TEntity entity, CancellationToken cancellationToken = default)\n        {\n            var command = (VenflowBaseCommand<TEntity>)updateCommand;\n\n            command.Database = Database;\n            command.UnderlyingCommand.Connection = Database.GetConnection();\n\n            return updateCommand.UpdateAsync(entity, cancellationToken);\n        }\n\n        /// <summary>\n        /// Asynchronously updates the provided entity by its defined primary keys.\n        /// </summary>\n        /// <param name=\"entities\">A set of <typeparamref name=\"TEntity\"/> instances representing the rows, which will be updated.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation.</returns>\n        /// <remarks>This method represents the following SQL statement \"UPDATE table SET foo = 'foo' WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        public ValueTask UpdateAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken = default)\n        {\n            return Update(true).Build().UpdateAsync(entities, cancellationToken);\n        }\n\n        /// <summary>\n        /// Asynchronously updates the provided entity by its defined primary keys.\n        /// </summary>\n        /// <param name=\"entities\">A set of <typeparamref name=\"TEntity\"/> instances representing the rows, which will be updated.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation.</returns>\n        /// <remarks>This method represents the following SQL statement \"UPDATE table SET foo = 'foo' WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        public ValueTask UpdateAsync(List<TEntity> entities, CancellationToken cancellationToken = default)\n        {\n            return Update(true).Build().UpdateAsync(entities, cancellationToken);\n        }\n\n        /// <summary>\n        /// Asynchronously updates the provided entity by its defined primary keys.\n        /// </summary>\n        /// <param name=\"entities\">A set of <typeparamref name=\"TEntity\"/> instances representing the rows, which will be updated.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation.</returns>\n        /// <remarks>This method represents the following SQL statement \"UPDATE table SET foo = 'foo' WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        public ValueTask UpdateAsync(IList<TEntity> entities, CancellationToken cancellationToken = default)\n        {\n            return Update(true).Build().UpdateAsync(entities, cancellationToken);\n        }\n\n        /// <summary>\n        /// Asynchronously updates the provided entity by its defined primary keys.\n        /// </summary>\n        /// <param name=\"entities\">A set of <typeparamref name=\"TEntity\"/> instances representing the rows, which will be updated.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation.</returns>\n        /// <remarks>This method represents the following SQL statement \"UPDATE table SET foo = 'foo' WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        public ValueTask UpdateAsync(TEntity[] entities, CancellationToken cancellationToken = default)\n        {\n            return Update(true).Build().UpdateAsync(entities, cancellationToken);\n        }\n\n        /// <summary>\n        /// Asynchronously updates the provided entity by its defined primary keys.\n        /// </summary>\n        /// <param name=\"updateCommand\">A <see cref=\"IUpdateCommand{TEntity}\"/> instance which contains all the settings for this operation.</param>\n        /// <param name=\"entities\">A set of <typeparamref name=\"TEntity\"/> instances representing the rows, which will be updated.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation.</returns>\n        /// <remarks>This method represents the following SQL statement \"UPDATE table SET foo = 'foo' WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        public ValueTask UpdateAsync(IUpdateCommand<TEntity> updateCommand, IEnumerable<TEntity> entities, CancellationToken cancellationToken = default)\n        {\n            var command = (VenflowBaseCommand<TEntity>)updateCommand;\n\n            command.Database = Database;\n            command.UnderlyingCommand.Connection = Database.GetConnection();\n\n            return updateCommand.UpdateAsync(entities, cancellationToken);\n        }\n\n        #endregion\n\n        #region Builder\n\n        /// <summary>\n        /// Creates a new insert command.\n        /// </summary>\n        /// <returns>A Fluent API Builder for a insert command.</returns>\n        /// <remarks>The command will be automatically disposed the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</remarks>\n        public IBaseInsertRelationBuilder<TEntity, TEntity> Insert()\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration).Insert();\n\n        /// <summary>\n        /// Creates a new delete command.\n        /// </summary>\n        /// <returns>A Fluent API Builder for a delete command.</returns>\n        /// <remarks>The command will be automatically disposed the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</remarks>\n        public IDeleteCommandBuilder<TEntity> Delete()\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, false).Delete();\n\n        /// <summary>\n        /// Creates a new delete command.\n        /// </summary>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a delete command.</returns>\n        public IDeleteCommandBuilder<TEntity> Delete(bool disposeCommand)\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).Delete();\n\n        /// <summary>\n        /// Creates a new update command.\n        /// </summary>\n        /// <returns>A Fluent API Builder for a update command.</returns>\n        public IUpdateCommandBuilder<TEntity> Update()\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, false).Update();\n\n        /// <summary>\n        /// Creates a new update command.\n        /// </summary>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a update command.</returns>\n        public IUpdateCommandBuilder<TEntity> Update(bool disposeCommand)\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).Update();\n\n        #endregion\n\n        #region ChangeTracking\n\n        /// <summary>\n        /// Constructs a new proxied instance of the <typeparamref name=\"TEntity\"/> entity.\n        /// </summary>\n        /// <returns>A <typeparamref name=\"TEntity\"/> instance which will be change tracked.</returns>\n        /// <remarks>Any property which should be change tracked on an entity has to be marked virtual.</remarks>\n        /// <exception cref=\"InvalidOperationException\">Thrown when the provided entity does not contain any virtual properties.</exception>\n        public TEntity GetProxiedEntity()\n            => Configuration.GetProxiedEntity();\n\n        /// <summary>\n        /// Starts tracking the provided <typeparamref name=\"TEntity\"/>.\n        /// </summary>\n        /// <param name=\"entity\">A <typeparamref name=\"TEntity\"/> instance which will be change tracked.</param>\n        /// <remarks>Any property which should be change tracked on an entity has to be marked virtual.</remarks>\n        /// <exception cref=\"InvalidOperationException\">Thrown when the provided entity does not contain any virtual properties.</exception>\n        public void TrackChanges(ref TEntity entity)\n        {\n            entity = Configuration.ApplyChangeTracking(entity);\n        }\n\n        /// <summary>\n        /// Starts tracking the provided <typeparamref name=\"TEntity\"/>'s.\n        /// </summary>\n        /// <param name=\"entities\">A set of <typeparamref name=\"TEntity\"/> instances which will be change tracked.</param>\n        /// <remarks>This method represents the following SQL statement \"UPDATE table SET foo = 'foo' WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        /// <remarks>Any property which should be change tracked on an entity has to be marked virtual.</remarks>\n        /// <exception cref=\"InvalidOperationException\">Thrown when a provided entity does not contain any virtual properties.</exception>\n        public void TrackChanges(IList<TEntity> entities)\n        {\n            for (var i = entities.Count - 1; i >= 0; i--)\n            {\n                entities[i] = Configuration.ApplyChangeTracking(entities[i]);\n            }\n        }\n\n        #endregion\n    }\n}\n"
  },
  {
    "path": "src/Venflow/TableBase.cs",
    "content": "using System.Data;\nusing System.Linq.Expressions;\nusing Npgsql;\nusing Venflow.Commands;\nusing Venflow.Modeling;\n\nnamespace Venflow\n{\n    /// <summary>\n    /// A <see cref=\"TableBase{TEntity}\"/> is used to perform query operations of all sorts.\n    /// </summary>\n    /// <typeparam name=\"TEntity\">The entity which represents a table in the Database.</typeparam>\n    public class TableBase<TEntity> where TEntity : class, new()\n    {\n        private protected Database Database { get; }\n        private protected Entity<TEntity> Configuration { get; }\n\n        internal TableBase(Database database, Entity<TEntity> configuration)\n        {\n            Database = database;\n            Configuration = configuration;\n        }\n\n        #region QueryAsync\n\n        /// <summary>\n        /// Asynchronously queries one or more entities with the configured joins.\n        /// </summary>\n        /// <param name=\"queryCommand\">A <see cref=\"IQueryCommand{TEntity, TReturn}\"/> instance representing the query which will be performed.</param>\n        /// <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n        /// <returns>A task representing the asynchronous operation, with the result of the executed query.</returns>\n        /// <remarks>This method could represents the following SQL statement \"SELECT * FROM table\".</remarks>\n        public Task<TReturn?> QueryAsync<TReturn>(IQueryCommand<TEntity, TReturn> queryCommand, CancellationToken cancellationToken = default) where TReturn : class, new()\n        {\n            var command = (VenflowBaseCommand<TEntity>)queryCommand;\n\n            command.Database = Database;\n            command.UnderlyingCommand.Connection = Database.GetConnection();\n\n            return queryCommand.QueryAsync(cancellationToken);\n        }\n\n        #endregion\n\n        #region Builder\n\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does not support string interpolation!</strong> If you need to pass parameters with the query, either use <see cref=\"QuerySingle(string, NpgsqlParameter[])\"/> or <see cref=\"QueryInterpolatedSingle(FormattableString, bool)\"/>.\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(string sql, bool disposeCommand = true)\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QuerySingle(sql);\n\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(Expression<Func<TEntity, FormattableString>> sql, bool disposeCommand = true)\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QuerySingleBase(sql);\n\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne>(Expression<Func<TEntity, TOne, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new()\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QuerySingleBase(sql);\n\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, Two>(Expression<Func<TEntity, TOne, Two, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new()\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QuerySingleBase(sql);\n\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, Two, TThree>(Expression<Func<TEntity, TOne, Two, TThree, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new()\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QuerySingleBase(sql);\n\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, Two, TThree, TFour>(Expression<Func<TEntity, TOne, Two, TThree, TFour, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new() where TFour : class, new()\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QuerySingleBase(sql);\n\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, Two, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new()\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QuerySingleBase(sql);\n\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, Two, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new()\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QuerySingleBase(sql);\n\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, Two, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new() where TSeven : class, new()\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QuerySingleBase(sql);\n\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle<TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new() where TSeven : class, new() where TEight : class, new()\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QuerySingleBase(sql);\n\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <see cref=\"QueryInterpolatedSingle(FormattableString, bool)\"/>.\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <param name=\"parameters\">A set of <see cref=\"NpgsqlParameter\"/> which contain parameters for the <paramref name=\"sql\"/> command.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        /// <remarks>The command will be automatically disposed the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</remarks>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(string sql, params NpgsqlParameter[] parameters)\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, true).QuerySingle(sql, parameters);\n\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <see cref=\"QueryInterpolatedSingle(FormattableString, bool)\"/>.\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <param name=\"parameters\">A set of <see cref=\"NpgsqlParameter\"/> which contain parameters for the <paramref name=\"sql\"/> command.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        /// <remarks>The command will be automatically disposed the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</remarks>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(string sql, IList<NpgsqlParameter> parameters)\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, true).QuerySingle(sql, parameters);\n\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <see cref=\"QueryInterpolatedSingle(FormattableString, bool)\"/>.\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <param name=\"parameters\">A set of <see cref=\"NpgsqlParameter\"/> which contain parameters for the <paramref name=\"sql\"/> command.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QuerySingle(string sql, bool disposeCommand, params NpgsqlParameter[] parameters)\n           => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QuerySingle(sql, parameters);\n\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QueryInterpolatedSingle(FormattableString sql, bool disposeCommand = true)\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QueryInterpolatedSingle(sql);\n\n        /// <summary>\n        /// Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A <see cref=\"FormattableSqlStringBuilder\"/> instance containing the SQL statement.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, TEntity> QueryInterpolatedSingle(FormattableSqlStringBuilder sql, bool disposeCommand = true)\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QuerySingle(sql.ToString(), sql.Parameters);\n\n        /// <summary>\n        /// Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does not support string interpolation!</strong> If you need to pass parameters with the query, either use <see cref=\"QuerySingle(string, NpgsqlParameter[])\"/> or <see cref=\"QueryInterpolatedSingle(FormattableString, bool)\"/>.\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(string sql, bool disposeCommand = true)\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QueryBatch(sql);\n\n        /// <summary>\n        ///  Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(Expression<Func<TEntity, FormattableString>> sql, bool disposeCommand = true)\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QueryBatchBase(sql);\n\n        /// <summary>\n        ///  Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne>(Expression<Func<TEntity, TOne, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new()\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QueryBatchBase(sql);\n\n        /// <summary>\n        ///  Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, Two>(Expression<Func<TEntity, TOne, Two, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new()\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QueryBatchBase(sql);\n\n        /// <summary>\n        ///  Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, Two, TThree>(Expression<Func<TEntity, TOne, Two, TThree, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new()\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QueryBatchBase(sql);\n\n        /// <summary>\n        ///  Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, Two, TThree, TFour>(Expression<Func<TEntity, TOne, Two, TThree, TFour, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new() where TFour : class, new()\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QueryBatchBase(sql);\n\n        /// <summary>\n        ///  Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, Two, TThree, TFour, TFive>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new()\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QueryBatchBase(sql);\n\n        /// <summary>\n        ///  Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, Two, TThree, TFour, TFive, TSix>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new()\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QueryBatchBase(sql);\n\n        /// <summary>\n        ///  Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, Two, TThree, TFour, TFive, TSix, TSeven>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new() where TSeven : class, new()\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QueryBatchBase(sql);\n\n        /// <summary>\n        ///  Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch<TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight>(Expression<Func<TEntity, TOne, Two, TThree, TFour, TFive, TSix, TSeven, TEight, FormattableString>> sql, bool disposeCommand = true) where TOne : class, new() where Two : class, new() where TThree : class, new() where TFour : class, new() where TFive : class, new() where TSix : class, new() where TSeven : class, new() where TEight : class, new()\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QueryBatchBase(sql);\n\n        /// <summary>\n        /// Creates a new query command, which expects a set of primary rows to be returned.<strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <see cref=\"QueryInterpolatedSingle(FormattableString, bool)\"/>.\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <param name=\"parameters\">A set of <see cref=\"NpgsqlParameter\"/> which contain parameters for the <paramref name=\"sql\"/> command.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        /// <remarks>The command will be automatically disposed the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</remarks>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(string sql, params NpgsqlParameter[] parameters)\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, false).QueryBatch(sql, parameters);\n\n        /// <summary>\n        /// Creates a new query command, which expects a set of primary rows to be returned.<strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <see cref=\"QueryInterpolatedSingle(FormattableString, bool)\"/>.\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <param name=\"parameters\">A set of <see cref=\"NpgsqlParameter\"/> which contain parameters for the <paramref name=\"sql\"/> command.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        /// <remarks>The command will be automatically disposed the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</remarks>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(string sql, IList<NpgsqlParameter> parameters)\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, false).QueryBatch(sql, parameters);\n\n        /// <summary>\n        /// Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <see cref=\"QueryInterpolatedSingle(FormattableString, bool)\"/>.\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <param name=\"parameters\">A set of <see cref=\"NpgsqlParameter\"/> which contain parameters for the <paramref name=\"sql\"/> command.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryBatch(string sql, bool disposeCommand, params NpgsqlParameter[] parameters)\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QueryBatch(sql, parameters);\n\n        /// <summary>\n        /// Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. <strong>You should only add parameters trough string interpolation.</strong></param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryInterpolatedBatch(FormattableString sql, bool disposeCommand = true)\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QueryInterpolatedBatch(sql);\n\n        /// <summary>\n        /// Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n        /// </summary>\n        /// <param name=\"sql\">A <see cref=\"FormattableSqlStringBuilder\"/> instance containing the SQL statement.</param>\n        /// <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"NpgsqlCommand\"/> after the command got executed once.</param>\n        /// <returns>A Fluent API Builder for a query command.</returns>\n        public IBaseQueryRelationBuilder<TEntity, TEntity, List<TEntity>> QueryInterpolatedBatch(FormattableSqlStringBuilder sql, bool disposeCommand = true)\n            => new VenflowCommandBuilder<TEntity>(Database, Configuration, disposeCommand).QueryBatch(sql.ToString(), sql.Parameters);\n\n        #endregion\n\n        private protected ValueTask ValidateConnectionAsync()\n        {\n            var connection = Database.GetConnection();\n\n            if (connection.State == ConnectionState.Open)\n                return default;\n\n            if (connection.State == ConnectionState.Closed)\n            {\n                return new ValueTask(connection.OpenAsync());\n            }\n            else\n            {\n                throw new InvalidOperationException($\"The current connection state is invalid. Expected: '{ConnectionState.Open}' or '{ConnectionState.Closed}'. Actual: '{connection.State}'.\");\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/TrioKeyCollection.cs",
    "content": "﻿using System.Diagnostics.CodeAnalysis;\n\nnamespace Venflow\n{\n\n    internal class TrioKeyCollection<TKeyTwo, TKeyThree, TValue>\n        where TKeyTwo : notnull\n        where TKeyThree : notnull\n        where TValue : class\n    {\n        private readonly TValue[] _oneToValue;\n        private readonly IDictionary<TKeyTwo, TValue> _twoToOne;\n        private readonly IDictionary<TKeyThree, TValue> _threeToOne;\n\n        internal int Count => _oneToValue.Length;\n\n        internal TrioKeyCollection(TValue[] firstCollction, Dictionary<TKeyTwo, TValue> twoToOne, Dictionary<TKeyThree, TValue> threeToOne)\n        {\n            _oneToValue = firstCollction;\n            _twoToOne = twoToOne;\n            _threeToOne = threeToOne;\n        }\n\n        internal TValue this[int key] => _oneToValue[key];\n\n        internal bool TryGetValue(TKeyTwo key,\n#if !NET48\n            [NotNullWhen(true)]\n#endif\n            out TValue? value)\n        {\n            return _twoToOne.TryGetValue(key, out value);\n        }\n\n        internal bool TryGetValue(TKeyThree key,\n#if !NET48\n            [NotNullWhen(true)]\n#endif\n            out TValue? value)\n        {\n            return _threeToOne.TryGetValue(key, out value);\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/TypeArgumentException.cs",
    "content": "﻿namespace Venflow\n{\n    /// <summary>\n    /// Represents an error which occur when an invalid type argument gets passed to a generic method.\n    /// </summary>\n    [Serializable]\n    public class TypeArgumentException : Exception\n    {\n        /// <inheritdoc/>\n        public TypeArgumentException() : base() { }\n\n        /// <inheritdoc/>\n        public TypeArgumentException(string message) : base(message) { }\n\n        /// <inheritdoc/>\n        public TypeArgumentException(string message, string type) : base(message + \" Type: \" + type) { }\n\n        /// <inheritdoc/>\n        public TypeArgumentException(string message, Exception inner) : base(message, inner) { }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/TypeExtensions.cs",
    "content": "﻿namespace Venflow\n{\n    internal static class TypeExtensions\n    {\n        internal static PropertyInfo? FindProperty(this Type type, string propertyName, Type genericInterfaceType)\n        {\n            if (type.IsInterface)\n            {\n                return genericInterfaceType.MakeGenericType(type.GetGenericArguments()[0]).GetProperty(propertyName);\n            }\n            else\n            {\n                return type.GetProperty(propertyName);\n            }\n        }\n\n        internal static MethodInfo? GetCastMethod(this Type type, Type sourceType, Type targetType)\n        {\n            var methods = type.GetMethods(BindingFlags.Public | BindingFlags.Static);\n\n            for (var methodIndex = 0; methodIndex < methods.Length; methodIndex++)\n            {\n                var method = methods[methodIndex];\n\n                if ((method.Name is not \"op_Implicit\" and not \"op_Explicit\") ||\n                    method.ReturnType != targetType ||\n                    method.GetParameters().Length != 1 ||\n                    method.GetParameters()[0].ParameterType != sourceType.MakeByRefType())\n                    continue;\n\n                return method;\n            }\n\n            return null;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/UInt64Handler.cs",
    "content": "﻿using Npgsql;\n\nnamespace Venflow\n{\n    internal class UInt64Handler : IParameterTypeHandler\n    {\n        NpgsqlParameter IParameterTypeHandler.Handle(string name, object val)\n            => new NpgsqlParameter<long>(name, unchecked((long)(ulong)val + long.MinValue));\n    }\n}\n"
  },
  {
    "path": "src/Venflow/Venflow.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFrameworks>net6.0;net5.0;netcoreapp3.1;net48;netstandard2.1</TargetFrameworks>\n    <Description>A brand new, lightweight and fast ORM, build for PostgreSQL.</Description>\n    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>\n  </PropertyGroup>\n\n  <PropertyGroup Condition=\"'$(TargetFramework)' == 'net5.0' Or '$(TargetFramework)' == 'net6.0'\">\n    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"Microsoft.SourceLink.GitHub\" Version=\"1.1.0-beta-20204-02\">\n      <PrivateAssets>all</PrivateAssets>\n    </PackageReference>\n    <PackageReference Include=\"ConfigureAwait.Fody\" Version=\"3.3.1\">\n      <PrivateAssets>all</PrivateAssets>\n    </PackageReference>\n    <PackageReference Include=\"Fody\" Version=\"6.5.3\">\n      <PrivateAssets>all</PrivateAssets>\n    </PackageReference>\n    <PackageReference Include=\"Npgsql\" Version=\"6.0.0-rc.1\" />\n  </ItemGroup>\n\n  <ItemGroup Condition=\"'$(TargetFramework)' == 'net48' Or '$(TargetFramework)' == 'netstandard2.1'\">\n    <PackageReference Include=\"System.ComponentModel.Annotations\" Version=\"6.0.0-preview.4.21253.7\" />\n    <PackageReference Include=\"Microsoft.Bcl.HashCode\" Version=\"1.1.1\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\Venflow.Keys\\Venflow.Keys.csproj\" />\n  </ItemGroup>\n</Project>"
  },
  {
    "path": "src/Venflow/Venflow.xml",
    "content": "<?xml version=\"1.0\"?>\n<doc>\n    <assembly>\n        <name>Venflow</name>\n    </assembly>\n    <members>\n        <member name=\"T:Venflow.Commands.IBaseInsertRelationBuilder`2\">\n            <summary>\n            Represents a base insert relation builder to configure the insert.\n            </summary>\n            <typeparam name=\"TRelationEntity\">The type of the entity which will be joined with.</typeparam>\n            <typeparam name=\"TRootEntity\">The root type of the entity.</typeparam>\n        </member>\n        <member name=\"M:Venflow.Commands.IBaseInsertRelationBuilder`2.WithAll\">\n            <summary>\n            Allows to configure the current insert, to insert all populated relations which can be reached.\n            </summary>\n            <returns>An object that can be used to further configure the operation.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IBaseInsertRelationBuilder`2.With``1(System.Linq.Expressions.Expression{System.Func{`1,``0}})\">\n            <summary>\n            Allows to configure the inserted relations with the current insert.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the inserted entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IBaseInsertRelationBuilder`2.With``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.IList{``0}}})\">\n            <summary>\n            Allows to configure the inserted relations with the current insert.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the inserted entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IBaseInsertRelationBuilder`2.With``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.List{``0}}})\">\n            <summary>\n            Allows to configure the inserted relations with the current insert.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the inserted entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n        </member>\n        <member name=\"T:Venflow.Commands.IBaseQueryRelationBuilder`3\">\n            <summary>\n            Represents a base query relation builder to configure the query.\n            </summary>\n            <typeparam name=\"TRelationEntity\">The type of the entity which will be joined with.</typeparam>\n            <typeparam name=\"TRootEntity\">The root type of the entity.</typeparam>\n            <typeparam name=\"TReturn\">The return type of the query.</typeparam>\n        </member>\n        <member name=\"M:Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,``0}},Venflow.Enums.JoinBehaviour)\">\n            <summary>\n            Allows to configure materialized joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <param name=\"joinBehaviour\">Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.IList{``0}}},Venflow.Enums.JoinBehaviour)\">\n            <summary>\n            Allows to configure materialized joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <param name=\"joinBehaviour\">Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IBaseQueryRelationBuilder`3.JoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.List{``0}}},Venflow.Enums.JoinBehaviour)\">\n            <summary>\n            Allows to configure materialized joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <param name=\"joinBehaviour\">Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,``0}})\">\n            <summary>\n            Allows to configure materialized left joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n            <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        </member>\n        <member name=\"M:Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.IList{``0}}})\">\n            <summary>\n            Allows to configure materialized left joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n            <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        </member>\n        <member name=\"M:Venflow.Commands.IBaseQueryRelationBuilder`3.LeftJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.List{``0}}})\">\n            <summary>\n            Allows to configure materialized left joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n            <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        </member>\n        <member name=\"M:Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,``0}})\">\n            <summary>\n            Allows to configure materialized right joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n            <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        </member>\n        <member name=\"M:Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.IList{``0}}})\">\n            <summary>\n            Allows to configure materialized right joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n            <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        </member>\n        <member name=\"M:Venflow.Commands.IBaseQueryRelationBuilder`3.RightJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.List{``0}}})\">\n            <summary>\n            Allows to configure materialized right joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n            <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        </member>\n        <member name=\"M:Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,``0}})\">\n            <summary>\n            Allows to configure materialized full joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n            <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        </member>\n        <member name=\"M:Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.IList{``0}}})\">\n            <summary>\n            Allows to configure materialized full joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n            <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        </member>\n        <member name=\"M:Venflow.Commands.IBaseQueryRelationBuilder`3.FullJoinWith``1(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.List{``0}}})\">\n            <summary>\n            Allows to configure materialized full joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n            <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        </member>\n        <member name=\"T:Venflow.Commands.IDeleteCommand`1\">\n            <summary>\n            Represents a command which performs deletions of entities.\n            </summary>\n            <typeparam name=\"TEntity\">The type of the entity which will be deleted.</typeparam>\n        </member>\n        <member name=\"M:Venflow.Commands.IDeleteCommand`1.DeleteAsync(`0,System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously deletes a single entity.\n            </summary>\n            <param name=\"entity\">The entity instance which should be deleted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IDeleteCommand`1.DeleteAsync(System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously deletes a set of entity.\n            </summary>\n            <param name=\"entities\">The entity instances which should be deleted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IDeleteCommand`1.DeleteAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously deletes a set of entity.\n            </summary>\n            <param name=\"entities\">The entity instances which should be deleted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IDeleteCommand`1.DeleteAsync(System.Collections.Generic.List{`0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously deletes a set of entity.\n            </summary>\n            <param name=\"entities\">The entity instances which should be deleted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IDeleteCommand`1.DeleteAsync(`0[],System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously deletes a set of entity.\n            </summary>\n            <param name=\"entities\">The entity instances which should be deleted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        </member>\n        <member name=\"T:Venflow.Commands.IDeleteCommandBuilder`1\">\n            <summary>\n            Represents a command builder to configure the deletion.\n            </summary>\n            <typeparam name=\"TEntity\">The type of the entity which will be deleted.</typeparam>\n        </member>\n        <member name=\"M:Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(`0,System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously deletes a single entity.\n            </summary>\n            <param name=\"entity\">The entity instance which should be deleted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously deletes a set of entity.\n            </summary>\n            <param name=\"entities\">The entity instances which should be deleted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously deletes a set of entity.\n            </summary>\n            <param name=\"entities\">The entity instances which should be deleted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(System.Collections.Generic.List{`0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously deletes a set of entity.\n            </summary>\n            <param name=\"entities\">The entity instances which should be deleted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IDeleteCommandBuilder`1.DeleteAsync(`0[],System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously deletes a set of entity.\n            </summary>\n            <param name=\"entities\">The entity instances which should be deleted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n        </member>\n        <member name=\"T:Venflow.Commands.IInsertCommand`1\">\n            <summary>\n            Represents a command which performs insertions of entities.\n            </summary>\n            <typeparam name=\"TEntity\">The type of the entity which will be inserted.</typeparam>\n        </member>\n        <member name=\"M:Venflow.Commands.IInsertCommand`1.InsertAsync(`0,System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously inserts a single entity.\n            </summary>\n            <param name=\"entity\">The entity instance which should be inserted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IInsertCommand`1.InsertAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously inserts a set of entities.\n            </summary>\n            <param name=\"entities\">The entity instances which should be inserted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise.</returns>\n        </member>\n        <member name=\"T:Venflow.Commands.IInsertCommandBuilder`1\">\n            <summary>\n            Represents a command builder to configure the insertion.\n            </summary>\n            <typeparam name=\"TEntity\">The type of the entity which will be inserted.</typeparam>\n        </member>\n        <member name=\"M:Venflow.Commands.IInsertCommandBuilder`1.InsertAsync(`0,System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously inserts a single entity.\n            </summary>\n            <param name=\"entity\">The entity instance which should be inserted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IInsertCommandBuilder`1.InsertAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously inserts a set of entities.\n            </summary>\n            <param name=\"entities\">The entity instances which should be inserted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation, with the number of rows affected if known; 0 otherwise.</returns>\n        </member>\n        <member name=\"T:Venflow.Commands.IInsertRelationBuilder`2\">\n            <summary>\n            Represents a insert relation builder to configure the insert.\n            </summary>\n            <typeparam name=\"TRelationEntity\">The type of the entity which will be inserted with.</typeparam>\n            <typeparam name=\"TRootEntity\">The root type of the entity.</typeparam>\n        </member>\n        <member name=\"M:Venflow.Commands.IInsertRelationBuilder`2.AndWith``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})\">\n            <summary>\n            Allows to configure the inserted relations with the current insert.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the inserted entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IInsertRelationBuilder`2.AndWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.IList{``0}}})\">\n            <summary>\n            Allows to configure the inserted relations with the current insert.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the inserted entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IInsertRelationBuilder`2.AndWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.List{``0}}})\">\n            <summary>\n            Allows to configure the inserted relations with the current insert.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the inserted entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get inserted with the root entity during insertion.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n        </member>\n        <member name=\"T:Venflow.Commands.IPreCommandBuilder`2\">\n            <summary>\n            Represents a pre-command builder to configure the query.\n            </summary>s\n            <typeparam name=\"TEntity\">The type of the entity which will be queried.</typeparam>\n            <typeparam name=\"TReturn\">The return type of the query.</typeparam>\n        </member>\n        <member name=\"M:Venflow.Commands.IPreCommandBuilder`2.AddFormatter\">\n            <summary>\n            Defines if <b>&gt;&lt;</b> should be replaced by automatically generated joins in your SQL.\n            </summary>\n            <returns>An object that can be used to further configure the operation.</returns>\n        </member>\n        <member name=\"T:Venflow.Commands.IQueryCommand`2\">\n            <summary>\n            Represents a command which performs queries and materialize the results to entities.\n            </summary>\n            <typeparam name=\"TEntity\">The type of the entity which represents the result of the query.</typeparam>\n            <typeparam name=\"TReturn\">The return type of the query.</typeparam>\n        </member>\n        <member name=\"M:Venflow.Commands.IQueryCommand`2.PrepareAsync(System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously prepares the current SQL command on the database.\n            </summary>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        </member>\n        <member name=\"M:Venflow.Commands.IQueryCommand`2.UnprepareAsync(System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously un-prepares the current SQL command on the database.\n            </summary>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n        </member>\n        <member name=\"M:Venflow.Commands.IQueryCommand`2.QueryAsync(System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously performs queries and materializes the result.\n            </summary>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation, with the materialized result of the query; <see langword=\"null\"/> otherwise.</returns>\n        </member>\n        <member name=\"T:Venflow.Commands.IQueryCommandBuilder`2\">\n            <summary>\n            Represents a command builder to configure the query.\n            </summary>\n            <typeparam name=\"TEntity\">The type of the entity which will be queried.</typeparam>\n            <typeparam name=\"TReturn\">The return type of the query.</typeparam>\n        </member>\n        <member name=\"M:Venflow.Commands.IQueryCommandBuilder`2.TrackChanges(System.Boolean)\">\n            <summary>\n            Determines whether or not to return change tracked entities from the query.\n            </summary>\n            <param name=\"trackChanges\">Determines if change tracking should be applied.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IQueryCommandBuilder`2.QueryAsync(System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously performs queries and materializes the result.\n            </summary>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation, with the materialized result of the query; <see langword=\"null\"/> otherwise.</returns>\n        </member>\n        <member name=\"T:Venflow.Commands.IQueryRelationBuilder`3\">\n            <summary>\n            Represents a query relation builder to configure the query.\n            </summary>\n            <typeparam name=\"TRelationEntity\">The type of the entity which will be joined with.</typeparam>\n            <typeparam name=\"TRootEntity\">The root type of the entity.</typeparam>\n            <typeparam name=\"TReturn\">The return type of the query.</typeparam>\n        </member>\n        <member name=\"M:Venflow.Commands.IQueryRelationBuilder`3.ThenWith``1(System.Linq.Expressions.Expression{System.Func{`0,``0}},Venflow.Enums.JoinBehaviour)\">\n            <summary>\n            Allows to configure materialized joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <param name=\"joinBehaviour\">Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IQueryRelationBuilder`3.ThenWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.IList{``0}}},Venflow.Enums.JoinBehaviour)\">\n            <summary>\n            Allows to configure materialized joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <param name=\"joinBehaviour\">Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IQueryRelationBuilder`3.ThenWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.List{``0}}},Venflow.Enums.JoinBehaviour)\">\n            <summary>\n            Allows to configure materialized joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <param name=\"joinBehaviour\">Configures the type of this join. You are not forced to use this parameter! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to define it.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})\">\n            <summary>\n            Allows to configure materialized left joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n            <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        </member>\n        <member name=\"M:Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.IList{``0}}})\">\n            <summary>\n            Allows to configure materialized left joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n            <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        </member>\n        <member name=\"M:Venflow.Commands.IQueryRelationBuilder`3.ThenLeftWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.List{``0}}})\">\n            <summary>\n            Allows to configure materialized left joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n            <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        </member>\n        <member name=\"M:Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})\">\n            <summary>\n            Allows to configure materialized right joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n            <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        </member>\n        <member name=\"M:Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.IList{``0}}})\">\n            <summary>\n            Allows to configure materialized right joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n            <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        </member>\n        <member name=\"M:Venflow.Commands.IQueryRelationBuilder`3.ThenRightWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.List{``0}}})\">\n            <summary>\n            Allows to configure materialized right joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n            <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        </member>\n        <member name=\"M:Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})\">\n            <summary>\n            Allows to configure materialized full joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n            <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        </member>\n        <member name=\"M:Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.IList{``0}}})\">\n            <summary>\n            Allows to configure materialized full joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n            <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        </member>\n        <member name=\"M:Venflow.Commands.IQueryRelationBuilder`3.ThenFullWith``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.List{``0}}})\">\n            <summary>\n            Allows to configure materialized full joins for the current query.\n            </summary>\n            <typeparam name=\"TToEntity\">The type of the joined entity.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the navigation property which should get joined on doing materialization.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n            <remarks>You are not forced to use these methods! It is just a more explicit way of defining your joins. Additionally Venflow will perform more validation in the background, if you choose to use these methods.</remarks>\n        </member>\n        <member name=\"T:Venflow.Commands.ISpecficVenflowCommandBuilder`2\">\n            <summary>\n            Represents a generic command builder for all CRUD operations to finalize the configuration.\n            </summary>\n            <typeparam name=\"TCommand\">The type of the command which is being configured.</typeparam>\n            <typeparam name=\"TLogResult\">The type of the command which is being configured after configuring the loggers.</typeparam>\n        </member>\n        <member name=\"M:Venflow.Commands.ISpecficVenflowCommandBuilder`2.Build\">\n            <summary>\n            Finalizes the ongoing configuration process and builds the command.\n            </summary>\n            <returns>The built command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.ISpecficVenflowCommandBuilder`2.Log(System.Boolean)\">\n            <summary>\n            Determines whether or not to log the command to the provided loggers.\n            </summary>\n            <param name=\"shouldLog\">Determines if this command should be logged. This is helpful, if you configured the default logging behavior to be <see langword=\"true\"/>.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n            <remarks>You can configure the loggers in the <see cref=\"M:Venflow.Database.Configure(Venflow.DatabaseConfigurationOptionsBuilder)\"/> method with the <see cref=\"M:Venflow.DatabaseOptionsBuilder`1.LogTo(Venflow.LoggerCallback)\"/> methods.</remarks>\n        </member>\n        <member name=\"M:Venflow.Commands.ISpecficVenflowCommandBuilder`2.LogTo(Venflow.LoggerCallback)\">\n            <summary>\n            Logs the command to the provided <paramref name=\"logger\"/>.\n            </summary>\n            <param name=\"logger\">The logger which is being used for this command.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n            <remarks>Be aware, that once you configure a logger on a command, the global configured loggers won't be executed for this command.</remarks>\n        </member>\n        <member name=\"M:Venflow.Commands.ISpecficVenflowCommandBuilder`2.LogTo(Venflow.LoggerCallback[])\">\n            <summary>\n            Logs the command to the provided <paramref name=\"loggers\"/>.\n            </summary>\n            <param name=\"loggers\">The loggers which are being used for this command.</param>\n            <returns>An object that can be used to further configure the operation.</returns>\n            <remarks>Be aware, that once you configure one or more loggers on a command, the global configured loggers won't be executed for this command.</remarks>\n        </member>\n        <member name=\"T:Venflow.Commands.IUpdateCommand`1\">\n            <summary>\n            Represents a command which performs updates of entities.\n            </summary>\n            <typeparam name=\"TEntity\">The type of the entity which will be updated.</typeparam>\n        </member>\n        <member name=\"M:Venflow.Commands.IUpdateCommand`1.UpdateAsync(`0,System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously updates a single entity.\n            </summary>\n            <param name=\"entity\">The change tracked entity instance which should be updated.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IUpdateCommand`1.UpdateAsync(System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously updates a set of entities.\n            </summary>\n            <param name=\"entities\">The change tracked entity instances which should be updated.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IUpdateCommand`1.UpdateAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously updates a set of entities.\n            </summary>\n            <param name=\"entities\">The change tracked entity instances which should be updated.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation.</returns>\n        </member>\n        <member name=\"T:Venflow.Commands.IUpdateCommandBuilder`1\">\n            <summary>\n            Represents a command builder to configure the update.\n            </summary>\n            <typeparam name=\"TEntity\">The type of the entity which will be updated.</typeparam>\n        </member>\n        <member name=\"M:Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(`0,System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously updates a single entity.\n            </summary>\n            <param name=\"entity\">The change tracked entity instance which should be updated.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously updates a set of entities.\n            </summary>\n            <param name=\"entities\">The change tracked entity instances which should be updated.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(System.Collections.Generic.List{`0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously updates a set of entities.\n            </summary>\n            <param name=\"entities\">The change tracked entity instances which should be updated.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(`0[],System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously updates a set of entities.\n            </summary>\n            <param name=\"entities\">The change tracked entity instances which should be updated.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IUpdateCommandBuilder`1.UpdateAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously updates a set of entities.\n            </summary>\n            <param name=\"entities\">The change tracked entity instances which should be updated.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task representing the asynchronous operation.</returns>\n        </member>\n        <member name=\"T:Venflow.Commands.IVenflowCommand`1\">\n            <summary>\n            The base command for all other CRUD commands.\n            </summary>\n            <typeparam name=\"TEntity\">The type of the entity which is being used in the current operation.</typeparam>\n        </member>\n        <member name=\"T:Venflow.Commands.IVenflowCommandBuilder`1\">\n            <summary>\n            Represents a generic command builder to create any CRUD command.\n            </summary>\n            <typeparam name=\"TEntity\">The type of the entity which will be used for the command.</typeparam>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle(System.String)\">\n            <summary>\n            Creates a query command with a single result. <strong>This API does not support string interpolation!</strong> If you need to pass parameters with the query, either use <see cref=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle(System.String,Npgsql.NpgsqlParameter[])\"/> or <see cref=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedSingle(System.FormattableString)\"/>.\n            </summary>\n            <returns>An object that can be used to further configure the operation.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle(System.Linq.Expressions.Expression{System.Func{`0,System.FormattableString}})\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``1(System.Linq.Expressions.Expression{System.Func{`0,``0,System.FormattableString}})\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``2(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,System.FormattableString}})\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``3(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,System.FormattableString}})\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``4(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,``3,System.FormattableString}})\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``5(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,``3,``4,System.FormattableString}})\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``6(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,``3,``4,``5,System.FormattableString}})\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``7(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,``3,``4,``5,``6,System.FormattableString}})\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle``8(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,``3,``4,``5,``6,``7,System.FormattableString}})\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle(System.String,Npgsql.NpgsqlParameter[])\">\n            <summary>\n            Creates a new query command builder, which expects a single returned primary row. <strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <see cref=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedSingle(System.FormattableString)\"/>.\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <param name=\"parameters\">A set of <see cref=\"T:Npgsql.NpgsqlParameter\"/> which contain parameters for the <paramref name=\"sql\"/> command.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedSingle(System.FormattableString)\">\n            <summary>\n            Creates a new query command builder, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch(System.String)\">\n            <summary>\n            Creates a new query command builder, which expects a set of primary rows to be returned. <strong>This API does not support string interpolation!</strong> If you need to pass parameters with the query, either use <see cref=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QuerySingle(System.String,Npgsql.NpgsqlParameter[])\"/> or <see cref=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedSingle(System.FormattableString)\"/>.\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch(System.Linq.Expressions.Expression{System.Func{`0,System.FormattableString}})\">\n            <summary>\n             Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``1(System.Linq.Expressions.Expression{System.Func{`0,``0,System.FormattableString}})\">\n            <summary>\n             Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``2(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,System.FormattableString}})\">\n            <summary>\n             Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``3(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,System.FormattableString}})\">\n            <summary>\n             Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``4(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,``3,System.FormattableString}})\">\n            <summary>\n             Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``5(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,``3,``4,System.FormattableString}})\">\n            <summary>\n             Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``6(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,``3,``4,``5,System.FormattableString}})\">\n            <summary>\n             Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``7(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,``3,``4,``5,``6,System.FormattableString}})\">\n            <summary>\n             Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch``8(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,``3,``4,``5,``6,``7,System.FormattableString}})\">\n            <summary>\n             Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QueryBatch(System.String,Npgsql.NpgsqlParameter[])\">\n            <summary>\n            Creates a new query command builder, which expects a set of primary rows to be returned.<strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <see cref=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedSingle(System.FormattableString)\"/>.\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <param name=\"parameters\">A set of <see cref=\"T:Npgsql.NpgsqlParameter\"/> which contain parameters for the <paramref name=\"sql\"/> command.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.QueryInterpolatedBatch(System.FormattableString)\">\n            <summary>\n            Creates a new query command builder, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.Insert\">\n            <summary>\n            Creates a new insert command builder.\n            </summary>\n            <returns>A Fluent API Builder for a insert command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.Delete\">\n            <summary>\n            Creates a new delete command builder.\n            </summary>\n            <returns>A Fluent API Builder for a delete command.</returns>\n        </member>\n        <member name=\"M:Venflow.Commands.IVenflowCommandBuilder`1.Update\">\n            <summary>\n            Creates a new update command builder.\n            </summary>\n            <returns>A Fluent API Builder for a update command.</returns>\n        </member>\n        <member name=\"T:Venflow.Database\">\n            <summary>\n            A <see cref=\"T:Venflow.Database\"/> instance represents a session with the database and can be used to perform CRUD operations with your tables and entities.\n            </summary>\n            <remarks>\n            Typically you create a class that derives from <see cref=\"T:Venflow.Database\"/> and contains <see cref=\"T:Venflow.Table`1\"/> properties for each entity in the Database. All the <see cref=\"T:Venflow.Table`1\"/> properties must have a public setter, they are automatically initialized when the instance of the derived type is created.\n            </remarks>\n        </member>\n        <member name=\"M:Venflow.Database.#ctor(System.String)\">\n            <summary>\n            Initializes a new instance of the <see cref=\"T:Venflow.Database\"/> class using the specified <paramref name=\"connectionString\"/>.\n            </summary>\n            <param name=\"connectionString\">The connection string to your PostgreSQL Database.</param>\n        </member>\n        <member name=\"M:Venflow.Database.#ctor(Venflow.DatabaseOptionsBuilder)\">\n            <summary>\n            Initializes a new instance of the <see cref=\"T:Venflow.Database\"/> class using the specified <paramref name=\"optionsBuilder\"/>.\n            </summary>\n            <param name=\"optionsBuilder\">The options builder containing all the necessary information for the <see cref=\"T:Venflow.Database\"/> instance.</param>\n        </member>\n        <member name=\"M:Venflow.Database.BeginTransactionAsync(System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously begins a new transaction.\n            </summary>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task that represents the asynchronous operation. The task result contains the newly created transaction.</returns>\n            <remarks>Be aware, that this method will not create a new transaction on every call. It will only create a new one, if the old one is disposed or not available.</remarks>\n        </member>\n        <member name=\"M:Venflow.Database.BeginTransactionAsync(System.Data.IsolationLevel,System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously begins a new transaction.\n            </summary>\n            <param name=\"isolationLevel\">The isolation level under which the transaction should run.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation</param>\n            <returns>A task that represents the asynchronous operation. The task result contains the newly created transaction.</returns>\n            <remarks>Be aware, that this method will not create a new transaction on every call. It will only create a new one, if the old one is disposed or not available.</remarks>\n        </member>\n        <member name=\"M:Venflow.Database.ExecuteAsync(System.String,System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.\n            </summary>\n            <param name=\"sql\">The SQL to execute.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n            <remarks>This method represents a <see cref=\"M:Npgsql.NpgsqlCommand.ExecuteNonQueryAsync(System.Threading.CancellationToken)\"/> call.</remarks>\n        </member>\n        <member name=\"M:Venflow.Database.ExecuteAsync(System.String,System.Collections.Generic.IList{Npgsql.NpgsqlParameter},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.\n            </summary>\n            <param name=\"sql\">The SQL to execute.</param>\n            <param name=\"parameters\">The SQL Parameters which are being used for the current command.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n            <remarks>This method represents a <see cref=\"M:Npgsql.NpgsqlCommand.ExecuteNonQueryAsync(System.Threading.CancellationToken)\"/> call.</remarks>\n        </member>\n        <member name=\"M:Venflow.Database.ExecuteAsync(System.String,Npgsql.NpgsqlParameter[])\">\n            <summary>\n            Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.\n            </summary>\n            <param name=\"sql\">The SQL to execute.</param>\n            <param name=\"parameters\">The SQL Parameters which are being used for the current command.</param>\n            <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n            <remarks>This method represents a <see cref=\"M:System.Data.Common.DbCommand.ExecuteNonQueryAsync\"/> call.</remarks>\n        </member>\n        <member name=\"M:Venflow.Database.ExecuteInterpolatedAsync(System.FormattableString,System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously executes a command against the current Database. This method does automatically parameterize queries from an interpolated string.\n            </summary>\n            <param name=\"sql\">The interpolated SQL to execute.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation, with the number of rows affected if known; -1 otherwise.</returns>\n            <remarks>This method represents a <see cref=\"M:System.Data.Common.DbCommand.ExecuteNonQueryAsync\"/> call.</remarks>\n        </member>\n        <member name=\"M:Venflow.Database.ExecuteAsync``1(System.String,System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.\n            </summary>\n            <typeparam name=\"T\">The type of the scalar result.</typeparam>\n            <param name=\"sql\">The SQL to execute.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation, with the value of the scalar command.</returns>\n            <remarks>This method represents a <see cref=\"M:Npgsql.NpgsqlCommand.ExecuteScalarAsync(System.Threading.CancellationToken)\"/> call.</remarks>\n        </member>\n        <member name=\"M:Venflow.Database.ExecuteAsync``1(System.String,System.Collections.Generic.IList{Npgsql.NpgsqlParameter},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.\n            </summary>\n            <typeparam name=\"T\">The type of the scalar result.</typeparam>\n            <param name=\"sql\">The SQL to execute.</param>\n            <param name=\"parameters\">The SQL Parameters which are being used for the current command.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation, with the value of the scalar command.</returns>\n            <remarks>This method represents a <see cref=\"M:Npgsql.NpgsqlCommand.ExecuteScalarAsync(System.Threading.CancellationToken)\"/> call.</remarks>\n        </member>\n        <member name=\"M:Venflow.Database.ExecuteAsync``1(System.String,Npgsql.NpgsqlParameter[])\">\n            <summary>\n            Asynchronously executes a command against the current Database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments.\n            </summary>\n            <typeparam name=\"T\">The type of the scalar result.</typeparam>\n            <param name=\"sql\">The SQL to execute.</param>\n            <param name=\"parameters\">The SQL Parameters which are being used for the current command.</param>\n            <returns>A task representing the asynchronous operation, with the value of the scalar command.</returns>\n            <remarks>This method represents a <see cref=\"M:System.Data.Common.DbCommand.ExecuteScalarAsync\"/> call.</remarks>\n        </member>\n        <member name=\"M:Venflow.Database.ExecuteInterpolatedAsync``1(System.FormattableString,System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously executes a command against the current Database. This method does automatically parameterize queries from an interpolated string.\n            </summary>\n            <typeparam name=\"T\">The type of the scalar result.</typeparam>\n            <param name=\"sql\">The interpolated SQL to execute.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation, with the value of the scalar command.</returns>\n            <remarks>This method represents a <see cref=\"M:System.Data.Common.DbCommand.ExecuteScalarAsync\"/> call.</remarks>\n        </member>\n        <member name=\"M:Venflow.Database.Custom``1\">\n            <summary>\n            Allows for queries against an entity which isn't usually defined, this is usually an entity which hasn't got a table in your database.\n            </summary>\n            <returns>A <see cref=\"T:Venflow.TableBase`1\"/> instance from which queries can be executed.</returns>\n            <remarks>The <typeparamref name=\"TEntity\"/> should always be used with this <see cref=\"T:Venflow.Database\"/> instance, otherwise the model has to be generated multiple times.</remarks>\n        </member>\n        <member name=\"M:Venflow.Database.GetConnection\">\n            <summary>\n            Gets or creates a new connections, if none got created yet.\n            </summary>\n            <returns>the <see cref=\"T:Npgsql.NpgsqlConnection\"/>.</returns>\n        </member>\n        <member name=\"M:Venflow.Database.Configure(Venflow.DatabaseConfigurationOptionsBuilder)\">\n            <summary>\n            Allows for further configuration of the <see cref=\"T:Venflow.Database\"/>.\n            </summary>\n            <param name=\"optionsBuilder\">A builder instance used to further configure the <see cref=\"T:Venflow.Database\"/>.</param>\n        </member>\n        <member name=\"M:Venflow.Database.DisposeAsync\">\n            <summary>\n            Releases the allocated resources for this context. Also closes the underlying connection, if open.\n            </summary>\n            <returns>A value task representing the asynchronous operation</returns>\n        </member>\n        <member name=\"M:Venflow.Database.Dispose\">\n            <summary>\n            Releases the allocated resources for this context. Also closes the underlying connection, if open.\n            </summary>\n            <remarks>If you are in an asynchronous context you should consider using <see cref=\"M:Venflow.Database.DisposeAsync\"/> instead.</remarks>\n        </member>\n        <member name=\"T:Venflow.DatabaseConfigurationOptionsBuilder\">\n            <summary>\n            Provides an option builder to further <i>statically</i> configure a <see cref=\"T:Venflow.Database\"/> instance.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations``1\">\n            <summary>\n            Adds the assembly of the type <typeparamref name=\"T\"/> to the <see cref=\"T:Venflow.Modeling.Definitions.EntityConfiguration`1\"/> lookup list.\n            </summary>\n            <typeparam name=\"T\">The type of which the assembly should be added to the lookup list.</typeparam>\n            <returns>An object that can be used to configure the current <see cref=\"T:Venflow.Database\"/> instance.</returns>\n            <remarks>If you add a custom configuration location, the assembly of the database type will not be automatically included.</remarks>\n        </member>\n        <member name=\"M:Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations(System.Reflection.Assembly)\">\n            <summary>\n            Adds the assembly to the <see cref=\"T:Venflow.Modeling.Definitions.EntityConfiguration`1\"/> lookup list.\n            </summary>\n            <param name=\"assembly\">The assembly which should be added to the lookup list.</param>\n            <returns>An object that can be used to configure the current <see cref=\"T:Venflow.Database\"/> instance.</returns>\n            <remarks>If you add a custom configuration location, the assembly of the database type will not be automatically included.</remarks>\n        </member>\n        <member name=\"M:Venflow.DatabaseConfigurationOptionsBuilder.UseConfigurations(System.Reflection.Assembly[])\">\n            <summary>\n            Adds the assemblies to the <see cref=\"T:Venflow.Modeling.Definitions.EntityConfiguration`1\"/> lookup list.\n            </summary>\n            <param name=\"assemblies\">The assemblies which should be added to the lookup list.</param>\n            <returns>An object that can be used to configure the current <see cref=\"T:Venflow.Database\"/> instance.</returns>\n            <remarks>If you add a custom configuration location, the assembly of the database type will not be automatically included.</remarks>\n        </member>\n        <member name=\"M:Venflow.DatabaseConfigurationOptionsBuilder.SetNamingConvention``1\">\n            <summary>\n            Sets the default naming convention to be used for entity table and column names.\n            </summary>\n            <typeparam name=\"T\">An implementation of <see cref=\"T:Npgsql.INpgsqlNameTranslator\"/> to be used as the default for name translation.</typeparam>\n            <returns>The same builder instance so that multiple calls can be chained.</returns>\n        </member>\n        <member name=\"M:Venflow.DatabaseConfigurationOptionsBuilder.SetNamingConvention(Npgsql.INpgsqlNameTranslator)\">\n            <summary>\n            Sets the default naming convention to be used for entity table and column names.\n            </summary>\n            <param name=\"npgsqlNameTranslator\">An implementation of <see cref=\"T:Npgsql.INpgsqlNameTranslator\"/> to be used as the default for name translation.</param>\n            <returns>The same builder instance so that multiple calls can be chained.</returns>\n        </member>\n        <member name=\"M:Venflow.DatabaseConfigurationOptionsBuilder.RegisterPostgresEnum``1(System.String,Npgsql.INpgsqlNameTranslator)\">\n            <summary>\n            Maps a PostgreSQL enum to a CLR enum.\n            </summary>\n            <typeparam name=\"TEnum\">The type of the enum.</typeparam>\n            <param name=\"name\">The name of the enum in PostgreSQL, if none used it will try to convert the name of the CLR enum e.g. 'FooBar' to 'foo_bar'</param>\n            <param name=\"npgsqlNameTranslator\">A component which will be used to translate CLR names (e.g. SomeClass) into database names (e.g. some_class). Defaults to <see cref=\"T:Npgsql.NameTranslation.NpgsqlSnakeCaseNameTranslator\"/>.</param>\n            <returns>The same builder instance so that multiple calls can be chained.</returns>\n        </member>\n        <member name=\"T:Venflow.LoggerCallback\">\n            <summary>\n            Represent a method that will handle all Logs produced by a <see cref=\"T:Venflow.Database\"/> instance.\n            </summary>\n            <param name=\"command\">The command which produced the log.</param>\n            <param name=\"commandType\">The command type which produced the log.</param>\n            <param name=\"exception\">The exception occurred while trying to execute the command, if any occurred.</param>\n        </member>\n        <member name=\"T:Venflow.DatabaseOptionsBuilder`1\">\n            <summary>\n            Provides an option builder to further <i>dynamically</i> configure a <see cref=\"T:Venflow.Database\"/> instance.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.DatabaseOptionsBuilder`1.LogTo(Venflow.LoggerCallback)\">\n            <summary>\n            Adds a logger, which allows for logging of executed commands.\n            </summary>\n            <param name=\"loggerCallback\">A callback which is being used to log commands.</param>\n            <returns>An object that can be used to configure the current <see cref=\"T:Venflow.Database\"/> instance.</returns>\n            <remarks>\n            Also consider configuring the <see cref=\"P:Venflow.DatabaseOptionsBuilder.DefaultLoggingBehavior\"/> property.\n            </remarks>\n        </member>\n        <member name=\"M:Venflow.DatabaseOptionsBuilder`1.LogTo(System.Action{System.String},System.Boolean)\">\n            <summary>\n            Adds a logger, which allows for logging of executed commands.\n            </summary>\n            <param name=\"loggerCallback\">A callback which is being used to log commands.</param>\n            <param name=\"logSensitveData\">Determines whether or not to log parameterized commands.</param>\n            <returns>An object that can be used to configure the current <see cref=\"T:Venflow.Database\"/> instance.</returns>\n            <remarks>\n            Also consider configuring the <see cref=\"P:Venflow.DatabaseOptionsBuilder.DefaultLoggingBehavior\"/> property.\n            Be aware that this method should be used in cases which require quick logging. This API wraps the <paramref name=\"loggerCallback\"/> again and calls <see cref=\"M:Venflow.DatabaseOptionsBuilder`1.LogTo(Venflow.LoggerCallback)\"/>.\n            </remarks>\n        </member>\n        <member name=\"T:Venflow.DatabaseOptionsBuilder\">\n            <summary>\n            Represent a method that will handle all Logs produced by a <see cref=\"T:Venflow.Database\"/> instance.\n            </summary>\n        </member>\n        <member name=\"P:Venflow.DatabaseOptionsBuilder.DefaultLoggingBehavior\">\n            <summary>\n            Gets or sets the default LoggingBehavior on commands for this <see cref=\"T:Venflow.Database\"/>. The default is <see cref=\"F:Venflow.Enums.LoggingBehavior.Always\"/>, if any loggers are defined.\n            </summary>\n        </member>\n        <member name=\"P:Venflow.DatabaseOptionsBuilder.ConnectionString\">\n            <summary>\n            Gets or sets the connection string which will be used in all <see cref=\"T:Venflow.Database\"/> instances using the current <see cref=\"T:Venflow.DatabaseOptionsBuilder`1\"/> instance.\n            </summary>\n        </member>\n        <member name=\"T:Venflow.IDatabaseTransaction\">\n            <summary>\n            Represents a transaction to be made with a database.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.IDatabaseTransaction.Commit\">\n            <summary>\n            Commits the database transaction.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.IDatabaseTransaction.CommitAsync(System.Threading.CancellationToken)\">\n            <summary>\n            Commits the database transaction.\n            </summary>\n            <param name=\"cancellationToken\">An optional token to cancel the asynchronous operation.</param>\n        </member>\n        <member name=\"M:Venflow.IDatabaseTransaction.Rollback\">\n            <summary>\n            Rolls back a transaction from a pending state.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.IDatabaseTransaction.RollbackAsync(System.Threading.CancellationToken)\">\n            <summary>\n            Rolls back a transaction from a pending state.\n            </summary>\n            <param name=\"cancellationToken\">An optional token to cancel the asynchronous operation.</param>\n        </member>\n        <member name=\"M:Venflow.IDatabaseTransaction.Save(System.String)\">\n            <summary>\n            Creates a transaction save point.\n            </summary>\n            <param name=\"name\">The name of the savepoint.</param>\n            <remarks>This method does not cause a database roundtrip to be made. The savepoint creation statement will instead be sent along with the next command.</remarks>\n        </member>\n        <member name=\"M:Venflow.IDatabaseTransaction.SaveAsync(System.String,System.Threading.CancellationToken)\">\n            <summary>\n            Creates a transaction save point.\n            </summary>\n            <param name=\"name\">The name of the savepoint.</param>\n            <param name=\"cancellationToken\">An optional token to cancel the asynchronous operation.</param>\n            <remarks>This method does not cause a database roundtrip to be made, and will therefore always complete synchronously. The savepoint creation statement will instead be sent along with the next command.</remarks>\n        </member>\n        <member name=\"M:Venflow.IDatabaseTransaction.Rollback(System.String)\">\n            <summary>\n            Rolls back a transaction from a pending savepoint state.\n            </summary>\n            <param name=\"name\">The name of the savepoint.</param>\n        </member>\n        <member name=\"M:Venflow.IDatabaseTransaction.RollbackAsync(System.String,System.Threading.CancellationToken)\">\n            <summary>\n            Rolls back a transaction from a pending savepoint state.\n            </summary>\n            <param name=\"name\">The name of the savepoint.</param>\n            <param name=\"cancellationToken\">An optional token to cancel the asynchronous operation.</param>\n        </member>\n        <member name=\"M:Venflow.IDatabaseTransaction.Release(System.String)\">\n            <summary>\n            Releases a transaction from a pending savepoint state.\n            </summary>\n            <param name=\"name\">The name of the savepoint.</param>\n        </member>\n        <member name=\"M:Venflow.IDatabaseTransaction.ReleaseAsync(System.String,System.Threading.CancellationToken)\">\n            <summary>\n            Releases a transaction from a pending savepoint state.\n            </summary>\n            <param name=\"name\">The name of the savepoint.</param>\n            <param name=\"cancellationToken\">An optional token to cancel the asynchronous operation.</param>\n        </member>\n        <member name=\"M:Venflow.IDatabaseTransaction.GetNpgsqlTransaction\">\n            <summary>\n            Will return the underlying <see cref=\"T:Npgsql.NpgsqlTransaction\"/>.\n            </summary>\n            <returns>The underlying <see cref=\"T:Npgsql.NpgsqlTransaction\"/></returns>\n            <remarks>\n            Please do note, that if you call any of the Dispose methods on the <see cref=\"T:Npgsql.NpgsqlTransaction\"/> instead of the <see cref=\"T:Venflow.IDatabaseTransaction\"/> ones, Venflow will never know about it being disposed. Therefore, always call one of the Dispose methods on the <see cref=\"T:Venflow.IDatabaseTransaction\"/> itself.\n            </remarks>\n        </member>\n        <member name=\"T:Venflow.Enums.CommandType\">\n            <summary>\n            Specifies the type of command that produced a log.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.CommandType.QuerySingle\">\n            <summary>\n            A query command returning a single entity.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.CommandType.QueryBatch\">\n            <summary>\n            A query command returning a batch of entities.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.CommandType.Query\">\n            <summary>\n            All query commands.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.CommandType.UpdateSingle\">\n            <summary>\n            A update command updating a single entity.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.CommandType.UpdateBatch\">\n            <summary>\n            A update command updating a batch of entities.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.CommandType.Update\">\n            <summary>\n            All update commands.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.CommandType.InsertSingle\">\n            <summary>\n            An insert command inserting a single entity.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.CommandType.InsertBatch\">\n            <summary>\n            An insert command inserting a batch of entities.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.CommandType.Insert\">\n            <summary>\n            All insert commands.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.CommandType.DeleteSingle\">\n            <summary>\n            A delete command deleting a single entity.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.CommandType.DeleteBatch\">\n            <summary>\n            A delete command deleting a batch of entities.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.CommandType.Delete\">\n            <summary>\n            All delete commands.\n            </summary>\n        </member>\n        <member name=\"T:Venflow.Enums.ForeignTruncateOptions\">\n            <summary>\n            Represents the truncate option for foreign keys.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.ForeignTruncateOptions.None\">\n            <summary>\n            Does nothing.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.ForeignTruncateOptions.Cascade\">\n            <summary>\n            Automatically truncate all tables that have foreign-key references to any of the named tables, or to any tables added to the group due to CASCADE.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.ForeignTruncateOptions.Restrict\">\n            <summary>\n            Refuse to truncate if any of the tables have foreign-key references from tables that are not listed in the command. This is the default.\n            </summary>\n        </member>\n        <member name=\"T:Venflow.Enums.IdentityTruncateOptions\">\n            <summary>\n            Represents the identity truncate option for foreign keys.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.IdentityTruncateOptions.None\">\n            <summary>\n            Does nothing.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.IdentityTruncateOptions.Restart\">\n            <summary>\n            Automatically restart sequences owned by columns of the truncated table(s).\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.IdentityTruncateOptions.Continue\">\n            <summary>\n            Do not change the values of sequences. This is the default.\n            </summary>\n        </member>\n        <member name=\"T:Venflow.Enums.JoinBehaviour\">\n            <summary>\n            Specifies the behavior for a specific join between two tables.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.JoinBehaviour.InnerJoin\">\n            <summary>\n            Returns records that have matching values in both tables\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.JoinBehaviour.LeftJoin\">\n            <summary>\n            Returns all records from the left table, and the matched records from the right table\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.JoinBehaviour.RightJoin\">\n            <summary>\n            Returns all records from the right table, and the matched records from the left table\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.JoinBehaviour.FullJoin\">\n            <summary>\n            Returns all records when there is a match in either left or right table\n            </summary>\n        </member>\n        <member name=\"T:Venflow.Enums.LoggingBehavior\">\n            <summary>\n            Specifies the logging behavior for Venflow commands.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.LoggingBehavior.Always\">\n            <summary>\n            Logs all commands.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.Enums.LoggingBehavior.Never\">\n            <summary>\n            Never logs commands.\n            </summary>\n        </member>\n        <member name=\"T:Venflow.FormattableSqlStringBuilder\">\n            <summary>\n            Allows for a safe string interpolated SQL concatenation.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.FormattableSqlStringBuilder.#ctor\">\n            <summary>\n            Initializes a new instance of the <see cref=\"T:Venflow.FormattableSqlStringBuilder\"/> class.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.FormattableSqlStringBuilder.AppendLine(System.String)\">\n            <summary>\n            Appends a copy of the specified SQL followed by the default line terminator to the end of the current <see cref=\"T:Venflow.FormattableSqlStringBuilder\"/> object.\n            </summary>\n            <param name=\"sql\">The SQL to append.</param>\n            <remarks>\n            <b>This method IS NOT string interpolation safe</b>, if you want to use string interpolated SQL use the <see cref=\"M:Venflow.FormattableSqlStringBuilder.AppendInterpolatedLine(System.FormattableString)\"/> method.\n            </remarks>\n        </member>\n        <member name=\"M:Venflow.FormattableSqlStringBuilder.Append(System.String)\">\n            <summary>\n            Appends a copy of the specified SQL to this instance.\n            </summary>\n            <param name=\"sql\">The SQL to append.</param>\n            <remarks>\n            <b>This method IS NOT string interpolation safe</b>, if you want to use string interpolated SQL use the <see cref=\"M:Venflow.FormattableSqlStringBuilder.AppendInterpolated(System.FormattableString)\"/> method.\n            </remarks>\n        </member>\n        <member name=\"M:Venflow.FormattableSqlStringBuilder.AppendInterpolatedLine(System.FormattableString)\">\n            <summary>\n            Appends a copy of the specified SQL followed by the default line terminator to the end of the current <see cref=\"T:Venflow.FormattableSqlStringBuilder\"/> object.\n            </summary>\n            <param name=\"sql\">The SQL to append.</param>\n            <remarks>\n            This method is string interpolation safe.\n            </remarks>\n        </member>\n        <member name=\"M:Venflow.FormattableSqlStringBuilder.AppendInterpolated(System.FormattableString)\">\n            <summary>\n            Appends a copy of the specified SQL to this instance.\n            </summary>\n            <param name=\"sql\">The SQL to append.</param>\n            <remarks>\n            This method is string interpolation safe.\n            </remarks>\n        </member>\n        <member name=\"M:Venflow.FormattableSqlStringBuilder.AppendParameter``1(``0)\">\n            <summary>\n            Appends a parameter of to this instance.\n            </summary>\n            <typeparam name=\"T\">The type of the parameter value.</typeparam>\n            <param name=\"value\">The parameter value.</param>\n        </member>\n        <member name=\"M:Venflow.FormattableSqlStringBuilder.ToString\">\n            <inheritdoc />\n        </member>\n        <member name=\"T:Venflow.InvalidEntityRelationException\">\n            <summary>\n            Represents errors that occur during the relation entity generation.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.InvalidEntityRelationException.#ctor\">\n            <summary>\n            Initializes a new instance of the <see cref=\"T:Venflow.InvalidEntityRelationException\"/> class.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.InvalidEntityRelationException.#ctor(System.String)\">\n            <summary>\n            Initializes a new instance of the <see cref=\"T:Venflow.InvalidEntityRelationException\"/> class.\n            </summary>\n            <param name=\"message\">The message that describes the error.</param>\n        </member>\n        <member name=\"M:Venflow.InvalidEntityRelationException.#ctor(System.String,System.Exception)\">\n            <summary>\n            Initializes a new instance of the <see cref=\"T:Venflow.InvalidEntityRelationException\"/> class.\n            </summary>\n            <param name=\"message\">The message that describes the error.</param>\n            <param name=\"inner\">The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.</param>\n        </member>\n        <member name=\"M:Venflow.InvalidEntityRelationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)\">\n            <summary>\n            Initializes a new instance of the <see cref=\"T:Venflow.InvalidEntityRelationException\"/> class.\n            </summary>\n            <param name=\"info\">The <see cref=\"T:System.Runtime.Serialization.SerializationInfo\"/> that holds the serialized object data about the exception being thrown.</param>\n            <param name=\"context\">The <see cref=\"T:System.Runtime.Serialization.StreamingContext\"/> that contains contextual information about the source or destination.</param>\n            <exception cref=\"T:System.ArgumentNullException\">info is null.</exception>\n            <exception cref=\"T:System.Runtime.Serialization.SerializationException\">The class name is null or System.Exception.HResult is zero (0).</exception>\n        </member>\n        <member name=\"T:Venflow.IParameterTypeHandler\">\n            <summary>\n            A parameter type handler which can be used with the <see cref=\"M:Venflow.ParameterTypeHandler.AddTypeHandler(System.Type,Venflow.IParameterTypeHandler)\"/> method.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.IParameterTypeHandler.Handle(System.String,System.Object)\">\n            <summary>\n            Is used to convert the given value and name to an <see cref=\"T:Npgsql.NpgsqlParameter\"/>.\n            </summary>\n            <param name=\"name\">The name of the parameter.</param>\n            <param name=\"val\">The value of the parameter.</param>\n            <returns>The <see cref=\"T:Npgsql.NpgsqlParameter\"/> containing the name and the value.</returns>\n        </member>\n        <member name=\"T:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1\">\n            <summary>\n            Instances of this class are returned from methods inside the <see cref=\"T:Venflow.Modeling.Definitions.EntityConfiguration`1\"/> class when using the Fluent API and it is not designed to be directly constructed in your application code.\n            </summary>\n            <typeparam name=\"TEntity\">The entity type being configured.</typeparam>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapToTable(System.String)\">\n            <summary>\n            Configures the table that the entity type maps to, if not configured it will use the name of the <see cref=\"T:Venflow.Table`1\"/> property inside the <see cref=\"T:Venflow.Database\"/> class.\n            </summary>\n            <param name=\"tableName\">The name of the table.</param>\n            <returns>The same builder instance so that multiple calls can be chained.</returns>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.Column``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})\">\n            <summary>\n            Configures a column on the current entity.\n            </summary>\n            <param name=\"propertySelector\">A lambda expression representing the property on this entity type.</param>\n            <returns>A new column builder instance so that multiple calls can be chained.</returns>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapColumn``1(System.Linq.Expressions.Expression{System.Func{`0,``0}},System.String)\">\n            <summary>\n            Configures the column that the property maps to, if not configured it will use the name of the property inside the entity.\n            </summary>\n            <typeparam name=\"TTarget\">The type of the property.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the property on this entity type.</param>\n            <param name=\"columnName\">The name of the column in the database to which the used property should map to.</param>\n            <returns>The same builder instance so that multiple calls can be chained.</returns>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.Ignore``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})\">\n            <summary>\n            Ignores a property for this entity type. This is the Fluent API equivalent to the <see cref=\"T:System.ComponentModel.DataAnnotations.Schema.NotMappedAttribute\"/>.\n            </summary>\n            <typeparam name=\"TTarget\">The type of the property.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the property on this entity type.</param>\n            <returns>The same builder instance so that multiple calls can be chained.</returns>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapId``1(System.Linq.Expressions.Expression{System.Func{`0,``0}},System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption)\">\n            <summary>\n            Sets the property that defines the primary key for this entity type. This is the Fluent API equivalent to the <see cref=\"T:System.ComponentModel.DataAnnotations.KeyAttribute\"/>.\n            </summary>\n            <typeparam name=\"TTarget\">The type of the primary key.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the primary key on this entity type.</param>\n            <param name=\"option\">The option which define how the primary key is generate.</param>\n            <returns>The same builder instance so that multiple calls can be chained.</returns>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.SetNpgsqlNameTranslator(Npgsql.INpgsqlNameTranslator)\">\n            <summary>\n            Sets the <see cref=\"T:Npgsql.INpgsqlNameTranslator\"/> instance to be used for entity table and column name translations.\n            </summary>\n            <param name=\"npgsqlNameTranslator\">An implementation of <see cref=\"T:Npgsql.INpgsqlNameTranslator\"/> to be used for entity name translations.</param>\n            <returns>The same builder instance so that multiple calls can be chained.</returns>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.SetNpgsqlNameTranslator``1\">\n            <summary>\n            Sets the <see cref=\"T:Npgsql.INpgsqlNameTranslator\"/> instance to be used for entity table and column name translations.\n            </summary>\n            <typeparam name=\"T\">An implementation of <see cref=\"T:Npgsql.INpgsqlNameTranslator\"/> to be used for entity name translations.</typeparam>\n            <returns>The same builder instance so that multiple calls can be chained.</returns>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapPostgresEnum``1(System.Linq.Expressions.Expression{System.Func{`0,``0}},System.String,Npgsql.INpgsqlNameTranslator)\">\n            <summary>\n            Maps a PostgreSQL enum to a CLR enum.\n            </summary>\n            <typeparam name=\"TTarget\">The type of the enum.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the enum which should be mapped on this entity type.</param>\n            <param name=\"name\">The name of the enum in PostgreSQL, if none used it will try to convert the name of the CLR enum e.g. 'FooBar' to 'foo_bar'</param>\n            <param name=\"npgsqlNameTranslator\">A component which will be used to translate CLR names (e.g. SomeClass) into database names (e.g. some_class). Defaults to <see cref=\"T:Npgsql.NameTranslation.NpgsqlSnakeCaseNameTranslator\"/>.</param>\n            <returns>The same builder instance so that multiple calls can be chained.</returns>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.Builder.IEntityBuilder`1.MapPostgresEnum``1(System.Linq.Expressions.Expression{System.Func{`0,System.Nullable{``0}}},System.String,Npgsql.INpgsqlNameTranslator)\">\n            <summary>\n            Maps a PostgreSQL enum to a CLR enum.\n            </summary>\n            <typeparam name=\"TTarget\">The type of the enum.</typeparam>\n            <param name=\"propertySelector\">A lambda expression representing the enum which should be mapped on this entity type.</param>\n            <param name=\"name\">The name of the enum in PostgreSQL, if none used it will try to convert the name of the CLR enum e.g. 'FooBar' to 'foo_bar'</param>\n            <param name=\"npgsqlNameTranslator\">A component which will be used to translate CLR names (e.g. SomeClass) into database names (e.g. some_class). Defaults to <see cref=\"T:Npgsql.NameTranslation.NpgsqlSnakeCaseNameTranslator\"/>.</param>\n            <returns>The same builder instance so that multiple calls can be chained.</returns>\n        </member>\n        <member name=\"T:Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2\">\n            <summary>\n            This interface hosts relation methods for the foreign key configurations.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2.UsingForeignKey``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})\">\n            <summary>\n            Configures the property to be used as the foreign key for this relationship.\n            </summary>\n            <typeparam name=\"TKey\">The type of the foreign key.</typeparam>\n            <param name=\"navigationProperty\">A lambda expression representing the foreign key property (post => post.BlogId).</param>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.Builder.IForeignKeyRelationBuilder`2.UsingForeignKey``1(System.Linq.Expressions.Expression{System.Func{`1,``0}})\">\n            <summary>\n            Configures the property to be used as the foreign key for this relationship.\n            </summary>\n            <typeparam name=\"TKey\">The type of the foreign key.</typeparam>\n            <param name=\"navigationProperty\">A lambda expression representing the foreign key property (post => post.BlogId).</param>\n        </member>\n        <member name=\"T:Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1\">\n            <summary>\n            This interface hosts relation methods for the left side of a relation.\n            </summary>\n            <typeparam name=\"TEntity\">The entity type being configured.</typeparam>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasOne``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})\">\n            <summary>\n            <para>\n                Configures a relationship where this entity type has a reference that points to a single instance of the other type in the relationship.\n            </para>\n            <para>\n                Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n            </para>\n            <para>\n                After calling this method, you should chain a call to <see cref=\"M:Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder`2.WithMany\"/> or <see cref=\"M:Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2.WithOne\"/> to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship.\n            </para>\n            </summary>\n            <typeparam name=\"TRelation\">The entity type that this relationship targets.</typeparam>\n            <param name=\"navigationProperty\">A lambda expression representing the reference navigation property on this entity type that represents the relationship (post => post.Blog). If no property is specified, the relationship will be configured without a navigation property on this end.</param>\n            <returns>An object that can be used to configure the relationship.</returns>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasOne``1\">\n            <summary>\n            <para>\n                Configures a relationship where this entity type has a reference that points to a single instance of the other type in the relationship.\n            </para>\n            <para>\n                Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n            </para>\n            <para>\n                After calling this method, you should chain a call to <see cref=\"M:Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder`2.WithMany(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.IList{`0}}})\"/> or <see cref=\"M:Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2.WithOne(System.Linq.Expressions.Expression{System.Func{`1,`0}})\"/> to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship.\n            </para>\n            </summary>\n            <typeparam name=\"TRelation\">The entity type that this relationship targets.</typeparam>\n            <returns>An object that can be used to configure the relationship.</returns>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasMany``1(System.Linq.Expressions.Expression{System.Func{`0,System.Collections.Generic.IList{``0}}})\">\n            <summary>\n            <para>\n                Configures a relationship where this entity type has a collection that contains instances of the other type in the relationship.\n            </para>\n            <para>\n                Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n            </para>\n            <para>\n                After calling this method, you should chain a call to <see cref=\"M:Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2.WithOne\"/> to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship.\n            </para>\n            </summary>\n            <typeparam name=\"TRelation\">The entity type that this relationship targets.</typeparam>\n            <returns>An object that can be used to configure the relationship.</returns>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.Builder.ILeftRelationBuilder`1.HasMany``1\">\n            <summary>\n            <para>\n                Configures a relationship where this entity type has a collection that contains instances of the other type in the relationship.\n            </para>\n            <para>\n                Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n            </para>\n            <para>\n                After calling this method, you should chain a call to <see cref=\"M:Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2.WithOne(System.Linq.Expressions.Expression{System.Func{`1,`0}})\"/> to fully configure the relationship. Calling just this method without the chained call will not produce a valid relationship.\n            </para>\n            </summary>\n            <typeparam name=\"TRelation\">The entity type that this relationship targets.</typeparam>\n            <returns>An object that can be used to configure the relationship.</returns>\n        </member>\n        <member name=\"T:Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder`2\">\n            <summary>\n            Instances of this class are returned from methods inside the <see cref=\"T:Venflow.Table`1\"/> class when using the Fluid API and it is not designed to be directly constructed in your application code.\n            </summary>\n            <typeparam name=\"TEntity\"></typeparam>\n            <typeparam name=\"TRelation\">The entity type that this relationship targets.</typeparam>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.Builder.IMultiRightRelationBuilder`2.WithMany(System.Linq.Expressions.Expression{System.Func{`1,System.Collections.Generic.IList{`0}}})\">\n            <summary>\n            <para>\n                Configures this as a one-to-many relationship.\n            </para>\n            <para>\n                Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n            </para>\n            </summary>\n            <param name=\"navigationProperty\"> A lambda expression representing the collection navigation property on the other end of this relationship (blog => blog.Posts). If no property is specified, the relationship will be configured without a navigation property on the other end of the relationship.</param>\n            <returns>An object that can be used to configure the relationship.</returns>\n        </member>\n        <member name=\"T:Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder`2\">\n            <summary>\n            This interface hosts relation methods for the right side of a relation.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.Builder.INotRequiredMultiRightRelationBuilder`2.WithMany\">\n            <summary>\n            <para>\n                Configures this as a one-to-many relationship.\n            </para>\n            <para>\n                Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n            </para>\n            </summary>\n            <returns>An object that can be used to configure the relationship.</returns>\n        </member>\n        <member name=\"T:Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2\">\n            <summary>\n            This interface hosts relation methods for the right side of a relation.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.Builder.INotRequiredSingleRightRelationBuilder`2.WithOne\">\n            <summary>\n            <para>\n                Configures this as a one-to-one relationship.\n            </para>\n            <para>\n                Note that calling this method will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n            </para>\n            </summary>\n            <returns>An object that can be used to configure the relationship.</returns>\n        </member>\n        <member name=\"T:Venflow.Modeling.Definitions.Builder.IRequiredMultiRightRelationBuilder`2\">\n            <summary>\n            This interface hosts relation methods for the right side of a relation.\n            </summary>\n        </member>\n        <member name=\"T:Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2\">\n            <summary>\n            This interface hosts relation methods for the right side of a relation.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.Builder.IRequiredSingleRightRelationBuilder`2.WithOne(System.Linq.Expressions.Expression{System.Func{`1,`0}})\">\n            <summary>\n            <para>\n                Configures this as a one-to-one relationship.\n            </para>\n            <para>\n                Note that calling this method with no parameters will explicitly configure this side of the relationship to use no navigation property, even if such a property exists on the entity type. If the navigation property is to be used, then it must be specified.\n            </para>\n            </summary>\n            <param name=\"navigationProperty\">A lambda expression representing the reference navigation property on the other end of this relationship (blog => blog.BlogInfo). If no property is specified, the relationship will be configured without a navigation property on the other end of the relationship.</param>\n            <returns>An object that can be used to configure the relationship.</returns>\n        </member>\n        <member name=\"T:Venflow.Modeling.Definitions.Builder.IPropertyBuilder\">\n            <summary>\n            Instances of this class are returned from methods inside the <see cref=\"T:Venflow.Modeling.Definitions.Builder.EntityBuilder`1\"/> class when using the Fluent API and it is not designed to be directly constructed in your application code.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.Builder.IPropertyBuilder.HasId\">\n            <summary>\n            Marks the current property as a primary key. This is the Fluent API equivalent to the <see cref=\"T:System.ComponentModel.DataAnnotations.KeyAttribute\"/>.\n            </summary>\n            <returns>The same builder instance so that multiple calls can be chained.</returns>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.Builder.IPropertyBuilder.WithName(System.String)\">\n            <summary>\n            Configures the name of the current column, if not configured it will use the name of the property.\n            </summary>\n            <param name=\"name\">The name of the column in the database to which the used property should map to.</param>\n            <returns>The same builder instance so that multiple calls can be chained.</returns>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.Builder.IPropertyBuilder.WithType(NpgsqlTypes.NpgsqlDbType)\">\n            <summary>\n            Configures the database type of the current column, if not configured it will use the default of the property.\n            </summary>\n            <param name=\"dbType\">The type of the column in the database.</param>\n            <returns>The same builder instance so that multiple calls can be chained.</returns>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.Builder.IPropertyBuilder.HasDefault\">\n            <summary>\n            Marks the current column to be generated by the database\n            </summary>\n            <returns>The same builder instance so that multiple calls can be chained.</returns>\n        </member>\n        <member name=\"T:Venflow.Modeling.Definitions.EntityConfiguration`1\">\n            <summary>\n            Allows configuration for an entity type. Inherit from this class and override the <see cref=\"M:Venflow.Modeling.Definitions.EntityConfiguration`1.Configure(Venflow.Modeling.Definitions.Builder.IEntityBuilder{`0})\"/> method to configure the entity <typeparamref name=\"TEntity\"/>.\n            </summary>\n            <typeparam name=\"TEntity\">The entity to be configured.</typeparam>\n            <remarks>Classes which inherit from this one, have to be in the same assembly as the <see cref=\"T:Venflow.Database\"/> in order to be discoverable.</remarks>\n        </member>\n        <member name=\"M:Venflow.Modeling.Definitions.EntityConfiguration`1.Configure(Venflow.Modeling.Definitions.Builder.IEntityBuilder{`0})\">\n            <summary>\n            Allows for configuration of the entity <typeparamref name=\"TEntity\"/>.\n            </summary>\n            <param name=\"entityBuilder\">The builder used to configure the entity.</param>\n        </member>\n        <member name=\"T:Venflow.NpgsqlCommandExtensions\">\n            <summary>\n            Provides a set of useful extension methods for the <see cref=\"T:Npgsql.NpgsqlCommand\"/> class.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.NpgsqlCommandExtensions.AddParamter``1(Npgsql.NpgsqlCommand,System.String,``0)\">\n            <summary>\n            Adds a new Parameter to the <see cref=\"P:Npgsql.NpgsqlCommand.Parameters\"/> collection.\n            </summary>\n            <typeparam name=\"TType\">The value type of the Parameter.</typeparam>\n            <param name=\"command\">The command to which the Parameter should be added.</param>\n            <param name=\"parameterName\">The name of the Parameter.</param>\n            <param name=\"value\">The value of the Parameter.</param>\n            <returns>the just created <see cref=\"T:Npgsql.NpgsqlParameter`1\"/>.</returns>\n        </member>\n        <member name=\"M:Venflow.NpgsqlCommandExtensions.SetInterpolatedCommandText(Npgsql.NpgsqlCommand,System.FormattableString)\">\n            <summary>\n            Sets the command text of the used <see cref=\"T:Npgsql.NpgsqlCommand\"/>. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"command\">The command of which the command text should be set. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation.</param>\n            <param name=\"sql\">A string containing the SQL statement.</param>\n        </member>\n        <member name=\"M:Venflow.NpgsqlCommandExtensions.GetUnParameterizedCommandText(Npgsql.NpgsqlCommand)\">\n            <summary>\n            Gets the un-parameterized command text of the used <see cref=\"T:Npgsql.NpgsqlCommand\"/>.\n            </summary>\n            <param name=\"command\">The command of which the command text should be set. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation.</param>\n            <returns>The un-parameterized command text.</returns>\n            <remarks>\n            <strong>This API may very likely not return the exact SQL the server will be using!</strong> This is due to its client-side implementation. The returned SQL is just a rough estimate of what the server may be using. Additionally this API does require the naming of parameters to be like '@p' followed by their index. Furthermore the parameters have to be in the exact order as their placeholder.\n            </remarks>\n        </member>\n        <member name=\"T:Venflow.NpgsqlQuotedNameTranslator\">\n            <summary>\n            A name translator which preserves CLR names (e.g. SomeClass) when mapping names to the database.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.NpgsqlQuotedNameTranslator.TranslateTypeName(System.String)\">\n            <summary>\n            Given a CLR type name (e.g class, struct, enum), translates its name to a database type name.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.NpgsqlQuotedNameTranslator.TranslateMemberName(System.String)\">\n            <summary>\n            Given a CLR member name (property or field), translates its name to a database type name.\n            </summary>\n        </member>\n        <member name=\"T:Venflow.ParameterTypeHandler\">\n            <summary>\n            A class which contains methods to configure the used type handlers while parsing Interpolated arguments.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.ParameterTypeHandler.AddTypeHandler(System.Type,Venflow.IParameterTypeHandler)\">\n            <summary>\n            Adds a type handler.\n            </summary>\n            <param name=\"type\">The type to which the type handler should be mapped.</param>\n            <param name=\"typeHandler\">The type handler.</param>\n        </member>\n        <member name=\"T:Venflow.Table`1\">\n            <summary>\n            A <see cref=\"T:Venflow.Table`1\"/> is used to perform CRUD operations against the table represented by <typeparamref name=\"TEntity\"/>.\n            </summary>\n            <typeparam name=\"TEntity\">The entity which represents a table in the Database.</typeparam>\n        </member>\n        <member name=\"M:Venflow.Table`1.TruncateAsync(Venflow.Enums.ForeignTruncateOptions,System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously truncates the current table with the provided options.\n            </summary>\n            <param name=\"foreignOptions\">Specifies how the truncate operation should handle foreign tables.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation.</returns>\n            <remarks>This method represents the following SQL statement \"TRUNCATE table [CASCADE|RESTRICT|NONE]\".</remarks>\n        </member>\n        <member name=\"M:Venflow.Table`1.TruncateAsync(Venflow.Enums.IdentityTruncateOptions,Venflow.Enums.ForeignTruncateOptions,System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously truncates the current table with the provided options.\n            </summary>\n            <param name=\"truncateOptions\">Specifies how the truncate operation should handle identities in the table.</param>\n            <param name=\"foreignOptions\">Specifies how the truncate operation should handle foreign tables.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation.</returns>\n            <remarks>This method represents the following SQL statement \"TRUNCATE table [RESTART IDENTITY|CONTINUE IDENTITY|NONE] [CASCADE|RESTRICT|NONE]\".</remarks>\n        </member>\n        <member name=\"M:Venflow.Table`1.CountAsync(System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously counts the total rows the current table.\n            </summary>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation, with the number of rows.</returns>\n            <remarks>This method represents the following SQL statement \"SELECT COUNT(*) FROM table\".</remarks>\n        </member>\n        <member name=\"M:Venflow.Table`1.InsertAsync(`0,System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously inserts the entity and all entities reachable from the current provided instance into the current table.\n            </summary>\n            <param name=\"entity\">A <typeparamref name=\"TEntity\"/> instance representing the row, which will be inserted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation, with the number of rows inserted.</returns>\n            <remarks>This method represents the following SQL statement \"INSERT INTO table (foo, bar) VALUES ('foo', 'bar')\". This API is using parameterized commands.</remarks>\n        </member>\n        <member name=\"M:Venflow.Table`1.InsertAsync(Venflow.Commands.IInsertCommand{`0},`0,System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously inserts the entity and all entities reachable from the current provided instance into the current table.\n            </summary>\n            <param name=\"insertCommand\">A <see cref=\"T:Venflow.Commands.IInsertCommand`1\"/> instance which contains all the settings for this operation.</param>\n            <param name=\"entity\">A <typeparamref name=\"TEntity\"/> instance representing the row, which will be inserted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation, with the number of rows inserted.</returns>\n            <remarks>This method represents the following SQL statement \"INSERT INTO table (foo, bar) VALUES ('foo', 'bar')\". This API is using parameterized commands.</remarks>\n        </member>\n        <member name=\"M:Venflow.Table`1.InsertAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously inserts a list of entities and all entities reachable from the current provided instances into the current table.\n            </summary>\n            <param name=\"entities\">A list of <typeparamref name=\"TEntity\"/> instance representing the rows, which will be inserted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation, with the number of rows inserted.</returns>\n            <remarks>This method represents the following SQL statement \"INSERT INTO table (foo, bar) VALUES ('foo', 'bar'), ('foo', 'bar')\". This API is using parameterized commands.</remarks>\n        </member>\n        <member name=\"M:Venflow.Table`1.InsertAsync(Venflow.Commands.IInsertCommand{`0},System.Collections.Generic.List{`0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously inserts a list of entities and all entities reachable from the current provided instances into the current table.\n            </summary>\n            <param name=\"insertCommand\">A <see cref=\"T:Venflow.Commands.IInsertCommand`1\"/> instance which contains all the settings for this operation.</param>\n            <param name=\"entities\">A list of <typeparamref name=\"TEntity\"/> instance representing the rows, which will be inserted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation, with the number of rows inserted.</returns>\n            <remarks>This method represents the following SQL statement \"INSERT INTO table (foo, bar) VALUES ('foo', 'bar'), ('foo', 'bar')\". This API is using parameterized commands.</remarks>\n        </member>\n        <member name=\"M:Venflow.Table`1.DeleteAsync(`0,System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously deletes the provided entity by its defined primary key.\n            </summary>\n            <param name=\"entity\">A <typeparamref name=\"TEntity\"/> instance representing the row, which will be deleted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation, with the number of rows deleted.</returns>\n            <remarks>This method represents the following SQL statement \"DELETE FROM table WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        </member>\n        <member name=\"M:Venflow.Table`1.DeleteAsync(Venflow.Commands.IDeleteCommand{`0},`0,System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously deletes the provided entity by its defined primary key.\n            </summary>\n            <param name=\"deleteCommand\">A <see cref=\"T:Venflow.Commands.IDeleteCommand`1\"/> instance which contains all the settings for this operation.</param>\n            <param name=\"entity\">A <typeparamref name=\"TEntity\"/> instance representing the row, which will be deleted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation, with the number of rows deleted.</returns>\n            <remarks>This method represents the following SQL statement \"DELETE FROM table WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        </member>\n        <member name=\"M:Venflow.Table`1.DeleteAsync(System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously deletes the provided entities by their defined primary keys.\n            </summary>\n            <param name=\"entities\">A set of <typeparamref name=\"TEntity\"/> instances representing the rows, which will be deleted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation, with the number of rows deleted.</returns>\n            <remarks>This method represents the following SQL statement \"DELETE FROM table WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        </member>\n        <member name=\"M:Venflow.Table`1.DeleteAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously deletes the provided entities by their defined primary keys.\n            </summary>\n            <param name=\"entities\">A set of <typeparamref name=\"TEntity\"/> instances representing the rows, which will be deleted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation, with the number of rows deleted.</returns>\n            <remarks>This method represents the following SQL statement \"DELETE FROM table WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        </member>\n        <member name=\"M:Venflow.Table`1.DeleteAsync(System.Collections.Generic.List{`0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously deletes the provided entities by their defined primary keys.\n            </summary>\n            <param name=\"entities\">A set of <typeparamref name=\"TEntity\"/> instances representing the rows, which will be deleted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation, with the number of rows deleted.</returns>\n            <remarks>This method represents the following SQL statement \"DELETE FROM table WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        </member>\n        <member name=\"M:Venflow.Table`1.DeleteAsync(`0[],System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously deletes the provided entities by their defined primary keys.\n            </summary>\n            <param name=\"entities\">A set of <typeparamref name=\"TEntity\"/> instances representing the rows, which will be deleted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation, with the number of rows deleted.</returns>\n            <remarks>This method represents the following SQL statement \"DELETE FROM table WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        </member>\n        <member name=\"M:Venflow.Table`1.DeleteAsync(Venflow.Commands.IDeleteCommand{`0},System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously deletes the provided entities by their defined primary keys.\n            </summary>\n            <param name=\"deleteCommand\">A <see cref=\"T:Venflow.Commands.IDeleteCommand`1\"/> instance which contains all the settings for this operation.</param>\n            <param name=\"entities\">A set of <typeparamref name=\"TEntity\"/> instances representing the rows, which will be deleted.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation, with the number of rows deleted.</returns>\n            <remarks>This method represents the following SQL statement \"DELETE FROM table WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        </member>\n        <member name=\"M:Venflow.Table`1.UpdateAsync(`0,System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously updates the provided entity by its defined primary keys.\n            </summary>\n            <param name=\"entity\">A <typeparamref name=\"TEntity\"/> instance representing the row, which will be updated.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation.</returns>\n            <remarks>This method represents the following SQL statement \"UPDATE table SET foo = 'foo' WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        </member>\n        <member name=\"M:Venflow.Table`1.UpdateAsync(Venflow.Commands.IUpdateCommand{`0},`0,System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously updates the provided entity by its defined primary keys.\n            </summary>\n            <param name=\"updateCommand\">A <see cref=\"T:Venflow.Commands.IUpdateCommand`1\"/> instance which contains all the settings for this operation.</param>\n            <param name=\"entity\">A <typeparamref name=\"TEntity\"/> instance representing the row, which will be updated.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation.</returns>\n            <remarks>This method represents the following SQL statement \"UPDATE table SET foo = 'foo' WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        </member>\n        <member name=\"M:Venflow.Table`1.UpdateAsync(System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously updates the provided entity by its defined primary keys.\n            </summary>\n            <param name=\"entities\">A set of <typeparamref name=\"TEntity\"/> instances representing the rows, which will be updated.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation.</returns>\n            <remarks>This method represents the following SQL statement \"UPDATE table SET foo = 'foo' WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        </member>\n        <member name=\"M:Venflow.Table`1.UpdateAsync(System.Collections.Generic.List{`0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously updates the provided entity by its defined primary keys.\n            </summary>\n            <param name=\"entities\">A set of <typeparamref name=\"TEntity\"/> instances representing the rows, which will be updated.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation.</returns>\n            <remarks>This method represents the following SQL statement \"UPDATE table SET foo = 'foo' WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        </member>\n        <member name=\"M:Venflow.Table`1.UpdateAsync(System.Collections.Generic.IList{`0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously updates the provided entity by its defined primary keys.\n            </summary>\n            <param name=\"entities\">A set of <typeparamref name=\"TEntity\"/> instances representing the rows, which will be updated.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation.</returns>\n            <remarks>This method represents the following SQL statement \"UPDATE table SET foo = 'foo' WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        </member>\n        <member name=\"M:Venflow.Table`1.UpdateAsync(`0[],System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously updates the provided entity by its defined primary keys.\n            </summary>\n            <param name=\"entities\">A set of <typeparamref name=\"TEntity\"/> instances representing the rows, which will be updated.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation.</returns>\n            <remarks>This method represents the following SQL statement \"UPDATE table SET foo = 'foo' WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        </member>\n        <member name=\"M:Venflow.Table`1.UpdateAsync(Venflow.Commands.IUpdateCommand{`0},System.Collections.Generic.IEnumerable{`0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously updates the provided entity by its defined primary keys.\n            </summary>\n            <param name=\"updateCommand\">A <see cref=\"T:Venflow.Commands.IUpdateCommand`1\"/> instance which contains all the settings for this operation.</param>\n            <param name=\"entities\">A set of <typeparamref name=\"TEntity\"/> instances representing the rows, which will be updated.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation.</returns>\n            <remarks>This method represents the following SQL statement \"UPDATE table SET foo = 'foo' WHERE pk = 0\". This API is using parameterized commands.</remarks>\n        </member>\n        <member name=\"M:Venflow.Table`1.Insert\">\n            <summary>\n            Creates a new insert command.\n            </summary>\n            <returns>A Fluent API Builder for a insert command.</returns>\n            <remarks>The command will be automatically disposed the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</remarks>\n        </member>\n        <member name=\"M:Venflow.Table`1.Delete\">\n            <summary>\n            Creates a new delete command.\n            </summary>\n            <returns>A Fluent API Builder for a delete command.</returns>\n            <remarks>The command will be automatically disposed the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</remarks>\n        </member>\n        <member name=\"M:Venflow.Table`1.Delete(System.Boolean)\">\n            <summary>\n            Creates a new delete command.\n            </summary>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a delete command.</returns>\n        </member>\n        <member name=\"M:Venflow.Table`1.Update\">\n            <summary>\n            Creates a new update command.\n            </summary>\n            <returns>A Fluent API Builder for a update command.</returns>\n        </member>\n        <member name=\"M:Venflow.Table`1.Update(System.Boolean)\">\n            <summary>\n            Creates a new update command.\n            </summary>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a update command.</returns>\n        </member>\n        <member name=\"M:Venflow.Table`1.GetProxiedEntity\">\n            <summary>\n            Constructs a new proxied instance of the <typeparamref name=\"TEntity\"/> entity.\n            </summary>\n            <returns>A <typeparamref name=\"TEntity\"/> instance which will be change tracked.</returns>\n            <remarks>Any property which should be change tracked on an entity has to be marked virtual.</remarks>\n            <exception cref=\"T:System.InvalidOperationException\">Thrown when the provided entity does not contain any virtual properties.</exception>\n        </member>\n        <member name=\"M:Venflow.Table`1.TrackChanges(`0@)\">\n            <summary>\n            Starts tracking the provided <typeparamref name=\"TEntity\"/>.\n            </summary>\n            <param name=\"entity\">A <typeparamref name=\"TEntity\"/> instance which will be change tracked.</param>\n            <remarks>Any property which should be change tracked on an entity has to be marked virtual.</remarks>\n            <exception cref=\"T:System.InvalidOperationException\">Thrown when the provided entity does not contain any virtual properties.</exception>\n        </member>\n        <member name=\"M:Venflow.Table`1.TrackChanges(System.Collections.Generic.IList{`0})\">\n            <summary>\n            Starts tracking the provided <typeparamref name=\"TEntity\"/>'s.\n            </summary>\n            <param name=\"entities\">A set of <typeparamref name=\"TEntity\"/> instances which will be change tracked.</param>\n            <remarks>This method represents the following SQL statement \"UPDATE table SET foo = 'foo' WHERE pk = 0\". This API is using parameterized commands.</remarks>\n            <remarks>Any property which should be change tracked on an entity has to be marked virtual.</remarks>\n            <exception cref=\"T:System.InvalidOperationException\">Thrown when a provided entity does not contain any virtual properties.</exception>\n        </member>\n        <member name=\"T:Venflow.TableBase`1\">\n            <summary>\n            A <see cref=\"T:Venflow.TableBase`1\"/> is used to perform query operations of all sorts.\n            </summary>\n            <typeparam name=\"TEntity\">The entity which represents a table in the Database.</typeparam>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QueryAsync``1(Venflow.Commands.IQueryCommand{`0,``0},System.Threading.CancellationToken)\">\n            <summary>\n            Asynchronously queries one or more entities with the configured joins.\n            </summary>\n            <param name=\"queryCommand\">A <see cref=\"T:Venflow.Commands.IQueryCommand`2\"/> instance representing the query which will be performed.</param>\n            <param name=\"cancellationToken\">The cancellation token, which is used to cancel the operation.</param>\n            <returns>A task representing the asynchronous operation, with the result of the executed query.</returns>\n            <remarks>This method could represents the following SQL statement \"SELECT * FROM table\".</remarks>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QuerySingle(System.String,System.Boolean)\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does not support string interpolation!</strong> If you need to pass parameters with the query, either use <see cref=\"M:Venflow.TableBase`1.QuerySingle(System.String,Npgsql.NpgsqlParameter[])\"/> or <see cref=\"M:Venflow.TableBase`1.QueryInterpolatedSingle(System.FormattableString,System.Boolean)\"/>.\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QuerySingle(System.Linq.Expressions.Expression{System.Func{`0,System.FormattableString}},System.Boolean)\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QuerySingle``1(System.Linq.Expressions.Expression{System.Func{`0,``0,System.FormattableString}},System.Boolean)\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QuerySingle``2(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,System.FormattableString}},System.Boolean)\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QuerySingle``3(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,System.FormattableString}},System.Boolean)\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QuerySingle``4(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,``3,System.FormattableString}},System.Boolean)\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QuerySingle``5(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,``3,``4,System.FormattableString}},System.Boolean)\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QuerySingle``6(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,``3,``4,``5,System.FormattableString}},System.Boolean)\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QuerySingle``7(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,``3,``4,``5,``6,System.FormattableString}},System.Boolean)\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QuerySingle``8(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,``3,``4,``5,``6,``7,System.FormattableString}},System.Boolean)\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QuerySingle(System.String,Npgsql.NpgsqlParameter[])\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <see cref=\"M:Venflow.TableBase`1.QueryInterpolatedSingle(System.FormattableString,System.Boolean)\"/>.\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <param name=\"parameters\">A set of <see cref=\"T:Npgsql.NpgsqlParameter\"/> which contain parameters for the <paramref name=\"sql\"/> command.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n            <remarks>The command will be automatically disposed the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</remarks>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QuerySingle(System.String,System.Collections.Generic.IList{Npgsql.NpgsqlParameter})\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <see cref=\"M:Venflow.TableBase`1.QueryInterpolatedSingle(System.FormattableString,System.Boolean)\"/>.\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <param name=\"parameters\">A set of <see cref=\"T:Npgsql.NpgsqlParameter\"/> which contain parameters for the <paramref name=\"sql\"/> command.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n            <remarks>The command will be automatically disposed the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</remarks>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QuerySingle(System.String,System.Boolean,Npgsql.NpgsqlParameter[])\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <see cref=\"M:Venflow.TableBase`1.QueryInterpolatedSingle(System.FormattableString,System.Boolean)\"/>.\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <param name=\"parameters\">A set of <see cref=\"T:Npgsql.NpgsqlParameter\"/> which contain parameters for the <paramref name=\"sql\"/> command.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QueryInterpolatedSingle(System.FormattableString,System.Boolean)\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. You should only add parameters trough string interpolation.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QueryInterpolatedSingle(Venflow.FormattableSqlStringBuilder,System.Boolean)\">\n            <summary>\n            Creates a new query command, which expects a single returned primary row. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A <see cref=\"T:Venflow.FormattableSqlStringBuilder\"/> instance containing the SQL statement.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QueryBatch(System.String,System.Boolean)\">\n            <summary>\n            Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does not support string interpolation!</strong> If you need to pass parameters with the query, either use <see cref=\"M:Venflow.TableBase`1.QuerySingle(System.String,Npgsql.NpgsqlParameter[])\"/> or <see cref=\"M:Venflow.TableBase`1.QueryInterpolatedSingle(System.FormattableString,System.Boolean)\"/>.\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QueryBatch(System.Linq.Expressions.Expression{System.Func{`0,System.FormattableString}},System.Boolean)\">\n            <summary>\n             Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QueryBatch``1(System.Linq.Expressions.Expression{System.Func{`0,``0,System.FormattableString}},System.Boolean)\">\n            <summary>\n             Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QueryBatch``2(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,System.FormattableString}},System.Boolean)\">\n            <summary>\n             Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QueryBatch``3(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,System.FormattableString}},System.Boolean)\">\n            <summary>\n             Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QueryBatch``4(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,``3,System.FormattableString}},System.Boolean)\">\n            <summary>\n             Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QueryBatch``5(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,``3,``4,System.FormattableString}},System.Boolean)\">\n            <summary>\n             Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QueryBatch``6(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,``3,``4,``5,System.FormattableString}},System.Boolean)\">\n            <summary>\n             Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QueryBatch``7(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,``3,``4,``5,``6,System.FormattableString}},System.Boolean)\">\n            <summary>\n             Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QueryBatch``8(System.Linq.Expressions.Expression{System.Func{`0,``0,``1,``2,``3,``4,``5,``6,``7,System.FormattableString}},System.Boolean)\">\n            <summary>\n             Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QueryBatch(System.String,Npgsql.NpgsqlParameter[])\">\n            <summary>\n            Creates a new query command, which expects a set of primary rows to be returned.<strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <see cref=\"M:Venflow.TableBase`1.QueryInterpolatedSingle(System.FormattableString,System.Boolean)\"/>.\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <param name=\"parameters\">A set of <see cref=\"T:Npgsql.NpgsqlParameter\"/> which contain parameters for the <paramref name=\"sql\"/> command.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n            <remarks>The command will be automatically disposed the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</remarks>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QueryBatch(System.String,System.Collections.Generic.IList{Npgsql.NpgsqlParameter})\">\n            <summary>\n            Creates a new query command, which expects a set of primary rows to be returned.<strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <see cref=\"M:Venflow.TableBase`1.QueryInterpolatedSingle(System.FormattableString,System.Boolean)\"/>.\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <param name=\"parameters\">A set of <see cref=\"T:Npgsql.NpgsqlParameter\"/> which contain parameters for the <paramref name=\"sql\"/> command.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n            <remarks>The command will be automatically disposed the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</remarks>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QueryBatch(System.String,System.Boolean,Npgsql.NpgsqlParameter[])\">\n            <summary>\n            Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does not support string interpolation!</strong> If you want to pass interpolated SQL use <see cref=\"M:Venflow.TableBase`1.QueryInterpolatedSingle(System.FormattableString,System.Boolean)\"/>.\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <param name=\"parameters\">A set of <see cref=\"T:Npgsql.NpgsqlParameter\"/> which contain parameters for the <paramref name=\"sql\"/> command.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QueryInterpolatedBatch(System.FormattableString,System.Boolean)\">\n            <summary>\n            Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A string containing the SQL statement. Ensure that you do not pass any user manipulated SQL for this parameter. <strong>You should only add parameters trough string interpolation.</strong></param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"M:Venflow.TableBase`1.QueryInterpolatedBatch(Venflow.FormattableSqlStringBuilder,System.Boolean)\">\n            <summary>\n            Creates a new query command, which expects a set of primary rows to be returned. <strong>This API does support string interpolation!</strong>\n            </summary>\n            <param name=\"sql\">A <see cref=\"T:Venflow.FormattableSqlStringBuilder\"/> instance containing the SQL statement.</param>\n            <param name=\"disposeCommand\">Indicates whether or not to dispose the underlying <see cref=\"T:Npgsql.NpgsqlCommand\"/> after the command got executed once.</param>\n            <returns>A Fluent API Builder for a query command.</returns>\n        </member>\n        <member name=\"T:Venflow.TypeArgumentException\">\n            <summary>\n            Represents an error which occur when an invalid type argument gets passed to a generic method.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.TypeArgumentException.#ctor\">\n            <inheritdoc/>\n        </member>\n        <member name=\"M:Venflow.TypeArgumentException.#ctor(System.String)\">\n            <inheritdoc/>\n        </member>\n        <member name=\"M:Venflow.TypeArgumentException.#ctor(System.String,System.String)\">\n            <inheritdoc/>\n        </member>\n        <member name=\"M:Venflow.TypeArgumentException.#ctor(System.String,System.Exception)\">\n            <inheritdoc/>\n        </member>\n        <member name=\"T:Venflow.VenflowConfiguration\">\n            <summary>\n            Contains methods to globally set the configuration of Venflow.\n            </summary>\n        </member>\n        <member name=\"P:Venflow.VenflowConfiguration.DynamicCacheExpirationTime\">\n            <summary>\n            Determines the expiration duration time of the underlying SQL Materializer Cache in seconds, defaults to 5 minutes.\n            </summary>\n            <remarks>\n            Venflow uses the SQL used in queries to map a materializer to this specific query. This is faster, than using the returned columns and used relations as a cache key. If a query with the executed SQL won't be called again within the next <see cref=\"P:Venflow.VenflowConfiguration.DynamicCacheExpirationTime\"/>, it will be removed from the cache. However do note, that the materializer itself will not be removed from the cache.\n            </remarks>\n        </member>\n        <member name=\"P:Venflow.VenflowConfiguration.ThrowLoggedExceptions\">\n            <summary>\n            Determines whether or not Venflow will propagate exceptions to the caller of a command, if the exception is being logged. Defaults to <see langword=\"true\"/>.\n            </summary>\n        </member>\n        <member name=\"P:Venflow.VenflowConfiguration.ShouldUseDeepValidation\">\n            <summary>\n            Determines whether or not Venflow will perform more extensive validation through out its usage. This setting will be set to <see langword=\"true\"></see> automatically, if you are in DEBUG, otherwise <see langword=\"false\"></see>.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.VenflowConfiguration.SetDynamicCacheExpirationTime(System.TimeSpan)\">\n            <summary>\n            Sets the value of the <see cref=\"P:Venflow.VenflowConfiguration.DynamicCacheExpirationTime\"/> property.\n            </summary>\n            <param name=\"timeSpan\">The expiration duration time.</param>\n        </member>\n        <member name=\"M:Venflow.VenflowConfiguration.SetDynamicCacheExpirationTime(System.Int64)\">\n            <summary>\n            Sets the value of the <see cref=\"P:Venflow.VenflowConfiguration.DynamicCacheExpirationTime\"/> property.\n            </summary>\n            <param name=\"expirationTime\">The expiration duration time in seconds.</param>\n        </member>\n        <member name=\"M:Venflow.VenflowConfiguration.UseDeepValidation(System.Boolean)\">\n            <summary>\n            Changes the value of the <see cref=\"P:Venflow.VenflowConfiguration.ShouldUseDeepValidation\"/> property.\n            </summary>\n            <param name=\"validation\">Determines if Venflow should use deep validation or not.</param>\n        </member>\n        <member name=\"T:Venflow.VenflowDbType\">\n            <inheritdoc cref=\"T:NpgsqlTypes.NpgsqlDbType\"/>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Bigint\">\n            <summary>\n            Corresponds to the PostgreSQL 8-byte \"bigint\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-numeric.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Double\">\n            <summary>\n            Corresponds to the PostgreSQL 8-byte floating-point \"double\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-numeric.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Integer\">\n            <summary>\n            Corresponds to the PostgreSQL 4-byte \"integer\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-numeric.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Numeric\">\n            <summary>\n            Corresponds to the PostgreSQL arbitrary-precision \"numeric\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-numeric.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Real\">\n            <summary>\n            Corresponds to the PostgreSQL floating-point \"real\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-numeric.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Smallint\">\n            <summary>\n            Corresponds to the PostgreSQL 2-byte \"smallint\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-numeric.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Money\">\n            <summary>\n            Corresponds to the PostgreSQL \"money\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-money.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Boolean\">\n            <summary>\n            Corresponds to the PostgreSQL \"boolean\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-boolean.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Box\">\n            <summary>\n            Corresponds to the PostgreSQL geometric \"box\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-geometric.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Circle\">\n            <summary>\n            Corresponds to the PostgreSQL geometric \"circle\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-geometric.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Line\">\n            <summary>\n            Corresponds to the PostgreSQL geometric \"line\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-geometric.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.LSeg\">\n            <summary>\n            Corresponds to the PostgreSQL geometric \"lseg\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-geometric.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Path\">\n            <summary>\n            Corresponds to the PostgreSQL geometric \"path\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-geometric.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Point\">\n            <summary>\n            Corresponds to the PostgreSQL geometric \"point\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-geometric.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Polygon\">\n            <summary>\n            Corresponds to the PostgreSQL geometric \"polygon\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-geometric.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Char\">\n            <summary>\n            Corresponds to the PostgreSQL \"char(n)\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-character.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Text\">\n            <summary>\n            Corresponds to the PostgreSQL \"text\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-character.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Varchar\">\n            <summary>\n            Corresponds to the PostgreSQL \"varchar\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-character.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Name\">\n            <summary>\n            Corresponds to the PostgreSQL internal \"name\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-character.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Citext\">\n            <summary>\n            Corresponds to the PostgreSQL \"citext\" type for the citext module.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/citext.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.InternalChar\">\n             <summary>\n             Corresponds to the PostgreSQL \"char\" type.\n             </summary>\n             <remarks>\n             This is an internal field and should normally not be used for regular applications.\n            \n             See https://www.postgresql.org/docs/current/static/datatype-text.html\n             </remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Bytea\">\n            <summary>\n            Corresponds to the PostgreSQL \"bytea\" type, holding a raw byte string.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-binary.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Date\">\n            <summary>\n            Corresponds to the PostgreSQL \"date\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-datetime.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Time\">\n            <summary>\n            Corresponds to the PostgreSQL \"time\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-datetime.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Timestamp\">\n            <summary>\n            Corresponds to the PostgreSQL \"timestamp\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-datetime.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.TimestampTZ\">\n            <summary>\n            Corresponds to the PostgreSQL \"timestamp with time zone\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-datetime.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.TimestampTz\">\n            <summary>\n            Corresponds to the PostgreSQL \"timestamp with time zone\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-datetime.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Interval\">\n            <summary>\n            Corresponds to the PostgreSQL \"interval\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-datetime.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.TimeTZ\">\n            <summary>\n            Corresponds to the PostgreSQL \"time with time zone\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-datetime.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.TimeTz\">\n            <summary>\n            Corresponds to the PostgreSQL \"time with time zone\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-datetime.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Abstime\">\n            <summary>\n            Corresponds to the obsolete PostgreSQL \"abstime\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-datetime.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Inet\">\n            <summary>\n            Corresponds to the PostgreSQL \"inet\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-net-types.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Cidr\">\n            <summary>\n            Corresponds to the PostgreSQL \"cidr\" type, a field storing an IPv4 or IPv6 network.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-net-types.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.MacAddr\">\n            <summary>\n            Corresponds to the PostgreSQL \"macaddr\" type, a field storing a 6-byte physical address.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-net-types.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.MacAddr8\">\n            <summary>\n            Corresponds to the PostgreSQL \"macaddr8\" type, a field storing a 6-byte or 8-byte physical address.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-net-types.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Bit\">\n            <summary>\n            Corresponds to the PostgreSQL \"bit\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-bit.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Varbit\">\n            <summary>\n            Corresponds to the PostgreSQL \"varbit\" type, a field storing a variable-length string of bits.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-boolean.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.TsVector\">\n            <summary>\n            Corresponds to the PostgreSQL \"tsvector\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-textsearch.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.TsQuery\">\n            <summary>\n            Corresponds to the PostgreSQL \"tsquery\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-textsearch.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Regconfig\">\n            <summary>\n            Corresponds to the PostgreSQL \"regconfig\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-textsearch.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Uuid\">\n            <summary>\n            Corresponds to the PostgreSQL \"uuid\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-uuid.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Xml\">\n            <summary>\n            Corresponds to the PostgreSQL \"xml\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-xml.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Json\">\n            <summary>\n            Corresponds to the PostgreSQL \"json\" type, a field storing JSON in text format.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-json.html</remarks>\n            <seealso cref=\"F:Venflow.VenflowDbType.Jsonb\"/>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Jsonb\">\n            <summary>\n            Corresponds to the PostgreSQL \"jsonb\" type, a field storing JSON in an optimized binary.\n            format.\n            </summary>\n            <remarks>\n            Supported since PostgreSQL 9.4.\n            See https://www.postgresql.org/docs/current/static/datatype-json.html\n            </remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.JsonPath\">\n            <summary>\n            Corresponds to the PostgreSQL \"jsonpath\" type, a field storing JSON path in text format.\n            format.\n            </summary>\n            <remarks>\n            Supported since PostgreSQL 12.\n            See https://www.postgresql.org/docs/current/datatype-json.html#DATATYPE-JSONPATH\n            </remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Hstore\">\n            <summary>\n            Corresponds to the PostgreSQL \"hstore\" type, a dictionary of string key-value pairs.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/hstore.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Refcursor\">\n            <summary>\n            Corresponds to the PostgreSQL \"refcursor\" type.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Oidvector\">\n            <summary>\n            Corresponds to the PostgreSQL internal \"oidvector\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-oid.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Int2Vector\">\n            <summary>\n            Corresponds to the PostgreSQL internal \"int2vector\" type.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Oid\">\n            <summary>\n            Corresponds to the PostgreSQL \"oid\" type.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-oid.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Xid\">\n            <summary>\n            Corresponds to the PostgreSQL \"xid\" type, an internal transaction identifier.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-oid.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Xid8\">\n            <summary>\n            Corresponds to the PostgreSQL \"xid8\" type, an internal transaction identifier.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-oid.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Cid\">\n            <summary>\n            Corresponds to the PostgreSQL \"cid\" type, an internal command identifier.\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/datatype-oid.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Regtype\">\n            <summary>\n            Corresponds to the PostgreSQL \"regtype\" type, a numeric (OID) ID of a type in the pg_type table.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Tid\">\n            <summary>\n            Corresponds to the PostgreSQL \"tid\" type, a tuple id identifying the physical location of a row within its table.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.PgLsn\">\n            <summary>\n            Corresponds to the PostgreSQL \"pg_lsn\" type, which can be used to store LSN (Log Sequence Number) data which\n            is a pointer to a location in the WAL.\n            </summary>\n            <remarks>\n            See: https://www.postgresql.org/docs/current/datatype-pg-lsn.html and\n            https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=7d03a83f4d0736ba869fa6f93973f7623a27038a\n            </remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Unknown\">\n            <summary>\n            A special value that can be used to send parameter values to the database without\n            specifying their type, allowing the database to cast them to another value based on context.\n            The value will be converted to a string and send as text.\n            </summary>\n            <remarks>\n            This value shouldn't ordinarily be used, and makes sense only when sending a data type\n            unsupported by Npgsql.\n            </remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Geometry\">\n            <summary>\n            The geometry type for PostgreSQL spatial extension PostGIS.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Geography\">\n            <summary>\n            The geography (geodetic) type for PostgreSQL spatial extension PostGIS.\n            </summary>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.LTree\">\n            <summary>\n            The PostgreSQL ltree type, each value is a label path \"a.label.tree.value\", forming a tree in a set.\n            </summary>\n            <remarks>See http://www.postgresql.org/docs/current/static/ltree.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.LQuery\">\n            <summary>\n            The PostgreSQL lquery type for PostgreSQL extension ltree\n            </summary>\n            <remarks>See http://www.postgresql.org/docs/current/static/ltree.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.LTxtQuery\">\n            <summary>\n            The PostgreSQL ltxtquery type for PostgreSQL extension ltree\n            </summary>\n            <remarks>See http://www.postgresql.org/docs/current/static/ltree.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Array\">\n            <summary>\n            Corresponds to the PostgreSQL \"array\" type, a variable-length multidimensional array of\n            another type. This value must be combined with another value from <see cref=\"T:NpgsqlTypes.NpgsqlDbType\"/>\n            via a bit OR (e.g. NpgsqlDbType.Array | NpgsqlDbType.Integer)\n            </summary>\n            <remarks>See https://www.postgresql.org/docs/current/static/arrays.html</remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Range\">\n            <summary>\n            Corresponds to the PostgreSQL \"range\" type, continuous range of values of specific type.\n            This value must be combined with another value from <see cref=\"T:NpgsqlTypes.NpgsqlDbType\"/>\n            via a bit OR (e.g. NpgsqlDbType.Range | NpgsqlDbType.Integer)\n            </summary>\n            <remarks>\n            Supported since PostgreSQL 9.2.\n            See https://www.postgresql.org/docs/current/static/rangetypes.html\n            </remarks>\n        </member>\n        <member name=\"F:Venflow.VenflowDbType.Multirange\">\n            <summary>\n            Corresponds to the PostgreSQL \"multirange\" type, continuous range of values of specific type.\n            This value must be combined with another value from <see cref=\"T:NpgsqlTypes.NpgsqlDbType\"/>\n            via a bit OR (e.g. NpgsqlDbType.Multirange | NpgsqlDbType.Integer)\n            </summary>\n            <remarks>\n            Supported since PostgreSQL 14.\n            See https://www.postgresql.org/docs/current/static/rangetypes.html\n            </remarks>\n        </member>\n        <member name=\"T:System.Runtime.CompilerServices.IgnoresAccessChecksToAttribute\">\n            <summary>\n            <strong>Do not use this attribute, if you are not absolutely sure what it does.</strong>\n            </summary>\n        </member>\n        <member name=\"T:System.Runtime.CompilerServices.NullableAttribute\">\n            <summary>\n            <strong>Do not use this attribute, it is reserved for the compiler.</strong>\n            </summary>\n        </member>\n        <member name=\"T:System.Runtime.CompilerServices.NullableContextAttribute\">\n            <summary>\n            <strong>Do not use this attribute, it is reserved for the compiler.</strong>\n            </summary>\n        </member>\n    </members>\n</doc>\n"
  },
  {
    "path": "src/Venflow/VenflowConfiguration.cs",
    "content": "﻿using System.Diagnostics;\n\nnamespace Venflow\n{\n    /// <summary>\n    /// Contains methods to globally set the configuration of Venflow.\n    /// </summary>\n    public static class VenflowConfiguration\n    {\n        /// <summary>\n        /// Determines the expiration duration time of the underlying SQL Materializer Cache in seconds, defaults to 5 minutes.\n        /// </summary>\n        /// <remarks>\n        /// Venflow uses the SQL used in queries to map a materializer to this specific query. This is faster, than using the returned columns and used relations as a cache key. If a query with the executed SQL won't be called again within the next <see cref=\"DynamicCacheExpirationTime\"/>, it will be removed from the cache. However do note, that the materializer itself will not be removed from the cache.\n        /// </remarks>\n        public static long DynamicCacheExpirationTime { get; private set; } = 60 * 5;\n\n        /// <summary>\n        /// Determines whether or not Venflow will propagate exceptions to the caller of a command, if the exception is being logged. Defaults to <see langword=\"true\"/>.\n        /// </summary>\n        public static bool ThrowLoggedExceptions { get; set; } = true;\n\n        /// <summary>\n        /// Determines whether or not Venflow will perform more extensive validation through out its usage. This setting will be set to <see langword=\"true\"></see> automatically, if you are in DEBUG, otherwise <see langword=\"false\"></see>.\n        /// </summary>\n        public static bool ShouldUseDeepValidation { get; private set; }\n\n        private static bool _validationSettingSet;\n\n        /// <summary>\n        /// Sets the value of the <see cref=\"DynamicCacheExpirationTime\"/> property.\n        /// </summary>\n        /// <param name=\"timeSpan\">The expiration duration time.</param>\n        public static void SetDynamicCacheExpirationTime(TimeSpan timeSpan)\n        {\n            var seconds = (long)timeSpan.TotalSeconds;\n\n            if (seconds <= 0)\n                throw new ArgumentException(\"The timeSpan needs to be larger than 0 seconds.\", nameof(timeSpan));\n\n            DynamicCacheExpirationTime = seconds;\n        }\n\n        /// <summary>\n        /// Sets the value of the <see cref=\"DynamicCacheExpirationTime\"/> property.\n        /// </summary>\n        /// <param name=\"expirationTime\">The expiration duration time in seconds.</param>\n        public static void SetDynamicCacheExpirationTime(long expirationTime)\n        {\n            if (expirationTime <= 0)\n                throw new ArgumentException(\"The expirationTime needs to be larger than 0 seconds.\", nameof(expirationTime));\n\n            DynamicCacheExpirationTime = expirationTime;\n        }\n\n        /// <summary>\n        /// Changes the value of the <see cref=\"ShouldUseDeepValidation\"/> property.\n        /// </summary>\n        /// <param name=\"validation\">Determines if Venflow should use deep validation or not.</param>\n        public static void UseDeepValidation(bool validation)\n        {\n            ShouldUseDeepValidation = validation;\n            _validationSettingSet = true;\n        }\n\n        internal static void SetDefaultValidationIfNeeded(Assembly assembly)\n        {\n            if (_validationSettingSet)\n                return;\n\n            var attribute = assembly.GetCustomAttribute<DebuggableAttribute>();\n\n            if (attribute is null)\n            {\n                UseDeepValidation(false);\n\n                return;\n            }\n\n            UseDeepValidation(attribute.IsJITTrackingEnabled);\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow/VenflowDbType.cs",
    "content": "﻿using NpgsqlTypes;\n\nnamespace Venflow\n{\n    /// <inheritdoc cref=\"NpgsqlTypes.NpgsqlDbType\"/>\n    public static class VenflowDbType\n    {\n        // Note that it's important to never change the numeric values of this enum, since user applications\n        // compile them in.\n\n        #region Numeric Types\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL 8-byte \"bigint\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-numeric.html</remarks>\n\n        public const int Bigint = 1;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL 8-byte floating-point \"double\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-numeric.html</remarks>\n\n        public const int Double = 8;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL 4-byte \"integer\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-numeric.html</remarks>\n\n        public const int Integer = 9;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL arbitrary-precision \"numeric\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-numeric.html</remarks>\n\n        public const int Numeric = 13;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL floating-point \"real\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-numeric.html</remarks>\n\n        public const int Real = 17;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL 2-byte \"smallint\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-numeric.html</remarks>\n\n        public const int Smallint = 18;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"money\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-money.html</remarks>\n\n        public const int Money = 12;\n\n        #endregion\n\n        #region Boolean Type\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"boolean\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-boolean.html</remarks>\n\n        public const int Boolean = 2;\n\n        #endregion\n\n        #region Geometric types\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL geometric \"box\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-geometric.html</remarks>\n\n        public const int Box = 3;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL geometric \"circle\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-geometric.html</remarks>\n\n        public const int Circle = 5;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL geometric \"line\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-geometric.html</remarks>\n\n        public const int Line = 10;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL geometric \"lseg\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-geometric.html</remarks>\n\n        public const int LSeg = 11;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL geometric \"path\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-geometric.html</remarks>\n\n        public const int Path = 14;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL geometric \"point\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-geometric.html</remarks>\n\n        public const int Point = 15;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL geometric \"polygon\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-geometric.html</remarks>\n\n        public const int Polygon = 16;\n\n        #endregion\n\n        #region Character Types\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"char(n)\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-character.html</remarks>\n\n        public const int Char = 6;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"text\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-character.html</remarks>\n\n        public const int Text = 19;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"varchar\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-character.html</remarks>\n\n        public const int Varchar = 22;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL internal \"name\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-character.html</remarks>\n\n        public const int Name = 32;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"citext\" type for the citext module.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/citext.html</remarks>\n        public const int Citext = 51;   // Extension type\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"char\" type.\n        /// </summary>\n        /// <remarks>\n        /// This is an internal field and should normally not be used for regular applications.\n        ///\n        /// See https://www.postgresql.org/docs/current/static/datatype-text.html\n        /// </remarks>\n\n        public const int InternalChar = 38;\n\n        #endregion\n\n        #region Binary Data Types\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"bytea\" type, holding a raw byte string.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-binary.html</remarks>\n\n        public const int Bytea = 4;\n\n        #endregion\n\n        #region Date/Time Types\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"date\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-datetime.html</remarks>\n\n        public const int Date = 7;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"time\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-datetime.html</remarks>\n\n        public const int Time = 20;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"timestamp\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-datetime.html</remarks>\n\n        public const int Timestamp = 21;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"timestamp with time zone\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-datetime.html</remarks>\n        // NOTE: Don't remove this (see #1694)\n        public const int TimestampTZ = 26;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"timestamp with time zone\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-datetime.html</remarks>\n\n        public const int TimestampTz = 26;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"interval\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-datetime.html</remarks>\n\n        public const int Interval = 30;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"time with time zone\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-datetime.html</remarks>\n        // NOTE: Don't remove this (see #1694)\n        public const int TimeTZ = 31;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"time with time zone\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-datetime.html</remarks>\n\n        public const int TimeTz = 31;\n\n        /// <summary>\n        /// Corresponds to the obsolete PostgreSQL \"abstime\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-datetime.html</remarks>\n\n\n        public const int Abstime = 33;\n\n        #endregion\n\n        #region Network Address Types\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"inet\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-net-types.html</remarks>\n\n        public const int Inet = 24;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"cidr\" type, a field storing an IPv4 or IPv6 network.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-net-types.html</remarks>\n\n        public const int Cidr = 44;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"macaddr\" type, a field storing a 6-byte physical address.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-net-types.html</remarks>\n\n        public const int MacAddr = 34;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"macaddr8\" type, a field storing a 6-byte or 8-byte physical address.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-net-types.html</remarks>\n\n        public const int MacAddr8 = 54;\n\n        #endregion\n\n        #region Bit String Types\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"bit\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-bit.html</remarks>\n\n        public const int Bit = 25;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"varbit\" type, a field storing a variable-length string of bits.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-boolean.html</remarks>\n\n        public const int Varbit = 39;\n\n        #endregion\n\n        #region Text Search Types\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"tsvector\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-textsearch.html</remarks>\n\n        public const int TsVector = 45;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"tsquery\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-textsearch.html</remarks>\n\n        public const int TsQuery = 46;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"regconfig\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-textsearch.html</remarks>\n\n        public const int Regconfig = 56;\n\n        #endregion\n\n        #region UUID Type\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"uuid\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-uuid.html</remarks>\n\n        public const int Uuid = 27;\n\n        #endregion\n\n        #region XML Type\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"xml\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-xml.html</remarks>\n\n        public const int Xml = 28;\n\n        #endregion\n\n        #region JSON Types\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"json\" type, a field storing JSON in text format.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-json.html</remarks>\n        /// <seealso cref=\"Jsonb\"/>\n\n        public const int Json = 35;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"jsonb\" type, a field storing JSON in an optimized binary.\n        /// format.\n        /// </summary>\n        /// <remarks>\n        /// Supported since PostgreSQL 9.4.\n        /// See https://www.postgresql.org/docs/current/static/datatype-json.html\n        /// </remarks>\n\n        public const int Jsonb = 36;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"jsonpath\" type, a field storing JSON path in text format.\n        /// format.\n        /// </summary>\n        /// <remarks>\n        /// Supported since PostgreSQL 12.\n        /// See https://www.postgresql.org/docs/current/datatype-json.html#DATATYPE-JSONPATH\n        /// </remarks>\n\n        public const int JsonPath = 57;\n\n        #endregion\n\n        #region HSTORE Type\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"hstore\" type, a dictionary of string key-value pairs.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/hstore.html</remarks>\n        public const int Hstore = 37; // Extension type\n\n        #endregion\n\n        #region Internal Types\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"refcursor\" type.\n        /// </summary>\n\n        public const int Refcursor = 23;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL internal \"oidvector\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-oid.html</remarks>\n\n        public const int Oidvector = 29;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL internal \"int2vector\" type.\n        /// </summary>\n\n        public const int Int2Vector = 52;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"oid\" type.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-oid.html</remarks>\n\n        public const int Oid = 41;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"xid\" type, an internal transaction identifier.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-oid.html</remarks>\n\n        public const int Xid = 42;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"xid8\" type, an internal transaction identifier.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-oid.html</remarks>\n\n        public const int Xid8 = 64;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"cid\" type, an internal command identifier.\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/datatype-oid.html</remarks>\n\n        public const int Cid = 43;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"regtype\" type, a numeric (OID) ID of a type in the pg_type table.\n        /// </summary>\n\n        public const int Regtype = 49;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"tid\" type, a tuple id identifying the physical location of a row within its table.\n        /// </summary>\n\n        public const int Tid = 53;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"pg_lsn\" type, which can be used to store LSN (Log Sequence Number) data which\n        /// is a pointer to a location in the WAL.\n        /// </summary>\n        /// <remarks>\n        /// See: https://www.postgresql.org/docs/current/datatype-pg-lsn.html and\n        /// https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=7d03a83f4d0736ba869fa6f93973f7623a27038a\n        /// </remarks>\n\n        public const int PgLsn = 59;\n\n        #endregion\n\n        #region Special\n\n        /// <summary>\n        /// A special value that can be used to send parameter values to the database without\n        /// specifying their type, allowing the database to cast them to another value based on context.\n        /// The value will be converted to a string and send as text.\n        /// </summary>\n        /// <remarks>\n        /// This value shouldn't ordinarily be used, and makes sense only when sending a data type\n        /// unsupported by Npgsql.\n        /// </remarks>\n\n        public const int Unknown = 40;\n\n        #endregion\n\n        #region PostGIS\n\n        /// <summary>\n        /// The geometry type for PostgreSQL spatial extension PostGIS.\n        /// </summary>\n        public const int Geometry = 50;  // Extension type\n\n        /// <summary>\n        /// The geography (geodetic) type for PostgreSQL spatial extension PostGIS.\n        /// </summary>\n        public const int Geography = 55; // Extension type\n\n        #endregion\n\n        #region Label tree types\n\n        /// <summary>\n        /// The PostgreSQL ltree type, each value is a label path \"a.label.tree.value\", forming a tree in a set.\n        /// </summary>\n        /// <remarks>See http://www.postgresql.org/docs/current/static/ltree.html</remarks>\n        public const int LTree = 60; // Extension type\n\n        /// <summary>\n        /// The PostgreSQL lquery type for PostgreSQL extension ltree\n        /// </summary>\n        /// <remarks>See http://www.postgresql.org/docs/current/static/ltree.html</remarks>\n        public const int LQuery = 61; // Extension type\n\n        /// <summary>\n        /// The PostgreSQL ltxtquery type for PostgreSQL extension ltree\n        /// </summary>\n        /// <remarks>See http://www.postgresql.org/docs/current/static/ltree.html</remarks>\n        public const int LTxtQuery = 62; // Extension type\n\n        #endregion\n\n        #region Composables\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"array\" type, a variable-length multidimensional array of\n        /// another type. This value must be combined with another value from <see cref=\"NpgsqlDbType\"/>\n        /// via a bit OR (e.g. NpgsqlDbType.Array | NpgsqlDbType.Integer)\n        /// </summary>\n        /// <remarks>See https://www.postgresql.org/docs/current/static/arrays.html</remarks>\n        public const int Array = int.MinValue;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"range\" type, continuous range of values of specific type.\n        /// This value must be combined with another value from <see cref=\"NpgsqlDbType\"/>\n        /// via a bit OR (e.g. NpgsqlDbType.Range | NpgsqlDbType.Integer)\n        /// </summary>\n        /// <remarks>\n        /// Supported since PostgreSQL 9.2.\n        /// See https://www.postgresql.org/docs/current/static/rangetypes.html\n        /// </remarks>\n        public const int Range = 0x40000000;\n\n        /// <summary>\n        /// Corresponds to the PostgreSQL \"multirange\" type, continuous range of values of specific type.\n        /// This value must be combined with another value from <see cref=\"NpgsqlDbType\"/>\n        /// via a bit OR (e.g. NpgsqlDbType.Multirange | NpgsqlDbType.Integer)\n        /// </summary>\n        /// <remarks>\n        /// Supported since PostgreSQL 14.\n        /// See https://www.postgresql.org/docs/current/static/rangetypes.html\n        /// </remarks>\n        public const int Multirange = 0x20000000;\n\n        #endregion\n    }\n}\n"
  },
  {
    "path": "src/Venflow.AspNetCore/ServiceCollectionExtensions.cs",
    "content": "﻿using System;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.Extensions.DependencyInjection;\nusing Microsoft.Extensions.DependencyInjection.Extensions;\nusing Venflow.Json;\n\nnamespace Venflow.AspNetCore\n{\n    /// <summary>\n    /// Provides a set of useful extension methods for the <see cref=\"IServiceCollection\"/> interface.\n    /// </summary>\n    public static class VenflowServiceCollectionExtensions\n    {\n        /// <summary>\n        /// Registers the <typeparamref name=\"TDatabase\"/> as a service in the <paramref name=\"services\"/>.\n        /// </summary>\n        /// <typeparam name=\"TDatabase\">The type of the database to be registered.</typeparam>\n        /// <param name=\"services\">The <see cref=\"IServiceCollection\"/> to which the database will be registered.</param>\n        /// <param name=\"optionsAction\">Allows to configure a <see cref=\"DatabaseOptionsBuilder{TDatabase}\"/> for the database. Note, that the specified <typeparamref name=\"TDatabase\"/> needs to have a public constructor with a <see cref=\"DatabaseOptionsBuilder{TDatabase}\"/> parameter, which it passes to the base constructor.</param>\n        /// <param name=\"databaseLifetime\">The liftetime with which to register the <typeparamref name=\"TDatabase\"/> service in the container.</param>\n        /// <returns>The same service collection so that multiple calls can be chained.</returns>\n        public static IServiceCollection AddDatabase<TDatabase>(this IServiceCollection services, Action<DatabaseOptionsBuilder<TDatabase>>? optionsAction = null, ServiceLifetime databaseLifetime = ServiceLifetime.Scoped)\n            where TDatabase : Database\n        {\n            return AddDatabase(services, optionsAction is null ? null : (Action<IServiceProvider, DatabaseOptionsBuilder<TDatabase>>)((_, options) => optionsAction.Invoke(options)), databaseLifetime, databaseLifetime);\n        }\n\n        /// <summary>\n        /// Registers the <typeparamref name=\"TDatabase\"/> as a service in the <paramref name=\"services\"/>.\n        /// </summary>\n        /// <typeparam name=\"TDatabase\">The type of the database to be registered.</typeparam>\n        /// <param name=\"services\">The <see cref=\"IServiceCollection\"/> to which the database will be registered.</param>\n        /// <param name=\"optionsAction\">Allows to configure a <see cref=\"DatabaseOptionsBuilder{TDatabase}\"/> for the database. Note, that the specified <typeparamref name=\"TDatabase\"/> needs to have a public constructor with a <see cref=\"DatabaseOptionsBuilder{TDatabase}\"/> parameter, which it passes to the base constructor.</param>\n        /// <param name=\"databaseLifetime\">The liftetime with which to register the <typeparamref name=\"TDatabase\"/> service in the container.</param>\n        /// <returns>The same service collection so that multiple calls can be chained.</returns>\n        public static IServiceCollection AddDatabase<TDatabase>(this IServiceCollection services, Action<IServiceProvider, DatabaseOptionsBuilder<TDatabase>>? optionsAction = null, ServiceLifetime databaseLifetime = ServiceLifetime.Scoped)\n            where TDatabase : Database\n        {\n            return AddDatabase(services, optionsAction, databaseLifetime, databaseLifetime);\n        }\n\n        /// <summary>\n        /// Registers the <typeparamref name=\"TDatabase\"/> as a service in the <paramref name=\"services\"/>.\n        /// </summary>\n        /// <typeparam name=\"TDatabase\">The type of the database to be registered.</typeparam>\n        /// <param name=\"services\">The <see cref=\"IServiceCollection\"/> to which the database will be registered.</param>\n        /// <param name=\"optionsAction\">Allows to configure a <see cref=\"DatabaseOptionsBuilder{TDatabase}\"/> for the database. Note, that the specified <typeparamref name=\"TDatabase\"/> needs to have a public constructor with a <see cref=\"DatabaseOptionsBuilder{TDatabase}\"/> parameter, which it passes to the base constructor.</param>\n        /// <param name=\"databaseLifetime\">The liftetime with which to register the <typeparamref name=\"TDatabase\"/> service in the container.</param>\n        /// <param name=\"optionsLifetime\">The liftetime with which to register the <see cref=\"DatabaseOptionsBuilder{TDatabase}\"/> service in the container.</param>\n        /// <returns>The same service collection so that multiple calls can be chained.</returns>\n        public static IServiceCollection AddDatabase<TDatabase>(this IServiceCollection services, Action<IServiceProvider, DatabaseOptionsBuilder<TDatabase>>? optionsAction = null, ServiceLifetime databaseLifetime = ServiceLifetime.Scoped, ServiceLifetime optionsLifetime = ServiceLifetime.Scoped)\n            where TDatabase : Database\n        {\n            services.TryAdd(new ServiceDescriptor(typeof(TDatabase), typeof(TDatabase), databaseLifetime));\n\n            services.TryAdd(new ServiceDescriptor(typeof(DatabaseOptionsBuilder<TDatabase>), x => GetDatbaseOptionsBuilder(x, optionsAction), optionsLifetime));\n\n            services.Add(new ServiceDescriptor(typeof(DatabaseOptionsBuilder), x => x.GetRequiredService<DatabaseOptionsBuilder<TDatabase>>(), optionsLifetime));\n\n            return services;\n        }\n\n        /// <summary>\n        /// Adds support for Venflows build in strongly-typed id to System.Text.Json.\n        /// </summary>\n        /// <param name=\"services\">The <see cref=\"IServiceCollection\"/> to which the handler will be registered.</param>\n        /// <returns>The same service collection so that multiple calls can be chained.</returns>\n        /// <remarks>\n        /// If you are using Newtonsoft.Json, please use Venflow.NewtonsoftJson\n        /// </remarks>\n        public static IServiceCollection AddVenflowJson(this IServiceCollection services)\n        {\n            services.AddOptions<JsonOptions>().Configure(options =>\n            {\n                options.JsonSerializerOptions.Converters.Add(new JsonKeyConverterFactory());\n            });\n\n            return services;\n        }\n\n        private static DatabaseOptionsBuilder<TDatabase> GetDatbaseOptionsBuilder<TDatabase>(IServiceProvider serviceProvider, Action<IServiceProvider, DatabaseOptionsBuilder<TDatabase>>? optionsAction)\n            where TDatabase : Database\n        {\n            var options = new DatabaseOptionsBuilder<TDatabase>();\n\n            optionsAction?.Invoke(serviceProvider, options);\n\n            return options;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow.AspNetCore/Venflow.AspNetCore.csproj",
    "content": "﻿<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFrameworks>net6.0;net5.0;netcoreapp3.1</TargetFrameworks>\n    <Description>Adds support for Venflow to ASP.Net Core.</Description>\n    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <FrameworkReference Include=\"Microsoft.AspNetCore.App\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\Venflow\\Venflow.csproj\" />\n  </ItemGroup>\n\n</Project>\n"
  },
  {
    "path": "src/Venflow.AspNetCore/Venflow.AspNetCore.xml",
    "content": "<?xml version=\"1.0\"?>\n<doc>\n    <assembly>\n        <name>Venflow.AspNetCore</name>\n    </assembly>\n    <members>\n        <member name=\"T:Venflow.AspNetCore.VenflowServiceCollectionExtensions\">\n            <summary>\n            Provides a set of useful extension methods for the <see cref=\"T:Microsoft.Extensions.DependencyInjection.IServiceCollection\"/> interface.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase``1(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{Venflow.DatabaseOptionsBuilder{``0}},Microsoft.Extensions.DependencyInjection.ServiceLifetime)\">\n            <summary>\n            Registers the <typeparamref name=\"TDatabase\"/> as a service in the <paramref name=\"services\"/>.\n            </summary>\n            <typeparam name=\"TDatabase\">The type of the database to be registered.</typeparam>\n            <param name=\"services\">The <see cref=\"T:Microsoft.Extensions.DependencyInjection.IServiceCollection\"/> to which the database will be registered.</param>\n            <param name=\"optionsAction\">Allows to configure a <see cref=\"T:Venflow.DatabaseOptionsBuilder`1\"/> for the database. Note, that the specified <typeparamref name=\"TDatabase\"/> needs to have a public constructor with a <see cref=\"T:Venflow.DatabaseOptionsBuilder`1\"/> parameter, which it passes to the base constructor.</param>\n            <param name=\"databaseLifetime\">The liftetime with which to register the <typeparamref name=\"TDatabase\"/> service in the container.</param>\n            <returns>The same service collection so that multiple calls can be chained.</returns>\n        </member>\n        <member name=\"M:Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase``1(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{System.IServiceProvider,Venflow.DatabaseOptionsBuilder{``0}},Microsoft.Extensions.DependencyInjection.ServiceLifetime)\">\n            <summary>\n            Registers the <typeparamref name=\"TDatabase\"/> as a service in the <paramref name=\"services\"/>.\n            </summary>\n            <typeparam name=\"TDatabase\">The type of the database to be registered.</typeparam>\n            <param name=\"services\">The <see cref=\"T:Microsoft.Extensions.DependencyInjection.IServiceCollection\"/> to which the database will be registered.</param>\n            <param name=\"optionsAction\">Allows to configure a <see cref=\"T:Venflow.DatabaseOptionsBuilder`1\"/> for the database. Note, that the specified <typeparamref name=\"TDatabase\"/> needs to have a public constructor with a <see cref=\"T:Venflow.DatabaseOptionsBuilder`1\"/> parameter, which it passes to the base constructor.</param>\n            <param name=\"databaseLifetime\">The liftetime with which to register the <typeparamref name=\"TDatabase\"/> service in the container.</param>\n            <returns>The same service collection so that multiple calls can be chained.</returns>\n        </member>\n        <member name=\"M:Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddDatabase``1(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{System.IServiceProvider,Venflow.DatabaseOptionsBuilder{``0}},Microsoft.Extensions.DependencyInjection.ServiceLifetime,Microsoft.Extensions.DependencyInjection.ServiceLifetime)\">\n            <summary>\n            Registers the <typeparamref name=\"TDatabase\"/> as a service in the <paramref name=\"services\"/>.\n            </summary>\n            <typeparam name=\"TDatabase\">The type of the database to be registered.</typeparam>\n            <param name=\"services\">The <see cref=\"T:Microsoft.Extensions.DependencyInjection.IServiceCollection\"/> to which the database will be registered.</param>\n            <param name=\"optionsAction\">Allows to configure a <see cref=\"T:Venflow.DatabaseOptionsBuilder`1\"/> for the database. Note, that the specified <typeparamref name=\"TDatabase\"/> needs to have a public constructor with a <see cref=\"T:Venflow.DatabaseOptionsBuilder`1\"/> parameter, which it passes to the base constructor.</param>\n            <param name=\"databaseLifetime\">The liftetime with which to register the <typeparamref name=\"TDatabase\"/> service in the container.</param>\n            <param name=\"optionsLifetime\">The liftetime with which to register the <see cref=\"T:Venflow.DatabaseOptionsBuilder`1\"/> service in the container.</param>\n            <returns>The same service collection so that multiple calls can be chained.</returns>\n        </member>\n        <member name=\"M:Venflow.AspNetCore.VenflowServiceCollectionExtensions.AddVenflowJson(Microsoft.Extensions.DependencyInjection.IServiceCollection)\">\n            <summary>\n            Adds support for Venflows build in strongly-typed id to System.Text.Json.\n            </summary>\n            <param name=\"services\">The <see cref=\"T:Microsoft.Extensions.DependencyInjection.IServiceCollection\"/> to which the handler will be registered.</param>\n            <returns>The same service collection so that multiple calls can be chained.</returns>\n            <remarks>\n            If you are using Newtonsoft.Json, please use Venflow.NewtonsoftJson\n            </remarks>\n        </member>\n    </members>\n</doc>\n"
  },
  {
    "path": "src/Venflow.Extensions.Logging/DatabaseOptionsBuilderExtensions.cs",
    "content": "﻿using Microsoft.Extensions.Logging;\n\nnamespace Venflow.Extensions.Logging\n{\n    /// <summary>\n    /// Providing extensions method for the <see cref=\" DatabaseOptionsBuilder{TDatabase}\"/> class.\n    /// </summary>\n    public static class DatabaseOptionsBuilderExtensions\n    {\n        /// <summary>\n        /// Adds a <see cref=\"ILoggerFactory\"/>, which allows for logging of executed commands.\n        /// </summary>\n        /// <param name=\"options\">The options to which the <see cref=\"ILoggerFactory\"/> should be registered.</param>\n        /// <param name=\"loggerFactory\">The <see cref=\"ILoggerFactory\"/> which should be registered</param>\n        /// <param name=\"formatSensitiveInformation\">Determines whether or not the formatter should include the parameters values.</param>\n        /// <returns>An object that can be used to configure the current <see cref=\"Database\"/> instance.</returns>\n        /// <remarks>Also consider configuring the <see cref=\"DatabaseOptionsBuilder.DefaultLoggingBehavior\"/> property.</remarks>\n        public static DatabaseOptionsBuilder UseLoggerFactory<TDatabase>(this DatabaseOptionsBuilder<TDatabase> options, ILoggerFactory loggerFactory, bool formatSensitiveInformation = false)\n            where TDatabase : Database\n        {\n            var logger = loggerFactory.CreateLogger(typeof(Database));\n\n            options.LogTo((command, commandType, exception) => logger.Log(exception is null ? LogLevel.Debug : LogLevel.Error, new EventId((int)commandType, null), command, exception,\n                (state, exception) =>\n                {\n                    var commandText = formatSensitiveInformation ? state.GetUnParameterizedCommandText() : state.CommandText;\n\n                    return \"CommandText: '\" + commandText + (exception is not null ? \"' Exception: \" + exception.Message : \"'\");\n                }));\n\n            return options;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow.Extensions.Logging/Venflow.Extensions.Logging.csproj",
    "content": "﻿<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFrameworks>net6.0;net5.0;netcoreapp3.1;net48;netstandard2.1</TargetFrameworks>\n    <Description>Adds support for Microsoft.Extensions.Logging to Venflow.</Description>\n    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"Microsoft.Extensions.Logging.Abstractions\" Version=\"6.0.0-rc.1.21451.13\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\Venflow\\Venflow.csproj\" />\n  </ItemGroup>\n\n</Project>\n"
  },
  {
    "path": "src/Venflow.Extensions.Logging/Venflow.Extensions.Logging.xml",
    "content": "<?xml version=\"1.0\"?>\n<doc>\n    <assembly>\n        <name>Venflow.Extensions.Logging</name>\n    </assembly>\n    <members>\n        <member name=\"T:Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions\">\n            <summary>\n            Providing extensions method for the <see cref=\"T:Venflow.DatabaseOptionsBuilder`1\"/> class.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.Extensions.Logging.DatabaseOptionsBuilderExtensions.UseLoggerFactory``1(Venflow.DatabaseOptionsBuilder{``0},Microsoft.Extensions.Logging.ILoggerFactory,System.Boolean)\">\n            <summary>\n            Adds a <see cref=\"T:Microsoft.Extensions.Logging.ILoggerFactory\"/>, which allows for logging of executed commands.\n            </summary>\n            <param name=\"options\">The options to which the <see cref=\"T:Microsoft.Extensions.Logging.ILoggerFactory\"/> should be registered.</param>\n            <param name=\"loggerFactory\">The <see cref=\"T:Microsoft.Extensions.Logging.ILoggerFactory\"/> which should be registered</param>\n            <param name=\"formatSensitiveInformation\">Determines whether or not the formatter should include the parameters values.</param>\n            <returns>An object that can be used to configure the current <see cref=\"T:Venflow.Database\"/> instance.</returns>\n            <remarks>Also consider configuring the <see cref=\"P:Venflow.DatabaseOptionsBuilder.DefaultLoggingBehavior\"/> property.</remarks>\n        </member>\n    </members>\n</doc>\n"
  },
  {
    "path": "src/Venflow.Generators/Assemblies.cs",
    "content": "﻿using System.Reflection;\n\nnamespace Venflow.Generators\n{\n    internal static class Assemblies\n    {\n        private static readonly byte[] _venflowToken = Assembly.GetExecutingAssembly().GetName().GetPublicKeyToken();\n\n        internal static readonly AssemblyTokenInfo VenflowKeys = new AssemblyTokenInfo(\"Venflow.Keys\", _venflowToken);\n        internal static readonly AssemblyTokenInfo VenflowNewtonsoftJson = new AssemblyTokenInfo(\"Venflow.NewtonsoftJson\", _venflowToken);\n    }\n\n    internal class AssemblyTokenInfo\n    {\n        internal string Name { get; }\n        internal byte[] Token { get; }\n        public AssemblyTokenInfo(string name, byte[] token)\n        {\n            Name = name;\n            Token = token;\n        }\n\n    }\n}\n"
  },
  {
    "path": "src/Venflow.Generators/CompilationExtensions.cs",
    "content": "﻿using System.IO;\nusing System.Linq;\nusing Microsoft.CodeAnalysis;\n\nnamespace Venflow.Generators\n{\n    internal static class CompilationExtensions\n    {\n        internal static bool ContainsAssembly(this Compilation compilation, MetadataReference[] references, AssemblyTokenInfo tokenInfo)\n        {\n            var reference = references.FirstOrDefault(x => !string.IsNullOrWhiteSpace(x.Display) && Path.GetFileNameWithoutExtension(x.Display) == tokenInfo.Name);\n\n            if (reference is null)\n                return false;\n\n            var symbol = compilation.GetAssemblyOrModuleSymbol(reference);\n\n            if (symbol is IAssemblySymbol assemblySymbol)\n            {\n                return assemblySymbol.Identity.PublicKeyToken.SequenceEqual(tokenInfo.Token);\n            }\n            else if (symbol is IModuleSymbol moduleSymbol)\n            {\n                return moduleSymbol.ContainingAssembly.Identity.PublicKeyToken.SequenceEqual(tokenInfo.Token);\n            }\n\n            return false;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow.Generators/GeneratorExecutionContextExtensions.cs",
    "content": "﻿using System.Reflection;\nusing System.Text;\nusing Microsoft.CodeAnalysis;\nusing Microsoft.CodeAnalysis.CSharp;\nusing Microsoft.CodeAnalysis.Text;\n\nnamespace Venflow.Generators\n{\n    internal static class GeneratorExecutionContextExtensions\n    {\n        internal static Compilation AddResourceSource(this GeneratorExecutionContext context, string fileName, bool addToSyntaxTree = false)\n        {\n            var assembly = Assembly.GetExecutingAssembly();\n\n            using var stream = assembly.GetManifestResourceStream(\"Venflow.Generators.Properties.\" + fileName + \".cs\");\n\n            var sourceText = SourceText.From(stream, Encoding.UTF8, canBeEmbedded: true);\n\n            context.AddSource(fileName, sourceText);\n\n            if (addToSyntaxTree)\n            {\n                return context.Compilation.AddSyntaxTrees(CSharpSyntaxTree.ParseText(sourceText, (context.Compilation as CSharpCompilation)!.SyntaxTrees[0].Options as CSharpParseOptions));\n            }\n\n            return context.Compilation;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow.Generators/KeyGenerator.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Linq;\nusing System.Reflection;\nusing System.Text;\nusing Microsoft.CodeAnalysis;\nusing Microsoft.CodeAnalysis.CSharp;\nusing Microsoft.CodeAnalysis.CSharp.Syntax;\nusing Microsoft.CodeAnalysis.Text;\n\nnamespace Venflow.Generators\n{\n    /// <summary>\n    /// A Source Generator that will generate a strongly typed id implementation.\n    /// </summary>\n    [Generator]\n    public class KeyGenerator : ISourceGenerator\n    {\n        /// <inheritdoc/>\n        public void Initialize(GeneratorInitializationContext context)\n        {\n            context.RegisterForSyntaxNotifications(() => new SyntaxReceiver());\n\n            Debug.WriteLine(\"Key-Generator: Initialized code generator.\");\n        }\n\n        /// <inheritdoc/>\n        public void Execute(GeneratorExecutionContext context)\n        {\n            Debug.WriteLine(\"Key-Generator: Executing code generator.\");\n\n            var references = context.Compilation.References.ToArray();\n\n            if (!context.Compilation.ContainsAssembly(references, Assemblies.VenflowKeys))\n                throw new InvalidOperationException(\"The assembly 'Venflow' could not be found. Ensure that the 'Venflow' package is referenced.\");\n\n            var hasVenflowNewtonsoftReference = context.Compilation.ContainsAssembly(references, Assemblies.VenflowNewtonsoftJson);\n\n            var compilation = context.AddResourceSource(\"GeneratedKeyAttribute\", true);\n\n            var attributeSymbol = compilation.GetTypeByMetadataName(\"Venflow.GeneratedKeyAttribute\");\n\n            var comparableInterfaceType = compilation.GetTypeByMetadataName(\"System.IComparable\")!;\n            var convertibleInterfaceType = compilation.GetTypeByMetadataName(\"System.IConvertible\")!;\n\n            var specialTypeMembers = comparableInterfaceType.GetMembers().Union(convertibleInterfaceType.GetMembers(), SymbolEqualityComparer.Default).OfType<IMethodSymbol>().ToArray();\n\n            foreach (var declarationSyntax in ((SyntaxReceiver)context.SyntaxReceiver!).Candidates)\n            {\n                var semanticModel = compilation.GetSemanticModel(declarationSyntax.SyntaxTree);\n\n                var underlyingKeyFullName = default(string);\n                var underlyingKeyType = default(ITypeSymbol);\n\n                foreach (var attributeSyntax in declarationSyntax.AttributeLists.SelectMany(x => x.Attributes))\n                {\n                    var attributeType = semanticModel.GetTypeInfo(attributeSyntax, context.CancellationToken).Type!;\n\n                    if (!attributeType.Equals(attributeSymbol, SymbolEqualityComparer.Default) ||\n                        attributeSyntax.ArgumentList!.Arguments.Count != 1 ||\n                        attributeSyntax.ArgumentList!.Arguments[0].Expression is not TypeOfExpressionSyntax typeOfExpression)\n                        continue;\n\n                    underlyingKeyType = semanticModel.GetTypeInfo(typeOfExpression.Type, context.CancellationToken).Type!;\n\n                    underlyingKeyFullName = underlyingKeyType.ToString();\n\n                    break;\n                }\n\n                if (underlyingKeyFullName is null ||\n                    underlyingKeyType is null)\n                    continue;\n\n                var baseStruct = semanticModel.GetDeclaredSymbol(declarationSyntax)!;\n\n                var namespaceText = baseStruct.ContainingNamespace;\n                var typeArgumentName = baseStruct.TypeArguments[0].Name;\n                var baseStructName = baseStruct.Name + \"<\" + typeArgumentName + \">\";\n                var baseStructXmlName = $\"{baseStruct.Name}{{{typeArgumentName}}}\";\n\n                var parseTextBuilder = new StringBuilder();\n\n                var underlyingKeyMembers = underlyingKeyType.GetMembers();\n\n                if (underlyingKeyMembers.Length > 0)\n                {\n                    var comparableGenericType = underlyingKeyType.AllInterfaces.FirstOrDefault(x => x.ContainingNamespace + \".\" + x.MetadataName == \"System.IComparable`1\");\n\n                    IEnumerable<ISymbol> tempSpecialTypeMembers;\n\n                    if (comparableGenericType is null)\n                    {\n                        tempSpecialTypeMembers = specialTypeMembers;\n                    }\n                    else\n                    {\n                        tempSpecialTypeMembers = specialTypeMembers.Union(comparableGenericType.GetMembers(), SymbolEqualityComparer.Default);\n                    }\n\n                    foreach (var specialTypeMember in tempSpecialTypeMembers)\n                    {\n                        var methodImplementation = underlyingKeyType.FindImplementationForInterfaceMember(specialTypeMember);\n\n                        if (methodImplementation is not IMethodSymbol methodSymbol)\n                            continue;\n\n                        AppendMethodText(methodSymbol);\n                    }\n\n                    foreach (var underlyingKeyMember in underlyingKeyMembers)\n                    {\n                        if (underlyingKeyMember is not IMethodSymbol methodSymbol ||\n                            methodSymbol.DeclaredAccessibility != Accessibility.Public)\n                            continue;\n\n                        if (!methodSymbol.IsStatic ||\n                            methodSymbol.Name is not \"Parse\" and not \"TryParse\" and not \"ParseExact\" and not \"TryParseExact\" ||\n                            methodSymbol.ReturnType is null ||\n                            !methodSymbol.ReturnType.ContainingNamespace.Equals(underlyingKeyType.ContainingNamespace, SymbolEqualityComparer.Default) ||\n                            (methodSymbol.ReturnType.Name != underlyingKeyType.Name &&\n                            methodSymbol.ReturnType.ContainingNamespace + \".\" + methodSymbol.ReturnType.Name != typeof(bool).FullName))\n                        {\n                            continue;\n                        }\n\n                        AppendMethodText(methodSymbol);\n                    }\n\n                    void AppendMethodText(IMethodSymbol methodSymbol)\n                    {\n                        var methodName = methodSymbol.MethodKind == MethodKind.ExplicitInterfaceImplementation ? methodSymbol.Name.Substring(methodSymbol.Name.LastIndexOf(\".\") + 1, methodSymbol.Name.Length - methodSymbol.Name.LastIndexOf(\".\") - 1) : methodSymbol.Name;\n                        var interfaceName = methodSymbol.MethodKind == MethodKind.ExplicitInterfaceImplementation ? methodSymbol.Name.Substring(0, methodSymbol.Name.LastIndexOf(\".\")) : string.Empty;\n\n                        parseTextBuilder.Append(\n$@\"        /// <summary>\n        /// Wraps around the <see cref=\"\"{underlyingKeyType.Name}.{methodName}({string.Join(\", \", methodSymbol.Parameters.Select(x => (x.RefKind == RefKind.Out ? \"out \" : string.Empty) + x.Type.ToString().Replace('<', '{').Replace('>', '}')))})\"\"/> method.\n        /// </summary>\n        {(methodSymbol.MethodKind == MethodKind.ExplicitInterfaceImplementation ? string.Empty : \"public \")}{(methodSymbol.IsStatic ? \"static \" : string.Empty)}{methodSymbol.ReturnType.Name} {methodSymbol.Name}({string.Join(\", \", methodSymbol.Parameters.Select(x => (x.RefKind == RefKind.Out ? \"out \" : string.Empty) + x.Type.ToString() + \" \" + x.Name + (x.HasExplicitDefaultValue ? \" = \" + (x.ExplicitDefaultValue is null ? \"default\" : (x.Type.TypeKind == TypeKind.Enum ? x.Type.GetMembers().OfType<IFieldSymbol>().FirstOrDefault(y => int.Equals(y.ConstantValue, x.ExplicitDefaultValue)).ToString() : x.ExplicitDefaultValue)) : string.Empty)))})\n        {{\n            return {(interfaceName != string.Empty ? \"((\" + interfaceName + \")\" : string.Empty)}{(methodSymbol.IsStatic ? underlyingKeyType.Name : \"_value\")}{(interfaceName != string.Empty ? \")\" : string.Empty)}.{methodName}({string.Join(\", \", methodSymbol.Parameters.Select(x => (x.RefKind == RefKind.Out ? \"out \" : string.Empty) + x.Name))});\n        }}\n\n\");\n                    }\n                }\n\n                var implementedInterfacesText = string.Join(\", \", new[] { \"System.IComparable\", \"System.IComparable`1\", \"System.IConvertible\" }.Where(x => underlyingKeyType.Interfaces.Any(y => y.ContainingNamespace + \".\" + y.MetadataName == x)).Select(x => x.Replace(\"`1\", \"<\" + underlyingKeyFullName + \">\")));\n\n                implementedInterfacesText = implementedInterfacesText == string.Empty ? string.Empty : \", \" + implementedInterfacesText;\n\n                var keyText = @$\"using System;\nusing Venflow;\n\nnamespace {namespaceText}\n{{\n    /// <summary>\n    /// This is used to create strongly-typed ids.\n    /// </summary>\n    /// <typeparam name=\"\"{typeArgumentName}\"\">They type of entity the key sits in.</typeparam>{(hasVenflowNewtonsoftReference ? Environment.NewLine + $\"    [Newtonsoft.Json.JsonConverterAttribute(typeof(Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter))]\" : string.Empty)}\n    [System.Text.Json.Serialization.JsonConverterAttribute(typeof(Venflow.Json.JsonKeyConverterFactory))]\n    public readonly partial struct {baseStructName} : IKey<{typeArgumentName}, {underlyingKeyFullName}>, IEquatable<{baseStructName}>{implementedInterfacesText}\n    {{\n        private readonly {underlyingKeyFullName} _value;\n\n        {underlyingKeyFullName} IKey<{typeArgumentName}, {underlyingKeyFullName}>.Value {{ get => _value; }}\n        object? IKey.BoxedValue {{ get => _value; }}\n\n        /// <summary>\n        /// Instantiates a new <see cref=\"\"{baseStructXmlName}\"\"/> instance withe the provided value.\n        /// </summary>\n        /// <param name=\"\"value\"\">The value which should represent the new <see cref=\"\"{baseStructXmlName}\"\"/> instance.</param>\n        public Key({underlyingKeyFullName} value)\n        {{\n            _value = value;\n        }}\n\n{parseTextBuilder}        ///<inheritdoc/>\n        public static implicit operator {underlyingKeyFullName}(in {baseStructName} key)\n        {{\n            return key._value;\n        }}\n\n        ///<inheritdoc/>\n        public static implicit operator {baseStructName}(in {underlyingKeyFullName} value)\n        {{\n            return new {baseStructName}(value);\n        }}\n\n        ///<inheritdoc/>\n        public static bool operator ==(in {baseStructName} a, in {baseStructName} b)\n        {{\n            return a.Equals(b);\n        }}\n\n        ///<inheritdoc/>\n        public static bool operator !=(in {baseStructName} a, in {baseStructName} b)\n        {{\n            return !a.Equals(b);\n        }}\n\n        ///<inheritdoc/>\n        public bool Equals({baseStructName} other)\n        {{\n            return other._value.Equals(this._value);\n        }}\n\n        ///<inheritdoc/>\n        public override bool Equals(object? obj)\n        {{\n            if (obj is not {baseStructName} key)\n            {{\n                return false;\n            }}\n\n            return key._value.Equals(this._value);\n        }}\n\n        ///<inheritdoc/>\n        public override int GetHashCode()\n        {{\n            return _value.GetHashCode();\n        }}\n\n        ///<inheritdoc/>\n        public override string ToString()\n        {{\n            return _value.ToString();\n        }}\n    }}\n}}\n\";\n                context.AddSource(baseStruct.ContainingNamespace.ToString().Replace('.', '_') + \"_\" + baseStruct.MetadataName.Replace('`', '_') + \"_generated\", SourceText.From(keyText, Encoding.UTF8));\n            }\n\n            Debug.WriteLine(\"Key-Generator: Executed code generator.\");\n        }\n\n        private class SyntaxReceiver : ISyntaxReceiver\n        {\n            internal List<StructDeclarationSyntax> Candidates { get; } = new();\n\n            public void OnVisitSyntaxNode(SyntaxNode syntaxNode)\n            {\n                if (syntaxNode is StructDeclarationSyntax declarationSyntax &&\n                    declarationSyntax.AttributeLists.Count > 0 &&\n                    declarationSyntax.Modifiers.Any(SyntaxKind.PartialKeyword))\n                {\n                    Candidates.Add(declarationSyntax);\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow.Generators/Properties/GeneratedKeyAttribute.cs",
    "content": "﻿using System;\n\nnamespace Venflow\n{\n    [AttributeUsage(AttributeTargets.Struct, Inherited = false, AllowMultiple = false)]\n    public sealed class GeneratedKeyAttribute : Attribute\n    {\n        private Type _keyType;\n\n        public GeneratedKeyAttribute(Type keyType)\n        {\n            _keyType = keyType;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow.Generators/Properties/launchSettings.json",
    "content": "{\n  \"profiles\": {\n    \"Venflow.Generators\": {\n      \"commandName\": \"DebugRoslynComponent\",\n      \"targetProject\": \"../Venflow.Tests.Keys/Venflow.Tests.Keys.csproj\"\n    }\n  }\n}"
  },
  {
    "path": "src/Venflow.Generators/Venflow.Generators.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFramework>netstandard2.0</TargetFramework>\n    <LangVersion>preview</LangVersion>\n\n    <IsRoslynComponent>true</IsRoslynComponent>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <Compile Remove=\"Properties\\GeneratedKeyAttribute.cs\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <EmbeddedResource Include=\"Properties\\GeneratedKeyAttribute.cs\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"Microsoft.CodeAnalysis.CSharp\" Version=\"4.0.0-4.final\" PrivateAssets=\"all\" />\n    <PackageReference Include=\"Microsoft.CodeAnalysis.Analyzers\" Version=\"3.3.2\" PrivateAssets=\"all\" />\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "src/Venflow.Generators/Venflow.Generators.xml",
    "content": "<?xml version=\"1.0\"?>\n<doc>\n    <assembly>\n        <name>Venflow.Generators</name>\n    </assembly>\n    <members>\n        <member name=\"T:Venflow.Generators.KeyGenerator\">\n            <summary>\n            A Source Generator that will generate a strongly typed id implementation.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.Generators.KeyGenerator.Initialize(Microsoft.CodeAnalysis.GeneratorInitializationContext)\">\n            <inheritdoc/>\n        </member>\n        <member name=\"M:Venflow.Generators.KeyGenerator.Execute(Microsoft.CodeAnalysis.GeneratorExecutionContext)\">\n            <inheritdoc/>\n        </member>\n    </members>\n</doc>\n"
  },
  {
    "path": "src/Venflow.Keys/JsonKeyConverter.cs",
    "content": "﻿using System.Collections.Concurrent;\nusing System.Text.Json;\nusing System.Text.Json.Serialization;\n\nnamespace Venflow.Json\n{\n    /// <summary>\n    /// A <see cref=\"JsonConverter\"/> to parse <see cref=\"IKey{TEntity, TKey}\"/> instances.\n    /// </summary>\n    public class JsonKeyConverterFactory : JsonConverterFactory\n    {\n        private static readonly ConcurrentDictionary<Type, JsonConverter> _jsonConverters = new();\n\n        /// <inheritdoc/>\n        public override bool CanConvert(Type typeToConvert)\n            => typeof(IKey).IsAssignableFrom(typeToConvert);\n\n        /// <inheritdoc/>\n        public override JsonConverter CreateConverter(Type typeToConvert, JsonSerializerOptions options)\n            => _jsonConverters.GetOrAdd(typeToConvert, CreateJsonConverter);\n\n        private JsonConverter CreateJsonConverter(Type typeToConvert)\n        {\n            var keyInterface = typeToConvert.GetInterface(\"Venflow.IKey`2\");\n\n            if (keyInterface is null)\n                throw new InvalidOperationException($\"Cannot create converter for type '{typeToConvert}'.\");\n\n            var parameters = keyInterface.GetGenericArguments();\n\n            return (JsonConverter)Activator.CreateInstance(typeof(JsonKeyConverter<,,>).MakeGenericType(typeToConvert, parameters[0], parameters[1]))!;\n        }\n    }\n\n    internal class JsonKeyConverter<TKey, TEntity, TKeyValue> : JsonConverter<TKey>\n        where TKey : struct, IKey<TEntity, TKeyValue>\n        where TKeyValue : struct\n    {\n        public override TKey Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)\n        {\n            if (reader.TokenType is JsonTokenType.Null)\n                return default;\n\n            var value = JsonSerializer.Deserialize<TKeyValue>(ref reader, options);\n\n            var factory = KeyConverter.GetOrCreateKeyFactory<TKey, TKeyValue>(typeToConvert);\n\n            return factory(value);\n        }\n\n        public override void Write(Utf8JsonWriter writer, TKey value, JsonSerializerOptions options)\n        {\n            JsonSerializer.Serialize(writer, ((IKey<TEntity, TKeyValue>)value).Value, options);\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow.Keys/Key.cs",
    "content": "﻿using System.ComponentModel;\nusing System.Text.Json.Serialization;\nusing Venflow.Json;\n\nnamespace Venflow\n{\n    /// <summary>\n    /// This is used to create strongly-typed ids.\n    /// </summary>\n    /// <typeparam name=\"TEntity\">They type of entity the key sits in.</typeparam>\n    /// <typeparam name=\"TKey\">The type of the key.</typeparam>\n    /// <remarks>You can also create more specific implementations of this type, by creating a <i>struct</i> implementing <see cref=\"IKey{T, TKey}\"/>.</remarks>\n    [JsonConverter(typeof(JsonKeyConverterFactory))]\n    public readonly struct Key<TEntity, TKey> : IKey<TEntity, TKey>, IEquatable<Key<TEntity, TKey>>\n            where TKey : struct, IEquatable<TKey>\n    {\n        private readonly TKey _value;\n\n        TKey IKey<TEntity, TKey>.Value { get => _value; }\n        object? IKey.BoxedValue { get => _value; }\n\n        /// <summary>\n        /// Instantiates a new <see cref=\"Key{T, TKey}\"/> instance withe the provided value.\n        /// </summary>\n        /// <param name=\"value\">The value which should represent the new <see cref=\"Key{T, TKey}\"/> instance.</param>\n        public Key(TKey value)\n        {\n            _value = value;\n        }\n\n        ///<inheritdoc/>\n        public static implicit operator TKey(in Key<TEntity, TKey> key)\n        {\n            return key._value;\n        }\n\n        ///<inheritdoc/>\n        public static implicit operator Key<TEntity, TKey>(in TKey value)\n        {\n            return new Key<TEntity, TKey>(value);\n        }\n\n        ///<inheritdoc/>\n        public static bool operator ==(in Key<TEntity, TKey> a, in Key<TEntity, TKey> b)\n        {\n            return a.Equals(b);\n        }\n\n        ///<inheritdoc/>\n        public static bool operator !=(in Key<TEntity, TKey> a, in Key<TEntity, TKey> b)\n        {\n            return !a.Equals(b);\n        }\n\n        ///<inheritdoc/>\n        public bool Equals(Key<TEntity, TKey> other)\n        {\n            return other._value.Equals(this._value);\n        }\n\n        ///<inheritdoc/>\n        public override bool Equals(object? obj)\n        {\n            if (obj is not Key<TEntity, TKey> key)\n            {\n                return false;\n            }\n\n            return key._value.Equals(this._value);\n        }\n\n        ///<inheritdoc/>\n        public override int GetHashCode()\n        {\n            return _value.GetHashCode();\n        }\n\n        ///<inheritdoc/>\n        public override string? ToString()\n        {\n            return _value.ToString();\n        }\n    }\n\n    /// <summary>\n    /// This interface should be implemented by <i>structs</i>, to create strongly-typed ids.\n    /// </summary>\n    /// <typeparam name=\"TEntity\">They type of entity the key sits in.</typeparam>\n    /// <typeparam name=\"TKey\">The type of the key.</typeparam>\n    /// <remarks>See <see cref=\"Key{T, TKey}\"/>for a possible implementation.</remarks>\n    [TypeConverter(typeof(KeyConverter))]\n    public interface IKey<TEntity, TKey> : IKey\n    {\n        /// <summary>\n        /// The underlying value representing the <see cref=\"Key{T, TKey}\"/>.\n        /// </summary>\n        TKey Value { get; }\n    }\n\n    /// <summary>\n    /// <strong>Do not use this interface, if you are not absolutely sure what it does.</strong>\n    /// </summary>\n    [EditorBrowsable(EditorBrowsableState.Never)]\n    public interface IKey\n    {\n        /// <summary>\n        /// The boxed representation of the value this instance is representing.\n        /// </summary>\n        object? BoxedValue { get; }\n    }\n}\n"
  },
  {
    "path": "src/Venflow.Keys/KeyConverter.cs",
    "content": "﻿using System.Collections.Concurrent;\nusing System.ComponentModel;\nusing System.Globalization;\nusing System.Reflection;\nusing System.Reflection.Emit;\nusing System.Threading;\n\nnamespace Venflow\n{\n    /// <summary>\n    /// Provides a way of converting <see cref=\"Key{TEntity, TKey}\"/> to strings and vice versa.\n    /// </summary>\n    public class KeyConverter : TypeConverter\n    {\n        private static int _typeNumberIdentifier = 0;\n\n        private static readonly ConcurrentDictionary<Type, TypeConverter> _typeConverters = new(Environment.ProcessorCount, 10);\n        private static readonly ConcurrentDictionary<Type, Delegate> _keyFactories = new(Environment.ProcessorCount, 10);\n        private static readonly ConcurrentDictionary<Type, Delegate> _objectKeyFactories = new(Environment.ProcessorCount, 0);\n\n        private readonly TypeConverter _underlyingConverter;\n\n\n        /// <summary>\n        /// Creates a new instance of a <see cref=\"KeyConverter\"/> with the given key type.\n        /// </summary>\n        /// <param name=\"keyType\">The type of the key to which the <see cref=\"KeyConverter\"/> should bind to.</param>\n        public KeyConverter(Type keyType)\n        {\n            _underlyingConverter = _typeConverters.GetOrAdd(keyType, CreateTypeConverter);\n        }\n\n        /// <inheritdoc/>\n        public override bool CanConvertFrom(ITypeDescriptorContext? context, Type sourceType)\n            => _underlyingConverter.CanConvertFrom(context, sourceType);\n\n        /// <inheritdoc/>\n        public override bool CanConvertTo(ITypeDescriptorContext? context, Type? destinationType)\n            => _underlyingConverter.CanConvertTo(context, destinationType);\n\n        /// <inheritdoc/>\n        public override object? ConvertFrom(ITypeDescriptorContext? context, CultureInfo? culture, object value)\n            => _underlyingConverter.ConvertFrom(context, culture, value);\n\n        /// <inheritdoc/>\n        public override object? ConvertTo(ITypeDescriptorContext? context, CultureInfo? culture, object? value, Type destinationType)\n            => _underlyingConverter.ConvertTo(context, culture, value, destinationType);\n\n        /// <summary>\n        /// Gets or creates a key factory for the given type.\n        /// </summary>\n        [EditorBrowsable(EditorBrowsableState.Never)]\n        public static Func<TValue, object> GetOrCreateKeyFactory<TValue>(Type keyType)\n            => (Func<TValue, object>)_objectKeyFactories.GetOrAdd(keyType, CreateKeyFactory<object, TValue>);\n\n        /// <summary>\n        /// Gets or creates a key factory for the given type.\n        /// </summary>\n        [EditorBrowsable(EditorBrowsableState.Never)]\n        public static Func<TValue, TKeyType> GetOrCreateKeyFactory<TKeyType, TValue>(Type keyType) where TKeyType : struct, IKey\n            => (Func<TValue, TKeyType>)_keyFactories.GetOrAdd(keyType, CreateKeyFactory<TKeyType, TValue>);\n\n        private static TypeConverter CreateTypeConverter(Type keyType)\n        {\n            var keyInterface = keyType.GetInterface(\"Venflow.IKey`2\");\n\n            if (keyInterface is null)\n                throw new InvalidOperationException($\"Cannot create converter for type '{keyType}'.\");\n\n            var parameters = keyInterface.GetGenericArguments();\n\n            var ctor = typeof(KeyConverter<,>).MakeGenericType(parameters[0], parameters[1]).GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new[] { typeof(Type) }, null)!;\n\n            return (TypeConverter)ctor.Invoke(new[] { keyType });\n        }\n\n        private static Func<TValue, TKeyType> CreateKeyFactory<TKeyType, TValue>(Type keyType)\n        {\n            if (!typeof(IKey).IsAssignableFrom(keyType))\n                throw new ArgumentException($\"Type '{keyType}' is not a key type.\", nameof(keyType));\n\n            var ctor = keyType.GetConstructor(BindingFlags.Public | BindingFlags.Instance, null, new[] { typeof(TValue) }, null);\n\n            if (ctor is null)\n                throw new ArgumentException($\"Type '{keyType}' doesn't have a constructor with one parameter of type '{typeof(TValue)}'.\", nameof(keyType));\n\n            var method = new DynamicMethod(keyType.Name + \"Instantiater\" + \"_\" + Interlocked.Increment(ref _typeNumberIdentifier), typeof(TKeyType), new[] { typeof(TValue) }, true);\n            var ilGenerator = method.GetILGenerator();\n\n            ilGenerator.Emit(OpCodes.Ldarg_0);\n            ilGenerator.Emit(OpCodes.Newobj, ctor);\n\n            if (typeof(TKeyType) == typeof(object))\n            {\n                ilGenerator.Emit(OpCodes.Box, keyType);\n            }\n\n            ilGenerator.Emit(OpCodes.Ret);\n\n            return (Func<TValue, TKeyType>)method.CreateDelegate(typeof(Func<TValue, TKeyType>));\n        }\n    }\n\n    internal class KeyConverter<TEntity, TKeyValue> : TypeConverter\n        where TKeyValue : struct, IEquatable<TKeyValue>\n    {\n        private static readonly TypeConverter _keyConverter = GetKeyConverter();\n\n        private readonly Type _type;\n        internal KeyConverter(Type type)\n        {\n            _type = type;\n        }\n\n        public override bool CanConvertFrom(ITypeDescriptorContext? context, Type sourceType)\n        {\n            return sourceType == typeof(string) ||\n                   sourceType == typeof(TKeyValue) ||\n                   base.CanConvertFrom(context, sourceType);\n        }\n\n        public override bool CanConvertTo(ITypeDescriptorContext? context, Type? destinationType)\n        {\n            return destinationType == typeof(TKeyValue) ||\n                   base.CanConvertTo(context, destinationType);\n        }\n\n        public override object? ConvertFrom(ITypeDescriptorContext? context, CultureInfo? culture, object sourceValue)\n        {\n            if (sourceValue is string value)\n            {\n                sourceValue = _keyConverter.ConvertFrom(value)!;\n            }\n\n            if (sourceValue is TKeyValue keyValue)\n            {\n                return KeyConverter.GetOrCreateKeyFactory<TKeyValue>(_type).Invoke(keyValue);\n            }\n            else\n            {\n                return base.ConvertFrom(context, culture, sourceValue);\n            }\n        }\n\n        public override object? ConvertTo(ITypeDescriptorContext? context, CultureInfo? culture, object? value, Type destinationType)\n        {\n            if (value is not IKey<TEntity, TKeyValue> { Value: var keyValue })\n                throw new ArgumentNullException(nameof(value));\n\n            if (destinationType == typeof(string))\n            {\n                return keyValue.ToString()!;\n            }\n            else if (destinationType == typeof(TKeyValue))\n            {\n                return keyValue;\n            }\n            else\n            {\n                return base.ConvertTo(context, culture, value, destinationType);\n            }\n        }\n\n        private static TypeConverter GetKeyConverter()\n        {\n            var converter = TypeDescriptor.GetConverter(typeof(TKeyValue));\n\n            if (!converter.CanConvertFrom(typeof(string)))\n                throw new InvalidOperationException($\"No TypeConverter for type '{typeof(TKeyValue)}' could be found.\");\n\n            return converter;\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow.Keys/Properties/AssemblyInfo.cs",
    "content": "﻿using System.Runtime.CompilerServices;\n\n#if NET5_0_OR_GREATER\n[module: SkipLocalsInit]\n#endif\n"
  },
  {
    "path": "src/Venflow.Keys/Properties/GlobalUsings.cs",
    "content": "﻿global using System;\n"
  },
  {
    "path": "src/Venflow.Keys/Venflow.Keys.csproj",
    "content": "﻿<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFrameworks>net6.0;net5.0;netcoreapp3.1;net48;netstandard2.1</TargetFrameworks>\n    <Description>Adds support for strongly-typed id's without the need to reference the whole ORM.</Description>\n    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>\n  </PropertyGroup>\n\n  <PropertyGroup Condition=\"'$(TargetFramework)' == 'net5.0' Or '$(TargetFramework)' == 'net6.0'\">\n    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\n  </PropertyGroup>\n\n  <ItemGroup Condition=\"'$(TargetFramework)' == 'netstandard2.1' Or '$(TargetFramework)' == 'net48'\">\n    <PackageReference Include=\"System.Text.Json\" Version=\"6.0.0-preview.5.21301.5\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <None Include=\"..\\Venflow.Generators\\bin\\$(Configuration)\\netstandard2.0\\Venflow.Generators.dll\" Pack=\"true\" PackagePath=\"analyzers/dotnet/cs\" Visible=\"false\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"System.Text.Json\" Version=\"6.0.0-rc.1.21451.13\" />\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "src/Venflow.Keys/Venflow.Keys.xml",
    "content": "<?xml version=\"1.0\"?>\n<doc>\n    <assembly>\n        <name>Venflow.Keys</name>\n    </assembly>\n    <members>\n        <member name=\"T:Venflow.Json.JsonKeyConverterFactory\">\n            <summary>\n            A <see cref=\"T:System.Text.Json.Serialization.JsonConverter\"/> to parse <see cref=\"T:Venflow.IKey`2\"/> instances.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.Json.JsonKeyConverterFactory.CanConvert(System.Type)\">\n            <inheritdoc/>\n        </member>\n        <member name=\"M:Venflow.Json.JsonKeyConverterFactory.CreateConverter(System.Type,System.Text.Json.JsonSerializerOptions)\">\n            <inheritdoc/>\n        </member>\n        <member name=\"T:Venflow.Key`2\">\n            <summary>\n            This is used to create strongly-typed ids.\n            </summary>\n            <typeparam name=\"TEntity\">They type of entity the key sits in.</typeparam>\n            <typeparam name=\"TKey\">The type of the key.</typeparam>\n            <remarks>You can also create more specific implementations of this type, by creating a <i>struct</i> implementing <see cref=\"T:Venflow.IKey`2\"/>.</remarks>\n        </member>\n        <member name=\"M:Venflow.Key`2.#ctor(`1)\">\n            <summary>\n            Instantiates a new <see cref=\"T:Venflow.Key`2\"/> instance withe the provided value.\n            </summary>\n            <param name=\"value\">The value which should represent the new <see cref=\"T:Venflow.Key`2\"/> instance.</param>\n        </member>\n        <member name=\"M:Venflow.Key`2.op_Implicit(Venflow.Key{`0,`1}@)~`1\">\n            <inheritdoc/>\n        </member>\n        <member name=\"M:Venflow.Key`2.op_Implicit(`1@)~Venflow.Key{`0,`1}\">\n            <inheritdoc/>\n        </member>\n        <member name=\"M:Venflow.Key`2.op_Equality(Venflow.Key{`0,`1}@,Venflow.Key{`0,`1}@)\">\n            <inheritdoc/>\n        </member>\n        <member name=\"M:Venflow.Key`2.op_Inequality(Venflow.Key{`0,`1}@,Venflow.Key{`0,`1}@)\">\n            <inheritdoc/>\n        </member>\n        <member name=\"M:Venflow.Key`2.Equals(Venflow.Key{`0,`1})\">\n            <inheritdoc/>\n        </member>\n        <member name=\"M:Venflow.Key`2.Equals(System.Object)\">\n            <inheritdoc/>\n        </member>\n        <member name=\"M:Venflow.Key`2.GetHashCode\">\n            <inheritdoc/>\n        </member>\n        <member name=\"M:Venflow.Key`2.ToString\">\n            <inheritdoc/>\n        </member>\n        <member name=\"T:Venflow.IKey`2\">\n            <summary>\n            This interface should be implemented by <i>structs</i>, to create strongly-typed ids.\n            </summary>\n            <typeparam name=\"TEntity\">They type of entity the key sits in.</typeparam>\n            <typeparam name=\"TKey\">The type of the key.</typeparam>\n            <remarks>See <see cref=\"T:Venflow.Key`2\"/>for a possible implementation.</remarks>\n        </member>\n        <member name=\"P:Venflow.IKey`2.Value\">\n            <summary>\n            The underlying value representing the <see cref=\"T:Venflow.Key`2\"/>.\n            </summary>\n        </member>\n        <member name=\"T:Venflow.IKey\">\n            <summary>\n            <strong>Do not use this interface, if you are not absolutely sure what it does.</strong>\n            </summary>\n        </member>\n        <member name=\"P:Venflow.IKey.BoxedValue\">\n            <summary>\n            The boxed representation of the value this instance is representing.\n            </summary>\n        </member>\n        <member name=\"T:Venflow.KeyConverter\">\n            <summary>\n            Provides a way of converting <see cref=\"T:Venflow.Key`2\"/> to strings and vice versa.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.KeyConverter.#ctor(System.Type)\">\n            <summary>\n            Creates a new instance of a <see cref=\"T:Venflow.KeyConverter\"/> with the given key type.\n            </summary>\n            <param name=\"keyType\">The type of the key to which the <see cref=\"T:Venflow.KeyConverter\"/> should bind to.</param>\n        </member>\n        <member name=\"M:Venflow.KeyConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)\">\n            <inheritdoc/>\n        </member>\n        <member name=\"M:Venflow.KeyConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)\">\n            <inheritdoc/>\n        </member>\n        <member name=\"M:Venflow.KeyConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)\">\n            <inheritdoc/>\n        </member>\n        <member name=\"M:Venflow.KeyConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)\">\n            <inheritdoc/>\n        </member>\n        <member name=\"M:Venflow.KeyConverter.GetOrCreateKeyFactory``1(System.Type)\">\n            <summary>\n            Gets or creates a key factory for the given type.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.KeyConverter.GetOrCreateKeyFactory``2(System.Type)\">\n            <summary>\n            Gets or creates a key factory for the given type.\n            </summary>\n        </member>\n    </members>\n</doc>\n"
  },
  {
    "path": "src/Venflow.NewtonsoftJson/NewtonsoftJsonKeyConverter.cs",
    "content": "using System;\nusing System.Collections.Concurrent;\nusing Newtonsoft.Json;\n\nnamespace Venflow.NewtonsoftJson\n{\n    /// <summary>\n    /// A <see cref=\"JsonConverter\"/> to parse <see cref=\"IKey{TEntity, TKey}\"/> instances.\n    /// </summary>\n    public class NewtonsoftJsonKeyConverter : JsonConverter\n    {\n        private static readonly ConcurrentDictionary<Type, JsonConverter> _jsonConverters = new(Environment.ProcessorCount, 10);\n\n        /// <inheritdoc/>\n        public override bool CanConvert(Type objectType)\n        {\n            return typeof(IKey).IsAssignableFrom(objectType);\n        }\n\n        /// <inheritdoc/>\n        public override object? ReadJson(JsonReader reader, Type objectType, object? existingValue, JsonSerializer serializer)\n        {\n            var converter = GetConverter(objectType);\n\n            return converter.ReadJson(reader, objectType, existingValue, serializer);\n        }\n\n        /// <inheritdoc/>\n        public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer)\n        {\n            if (value is null)\n            {\n                writer.WriteNull();\n            }\n            else\n            {\n                var converter = GetConverter(value.GetType());\n                converter.WriteJson(writer, value, serializer);\n            }\n        }\n\n        private static JsonConverter GetConverter(Type keyType)\n        {\n            return _jsonConverters.GetOrAdd(keyType, CreateConverter);\n        }\n\n        private static JsonConverter CreateConverter(Type keyType)\n        {\n            var keyInterface = keyType.GetInterface(\"Venflow.IKey`2\");\n\n            if (keyInterface is null)\n                throw new InvalidOperationException($\"Cannot create converter for type '{keyType}'.\");\n\n            var parameters = keyInterface.GetGenericArguments();\n\n            return (JsonConverter)Activator.CreateInstance(typeof(NewtonsoftJsonKeyConverter<,,>).MakeGenericType(keyType, parameters[0], parameters[1]))!;\n        }\n    }\n\n    internal class NewtonsoftJsonKeyConverter<TKey, TEntity, TKeyValue> : JsonConverter<TKey>\n        where TKey : struct, IKey<TEntity, TKeyValue>\n        where TKeyValue : struct\n    {\n        public override TKey ReadJson(JsonReader reader, Type objectType, TKey existingValue, bool hasExistingValue, JsonSerializer serializer)\n        {\n            if (reader.TokenType is JsonToken.Null)\n                return default;\n\n            var value = serializer.Deserialize<TKeyValue>(reader);\n            var factory = KeyConverter.GetOrCreateKeyFactory<TKey, TKeyValue>(objectType);\n\n            return factory(value);\n        }\n\n        public override void WriteJson(JsonWriter writer, TKey value, JsonSerializer serializer)\n        {\n            writer.WriteValue(((IKey<TEntity, TKeyValue>)value).Value);\n        }\n    }\n}\n"
  },
  {
    "path": "src/Venflow.NewtonsoftJson/Venflow.NewtonsoftJson.csproj",
    "content": "﻿<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFrameworks>net6.0;net5.0;netcoreapp3.1;net48;netstandard2.1</TargetFrameworks>\n    <Description>Venflow extension to add conversion support for Newtonsoft.Json.</Description>\n    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"Newtonsoft.Json\" Version=\"13.0.1\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\Venflow.Keys\\Venflow.Keys.csproj\" />\n  </ItemGroup>\n\n</Project>\n"
  },
  {
    "path": "src/Venflow.NewtonsoftJson/Venflow.NewtonsoftJson.xml",
    "content": "<?xml version=\"1.0\"?>\n<doc>\n    <assembly>\n        <name>Venflow.NewtonsoftJson</name>\n    </assembly>\n    <members>\n        <member name=\"T:Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter\">\n            <summary>\n            A <see cref=\"T:Newtonsoft.Json.JsonConverter\"/> to parse <see cref=\"T:Venflow.IKey`2\"/> instances.\n            </summary>\n        </member>\n        <member name=\"M:Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.CanConvert(System.Type)\">\n            <inheritdoc/>\n        </member>\n        <member name=\"M:Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)\">\n            <inheritdoc/>\n        </member>\n        <member name=\"M:Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)\">\n            <inheritdoc/>\n        </member>\n    </members>\n</doc>\n"
  },
  {
    "path": "test/Directory.Build.props",
    "content": "<Project>\n  <PropertyGroup>\n    <LangVersion>preview</LangVersion>\n    <Nullable>enable</Nullable>\n    <AnalysisLevel>preview</AnalysisLevel>\n    <EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>\n    <SuppressNETCoreSdkPreviewMessage>true</SuppressNETCoreSdkPreviewMessage>\n    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>\n    <NoWarn>NU5104</NoWarn>\n  </PropertyGroup>\n</Project>"
  },
  {
    "path": "test/Venflow.Benchmarks/BenchmarkHandler.cs",
    "content": "﻿using System.Threading.Tasks;\nusing Npgsql;\nusing Venflow.Benchmarks.Models.Configurations;\nusing Venflow.Shared;\n\nnamespace Venflow.Benchmarks\n{\n    public class BenchmarkHandler\n    {\n        private static BenchmarkHandler _current = null!;\n        private static BenchmarkDb _database = null!;\n\n        private static readonly object _buildLocker = new object();\n        private static readonly TaskCompletionSource<bool> _waitHandle = new TaskCompletionSource<bool>();\n\n        private BenchmarkHandler()\n        {\n            NpgsqlConnection connection;\n            NpgsqlCommand command;\n\n            if (SecretsHandler.IsDevelopmentMachine(\"Benchmarks\"))\n            {\n                connection = new NpgsqlConnection(SecretsHandler.GetConnectionString<BenchmarkHandler>(\"Postgres\").TrimEnd(';') + \";Enlist=true;Pooling=false;\");\n\n                connection.Open();\n\n                command = new NpgsqlCommand(@\"\n                    DROP DATABASE IF EXISTS venflow_benchmarks;\n                    CREATE DATABASE venflow_benchmarks OWNER venflow_benchmarks;\n                    \", connection);\n\n                command.ExecuteNonQuery();\n\n                command.Dispose();\n                connection.Dispose();\n            }\n\n            try\n            {\n                connection = _database.GetConnection();\n                connection.Open();\n\n                command = new NpgsqlCommand(_createTablesCommand, connection);\n\n                command.ExecuteNonQuery();\n\n                command.Dispose();\n\n                connection.ReloadTypes();\n\n                connection.Close();\n            }\n            catch\n            {\n                // We are running on a different Framework version.\n            }\n        }\n\n        public static void Init(BenchmarkDb database)\n        {\n            lock (_buildLocker)\n            {\n                if (_current != null)\n                    return;\n\n                _database = database;\n                _current = new BenchmarkHandler();\n\n                _waitHandle.SetResult(true);\n            }\n        }\n\n        public static void Wait()\n        {\n            _waitHandle.Task.GetAwaiter().GetResult();\n        }\n\n        ~BenchmarkHandler()\n        {\n            _database.GetConnection().Close();\n        }\n\n        private const string _createTablesCommand =\n@\"ALTER SCHEMA public OWNER TO venflow_benchmarks;\n\nCOMMENT ON SCHEMA public IS 'standard public schema';\n\nCREATE EXTENSION \"\"uuid-ossp\"\";\n\nCREATE TABLE public.\"\"EmailContents\"\" (\n    \"\"Id\"\" integer NOT NULL,\n    \"\"Content\"\" text NOT NULL,\n    \"\"EmailId\"\" integer NOT NULL\n);\n\nALTER TABLE public.\"\"EmailContents\"\" OWNER TO venflow_benchmarks;\n\nALTER TABLE public.\"\"EmailContents\"\" ALTER COLUMN \"\"Id\"\" ADD GENERATED ALWAYS AS IDENTITY(\n    SEQUENCE NAME public.\"\"EmailContents_Id_seq\"\"\n    START WITH 0\n    INCREMENT BY 1\n    MINVALUE 0\n    NO MAXVALUE\n    CACHE 1\n);\n\nCREATE TABLE public.\"\"Emails\"\" (\n    \"\"Id\"\" integer NOT NULL,\n    \"\"Address\"\" text NOT NULL,\n    \"\"PersonId\"\" integer NOT NULL\n);\n\nALTER TABLE public.\"\"Emails\"\" OWNER TO venflow_benchmarks;\n\nALTER TABLE public.\"\"Emails\"\" ALTER COLUMN \"\"Id\"\" ADD GENERATED ALWAYS AS IDENTITY(\n    SEQUENCE NAME public.\"\"Emails_Id_seq\"\"\n    START WITH 1\n    INCREMENT BY 1\n    NO MINVALUE\n    NO MAXVALUE\n    CACHE 1\n);\n\nCREATE TABLE public.\"\"People\"\" (\n    \"\"Id\"\" integer NOT NULL,\n    \"\"Name\"\" text\n);\n\nALTER TABLE public.\"\"People\"\" OWNER TO venflow_benchmarks;\n\nALTER TABLE public.\"\"People\"\" ALTER COLUMN \"\"Id\"\" ADD GENERATED ALWAYS AS IDENTITY(\n    SEQUENCE NAME public.\"\"People_Id_seq\"\"\n    START WITH 0\n    INCREMENT BY 1\n    MINVALUE 0\n    NO MAXVALUE\n    CACHE 1\n);\n\nALTER TABLE ONLY public.\"\"EmailContents\"\"\n    ADD CONSTRAINT \"\"EmailContents_pkey\"\" PRIMARY KEY(\"\"Id\"\");\n\nALTER TABLE ONLY public.\"\"Emails\"\"\n    ADD CONSTRAINT \"\"Emails_pkey\"\" PRIMARY KEY(\"\"Id\"\");\n\nALTER TABLE ONLY public.\"\"People\"\"\n    ADD CONSTRAINT \"\"People_pkey\"\" PRIMARY KEY(\"\"Id\"\");\n\nALTER TABLE ONLY public.\"\"EmailContents\"\"\n    ADD CONSTRAINT \"\"FK_Emails_EmailContents\"\" FOREIGN KEY(\"\"EmailId\"\") REFERENCES public.\"\"Emails\"\"(\"\"Id\"\") ON DELETE CASCADE NOT VALID;\n\nALTER TABLE ONLY public.\"\"Emails\"\"\n    ADD CONSTRAINT emails_people_id_fk FOREIGN KEY(\"\"PersonId\"\") REFERENCES public.\"\"People\"\"(\"\"Id\"\") ON DELETE CASCADE;\";\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Benchmarks/Benchmarks/BenchmarkBase.cs",
    "content": "﻿using System.Threading.Tasks;\nusing Microsoft.EntityFrameworkCore;\nusing RepoDb;\nusing Venflow.Benchmarks.Models;\nusing Venflow.Benchmarks.Models.Configurations;\n\nnamespace Venflow.Benchmarks.Benchmarks\n{\n    public abstract class BenchmarkBase\n    {\n        public BenchmarkDb Database { get; set; } = null!;\n        public BenchmarkDbContext PersonDbContext { get; set; } = null!;\n\n        private static bool _initDone = false;\n\n        public virtual Task Setup()\n        {\n            Database = new BenchmarkDb();\n\n            BenchmarkHandler.Init(Database);\n\n            if (!_initDone)\n            {\n                PostgreSqlBootstrap.Initialize();\n                ClassMapper.Add<Person>(\"\\\"People\\\"\");\n                ClassMapper.Add<Email>(\"\\\"Emails\\\"\");\n                ClassMapper.Add<EmailContent>(\"\\\"EmailContents\\\"\");\n                IdentityMapper.Add<Person>(x => x.Id);\n                IdentityMapper.Add<Email>(x => x.Id);\n                IdentityMapper.Add<EmailContent>(x => x.Id);\n                PrimaryMapper.Add<Person>(x => x.Id);\n                PrimaryMapper.Add<Email>(x => x.Id);\n                PrimaryMapper.Add<EmailContent>(x => x.Id);\n\n                _initDone = true;\n            }\n\n            PersonDbContext = new BenchmarkDbContext();\n\n            PersonDbContext.ChangeTracker.AutoDetectChangesEnabled = false;\n            PersonDbContext.ChangeTracker.LazyLoadingEnabled = false;\n            PersonDbContext.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;\n\n            return Task.CompletedTask;\n        }\n\n        public virtual async Task Cleanup()\n        {\n            await Database.People.TruncateAsync(Enums.ForeignTruncateOptions.Cascade);\n\n            await Database.DisposeAsync();\n\n            await PersonDbContext.DisposeAsync();\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Benchmarks/Benchmarks/DeleteBenchmarks/DeleteBatchAsyncBenchmark.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Threading.Tasks;\nusing BenchmarkDotNet.Attributes;\nusing BenchmarkDotNet.Jobs;\nusing RepoDb;\nusing Venflow.Benchmarks.Models;\n\nnamespace Venflow.Benchmarks.Benchmarks.DeleteBenchmarks\n{\n    [MemoryDiagnoser]\n    [SimpleJob(RuntimeMoniker.Net60)]\n\n    public class DeleteBatchAsyncBenchmark : BenchmarkBase\n    {\n        [Params(10, 100, 1000, 10000)]\n        public int BatchCount { get; set; }\n\n        [GlobalSetup]\n        public override async Task Setup()\n        {\n            await base.Setup();\n\n            await EFCoreDeleteBatchAsync();\n            await VenflowDeleteBatchAsync();\n            await RepoDbDeleteBatchAsync();\n        }\n\n        public async Task<List<Person>> IterationSetupAsync()\n        {\n            var toDelete = new List<Person>();\n\n            for (var i = 0; i < BatchCount; i++)\n            {\n                toDelete.Add(new Person { Name = \"toDelete\" + i.ToString() });\n            }\n\n            await Database.People.Insert().InsertAsync(toDelete);\n\n            return toDelete;\n        }\n\n        [Benchmark(Baseline = true)]\n        public async Task EFCoreDeleteBatchAsync()\n        {\n            var toDelete = await IterationSetupAsync();\n\n            PersonDbContext.People.RemoveRange(toDelete);\n\n            await PersonDbContext.SaveChangesAsync();\n        }\n\n        [Benchmark]\n        public async Task VenflowDeleteBatchAsync()\n        {\n            var toDelete = await IterationSetupAsync();\n\n            await Database.People.DeleteAsync(toDelete);\n        }\n\n        [Benchmark]\n        public async Task RepoDbDeleteBatchAsync()\n        {\n            var toDelete = await IterationSetupAsync();\n\n            await DbConnectionExtension.DeleteAllAsync(Database.GetConnection(), toDelete);\n        }\n\n\n        [GlobalCleanup]\n        public override Task Cleanup()\n        {\n            return base.Cleanup();\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Benchmarks/Benchmarks/DeleteBenchmarks/DeleteSingleAsyncBenchmark.cs",
    "content": "﻿using System.Threading.Tasks;\nusing BenchmarkDotNet.Attributes;\nusing BenchmarkDotNet.Jobs;\nusing RepoDb;\nusing Venflow.Benchmarks.Models;\n\nnamespace Venflow.Benchmarks.Benchmarks.DeleteBenchmarks\n{\n    [MemoryDiagnoser]\n    [SimpleJob(RuntimeMoniker.Net60)]\n\n    public class DeleteSingleAsyncBenchmark : BenchmarkBase\n    {\n        [GlobalSetup]\n        public override async Task Setup()\n        {\n            await base.Setup();\n\n            await EFCoreDeleteSingleAsync();\n            await VenflowDeleteSingleAsync();\n            await RepoDbDeleteSingleAsync();\n        }\n\n        public async Task<Person> IterationSetupAsync()\n        {\n            var toDelete = new Person { Name = \"toDelete\" };\n\n            await Database.People.InsertAsync(toDelete);\n\n            return toDelete;\n        }\n\n        [Benchmark(Baseline = true)]\n        public async Task EFCoreDeleteSingleAsync()\n        {\n            var toDelete = await IterationSetupAsync();\n\n            PersonDbContext.People.Remove(toDelete);\n\n            await PersonDbContext.SaveChangesAsync();\n        }\n\n        [Benchmark]\n        public async Task VenflowDeleteSingleAsync()\n        {\n            var toDelete = await IterationSetupAsync();\n\n            await Database.People.DeleteAsync(toDelete);\n        }\n\n        [Benchmark]\n        public async Task RepoDbDeleteSingleAsync()\n        {\n            var toDelete = await IterationSetupAsync();\n\n            await DbConnectionExtension.DeleteAsync(Database.GetConnection(), toDelete);\n        }\n\n        [GlobalCleanup]\n        public override Task Cleanup()\n        {\n            return base.Cleanup();\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Benchmarks/Benchmarks/InsertBenchmarks/InsertBatchAsyncBenchmark.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Threading.Tasks;\nusing BenchmarkDotNet.Attributes;\nusing BenchmarkDotNet.Jobs;\nusing RepoDb;\nusing Venflow.Benchmarks.Models;\n\nnamespace Venflow.Benchmarks.Benchmarks.InsertBenchmarks\n{\n    [MemoryDiagnoser]\n    [SimpleJob(RuntimeMoniker.Net60)]\n\n    public class InsertBatchAsyncBenchmark : BenchmarkBase\n    {\n        [Params(10, 100, 1000, 10000)]\n        public int BatchCount { get; set; }\n\n        [GlobalSetup]\n        public override async Task Setup()\n        {\n            await base.Setup();\n\n            await EfCoreInsertBatchAsync();\n            await VenflowInsertBatchAsync();\n            await RepoDbInsertBatchAsync();\n        }\n\n        private List<Person> GetDummyPeople()\n        {\n            var people = new List<Person>();\n\n            for (var i = 0; i < BatchCount; i++)\n            {\n                people.Add(new Person { Name = \"InsertBatchAsync\" + i.ToString() });\n            }\n\n            return people;\n        }\n\n        [Benchmark(Baseline = true)]\n        public Task EfCoreInsertBatchAsync()\n        {\n            PersonDbContext.People.AddRange(GetDummyPeople());\n\n            return PersonDbContext.SaveChangesAsync();\n        }\n\n        [Benchmark]\n        public Task<int> VenflowInsertBatchAsync()\n        {\n            return Database.People.Insert().InsertAsync(GetDummyPeople());\n        }\n\n        [Benchmark]\n        public Task<int> RepoDbInsertBatchAsync()\n        {\n            return DbConnectionExtension.InsertAllAsync(Database.GetConnection(), GetDummyPeople());\n        }\n\n        [GlobalCleanup]\n        public override Task Cleanup()\n        {\n            return base.Cleanup();\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Benchmarks/Benchmarks/InsertBenchmarks/InsertBatchWithRelationsAsyncBenchmark.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Threading.Tasks;\nusing BenchmarkDotNet.Attributes;\nusing BenchmarkDotNet.Jobs;\nusing Venflow.Benchmarks.Models;\n\nnamespace Venflow.Benchmarks.Benchmarks.InsertBenchmarks\n{\n    [MemoryDiagnoser]\n    [SimpleJob(RuntimeMoniker.Net60)]\n\n    public class InsertBatchWithRelationsAsyncBenchmark : BenchmarkBase\n    {\n        [Params(10, 100, 1000, 10000)]\n        public int BatchCount { get; set; }\n\n        [GlobalSetup]\n        public override async Task Setup()\n        {\n            await base.Setup();\n\n            await EfCoreInsertBatchAsync();\n            await VenflowInsertBatchAsync();\n        }\n\n        private List<Email> GetDummyEmails()\n        {\n            var emails = new List<Email>();\n\n            for (var i = 0; i < BatchCount; i++)\n            {\n                var person = new Person { Name = \"Test\" + i.ToString(), Emails = new List<Email>() };\n\n                for (var k = 0; k < 2; k++)\n                {\n                    var email = new Email { Address = person.Name + k.ToString(), Person = person, Contents = new List<EmailContent>() };\n\n                    person.Emails.Add(email);\n\n                    emails.Add(email);\n\n                    for (var z = 0; z < 2; z++)\n                    {\n                        email.Contents.Add(new EmailContent { Content = email.Address + z.ToString(), Email = email });\n                    }\n                }\n            }\n\n            return emails;\n        }\n\n        [Benchmark(Baseline = true)]\n        public Task EfCoreInsertBatchAsync()\n        {\n            PersonDbContext.Emails.AddRange(GetDummyEmails());\n\n            return PersonDbContext.SaveChangesAsync();\n        }\n\n        [Benchmark]\n        public Task<int> VenflowInsertBatchAsync()\n        {\n            return Database.Emails.InsertAsync(GetDummyEmails());\n        }\n\n        [GlobalCleanup]\n        public override Task Cleanup()\n        {\n            return base.Cleanup();\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Benchmarks/Benchmarks/InsertBenchmarks/InsertSingleAsyncBenchmark.cs",
    "content": "﻿using System.Threading.Tasks;\nusing BenchmarkDotNet.Attributes;\nusing BenchmarkDotNet.Jobs;\nusing RepoDb;\nusing Venflow.Benchmarks.Models;\n\nnamespace Venflow.Benchmarks.Benchmarks.InsertBenchmarks\n{\n    [MemoryDiagnoser]\n    [SimpleJob(RuntimeMoniker.Net60)]\n\n    public class InsertSingleAsyncBenchmark : BenchmarkBase\n    {\n        [GlobalSetup]\n        public override async Task Setup()\n        {\n            await base.Setup();\n\n            await EFCoreInsertSingleAsync();\n            await VenflowInsertSingleAsync();\n            await RepoDbInsertSingleAsync();\n        }\n\n        private Person GetDummyPerson()\n        {\n            return new Person { Name = \"Insert\" };\n        }\n\n        [Benchmark(Baseline = true)]\n        public Task EFCoreInsertSingleAsync()\n        {\n            PersonDbContext.People.Add(GetDummyPerson());\n\n            return PersonDbContext.SaveChangesAsync();\n        }\n\n        [Benchmark]\n        public Task VenflowInsertSingleAsync()\n        {\n            return Database.People.Insert().Build().InsertAsync(GetDummyPerson());\n        }\n\n        [Benchmark]\n        public Task RepoDbInsertSingleAsync()\n        {\n            return DbConnectionExtension.InsertAsync(Database.GetConnection(), GetDummyPerson());\n        }\n\n        [GlobalCleanup]\n        public override Task Cleanup()\n        {\n            return base.Cleanup();\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Benchmarks/Benchmarks/InsertBenchmarks/InsertSingleWithRelationsAsyncBenchmark.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing BenchmarkDotNet.Attributes;\nusing BenchmarkDotNet.Jobs;\nusing Venflow.Benchmarks.Models;\n\nnamespace Venflow.Benchmarks.Benchmarks.InsertBenchmarks\n{\n    [MemoryDiagnoser]\n    [SimpleJob(RuntimeMoniker.Net60)]\n\n    public class InsertSingleWithRelationsAsyncBenchmark : BenchmarkBase\n    {\n        [GlobalSetup]\n        public override async Task Setup()\n        {\n            await base.Setup();\n\n            await EfCoreInsertSingleAsync();\n            await VenflowInsertSingleAsync();\n        }\n\n        private Email GetDummyEmail()\n        {\n            var emails = new List<Email>();\n\n            for (int i = 0; i < 1; i++)\n            {\n                var person = new Person { Name = \"Test\" + i.ToString(), Emails = new List<Email>() };\n\n                for (int k = 0; k < 2; k++)\n                {\n                    var email = new Email { Address = person.Name + k.ToString(), Person = person, Contents = new List<EmailContent>() };\n\n                    emails.Add(email);\n\n                    for (int z = 0; z < 2; z++)\n                    {\n                        email.Contents.Add(new EmailContent { Content = email.Address + z.ToString() });\n                    }\n                }\n            }\n\n            return emails.First();\n        }\n\n        [Benchmark(Baseline = true)]\n        public Task EfCoreInsertSingleAsync()\n        {\n            PersonDbContext.Emails.Add(GetDummyEmail());\n\n            return PersonDbContext.SaveChangesAsync();\n        }\n\n        [Benchmark]\n        public Task<int> VenflowInsertSingleAsync()\n        {\n            return Database.Emails.InsertAsync(GetDummyEmail());\n        }\n\n        [GlobalCleanup]\n        public override Task Cleanup()\n        {\n            return base.Cleanup();\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Benchmarks/Benchmarks/InstantiationBenchmark.cs",
    "content": "﻿using System.Threading.Tasks;\nusing BenchmarkDotNet.Attributes;\nusing BenchmarkDotNet.Jobs;\nusing Venflow.Benchmarks.Models.Configurations;\n\nnamespace Venflow.Benchmarks.Benchmarks\n{\n    [MemoryDiagnoser]\n    [SimpleJob(RuntimeMoniker.Net60)]\n    public class InstantiationBenchmark : BenchmarkBase\n    {\n        [GlobalSetup]\n        public override async Task Setup()\n        {\n            await base.Setup();\n\n            await InstantiateEFCoreContext();\n            await InstantiateVenflowDatabase();\n        }\n\n        [Benchmark]\n        public ValueTask InstantiateEFCoreContext()\n        {\n            return new BenchmarkDbContext().DisposeAsync();\n        }\n\n        [Benchmark]\n        public ValueTask InstantiateVenflowDatabase()\n        {\n            return new BenchmarkDb().DisposeAsync();\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Benchmarks/Benchmarks/MiscBenchmarks.cs",
    "content": "﻿using System;\nusing System.Threading.Tasks;\nusing BenchmarkDotNet.Attributes;\n\nnamespace Venflow.Benchmarks.Benchmarks\n{\n    [MemoryDiagnoser]\n    public class MiscBenchmarks : BenchmarkBase\n    {\n        private readonly int[] array = Array.Empty<int>();\n\n        [GlobalSetup]\n        public override Task Setup()\n        {\n            return base.Setup();\n        }\n\n        [Benchmark]\n        public Span<int> SpanOverhead()\n        {\n            return array.AsSpan();\n        }\n\n        [GlobalCleanup]\n        public override Task Cleanup()\n        {\n            return base.Cleanup();\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Benchmarks/Benchmarks/QueryBenchmarks/QueryBatchAsyncBenchmark.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing BenchmarkDotNet.Attributes;\nusing BenchmarkDotNet.Jobs;\nusing Dapper;\nusing Microsoft.EntityFrameworkCore;\nusing RepoDb;\nusing RepoDb.Extensions;\nusing Venflow.Benchmarks.Benchmarks.InsertBenchmarks;\nusing Venflow.Benchmarks.Models;\n\nnamespace Venflow.Benchmarks.Benchmarks.QueryBenchmarks\n{\n    [MemoryDiagnoser]\n    [SimpleJob(RuntimeMoniker.Net60)]\n\n    public class QueryBatchAsyncBenchmark : BenchmarkBase\n    {\n        [Params(10, 100, 1000, 10000)]\n        public int BatchCount { get; set; }\n\n        private string sql => @\"SELECT \"\"Id\"\", \"\"Name\"\" FROM \"\"People\"\" LIMIT \" + BatchCount;\n\n        [GlobalSetup]\n        public override async Task Setup()\n        {\n            await base.Setup();\n\n            var insertBenchmark = new InsertBatchWithRelationsAsyncBenchmark();\n\n            await insertBenchmark.Setup();\n\n            insertBenchmark.BatchCount = 10000;\n\n            await insertBenchmark.VenflowInsertBatchAsync();\n\n            await insertBenchmark.Database.DisposeAsync();\n\n            await insertBenchmark.PersonDbContext.DisposeAsync();\n\n            await EfCoreQueryBatchAsync();\n            await EfCoreQueryBatchNoChangeTrackingAsync();\n            await EfCoreQueryBatchRawNoChangeTrackingAsync();\n            await VenflowQueryBatchAsync();\n            await VenflowQueryBatchNoChangeTrackingAsync();\n            await RepoDbQueryBatchAsync();\n            await DapperQueryBatchAsync();\n        }\n\n        [Benchmark(Baseline = true)]\n        public Task<List<Person>> EfCoreQueryBatchAsync()\n        {\n            PersonDbContext.ChangeTracker.AutoDetectChangesEnabled = true;\n            PersonDbContext.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.TrackAll;\n            return PersonDbContext.People.Take(BatchCount).ToListAsync();\n        }\n\n        [Benchmark]\n        public Task<List<Person>> EfCoreQueryBatchNoChangeTrackingAsync()\n        {\n            PersonDbContext.ChangeTracker.AutoDetectChangesEnabled = false;\n            PersonDbContext.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;\n            return PersonDbContext.People.Take(BatchCount).AsNoTracking().ToListAsync();\n        }\n\n        [Benchmark]\n        public Task<List<Person>> EfCoreQueryBatchRawNoChangeTrackingAsync()\n        {\n            PersonDbContext.ChangeTracker.AutoDetectChangesEnabled = false;\n            PersonDbContext.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;\n            return PersonDbContext.People.FromSqlRaw(sql).AsNoTracking().ToListAsync();\n        }\n\n        [Benchmark]\n        public Task<List<Person>?> VenflowQueryBatchAsync()\n        {\n            return Database.People.QueryBatch(sql).TrackChanges().Build().QueryAsync();\n        }\n\n        [Benchmark]\n        public Task<List<Person>?> VenflowQueryBatchNoChangeTrackingAsync()\n        {\n            return Database.People.QueryBatch(sql).Build().QueryAsync();\n        }\n\n        [Benchmark]\n        public async Task<List<Person>> RepoDbQueryBatchAsync()\n        {\n            return EnumerableExtension.AsList(await DbConnectionExtension.QueryAsync<Person>(Database.GetConnection(), what: null, top: BatchCount));\n        }\n\n        [Benchmark]\n        public async Task<List<Person>> DapperQueryBatchAsync()\n        {\n            return SqlMapper.AsList(await SqlMapper.QueryAsync<Person>(Database.GetConnection(), sql));\n        }\n\n        [GlobalCleanup]\n        public override Task Cleanup()\n        {\n            return base.Cleanup();\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Benchmarks/Benchmarks/QueryBenchmarks/QueryBatchWithRelationsAsyncBenchmark.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing BenchmarkDotNet.Attributes;\nusing BenchmarkDotNet.Jobs;\nusing Microsoft.EntityFrameworkCore;\nusing Venflow.Benchmarks.Benchmarks.InsertBenchmarks;\nusing Venflow.Benchmarks.Models;\n\nnamespace Venflow.Benchmarks.Benchmarks.QueryBenchmarks\n{\n    [MemoryDiagnoser]\n    [SimpleJob(RuntimeMoniker.Net60)]\n\n    public class QueryBatchWithRelationsAsyncBenchmark : BenchmarkBase\n    {\n        [Params(10, 100, 1000, 10000)]\n        public int BatchCount { get; set; }\n\n        private string sql => @\"SELECT * FROM (SELECT * FROM \"\"People\"\" LIMIT \" + BatchCount + @\") AS \"\"People\"\" INNER JOIN \"\"Emails\"\" ON \"\"Emails\"\".\"\"PersonId\"\" = \"\"People\"\".\"\"Id\"\" INNER JOIN \"\"EmailContents\"\" ON \"\"EmailContents\"\".\"\"EmailId\"\" = \"\"Emails\"\".\"\"Id\"\"\";\n\n        [GlobalSetup]\n        public override async Task Setup()\n        {\n            await base.Setup();\n\n            var insertBenchmark = new InsertBatchWithRelationsAsyncBenchmark();\n\n            await insertBenchmark.Setup();\n\n            insertBenchmark.BatchCount = 10000;\n\n            await insertBenchmark.VenflowInsertBatchAsync();\n\n            await insertBenchmark.Database.DisposeAsync();\n\n            await insertBenchmark.PersonDbContext.DisposeAsync();\n\n            await EfCoreQueryBatchAsync();\n            await EfCoreQueryBatchNoChangeTrackingAsync();\n            await VenflowQueryBatchAsync();\n            await VenflowQueryBatchNoChangeTrackingAsync();\n            await RecommendedDapperQueryBatchAsync();\n            await CustomDapperQueryBatchAsync();\n        }\n\n        [Benchmark(Baseline = true)]\n        public Task<List<Person>> EfCoreQueryBatchAsync()\n        {\n            PersonDbContext.ChangeTracker.AutoDetectChangesEnabled = true;\n            PersonDbContext.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.TrackAll;\n            return PersonDbContext.People.Include(x => x.Emails).ThenInclude(x => x.Contents).Take(BatchCount).ToListAsync();\n        }\n\n        [Benchmark]\n        public Task<List<Person>> EfCoreQueryBatchNoChangeTrackingAsync()\n        {\n            PersonDbContext.ChangeTracker.AutoDetectChangesEnabled = false;\n            PersonDbContext.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;\n            return PersonDbContext.People.AsNoTracking().Include(x => x.Emails).ThenInclude(x => x.Contents).Take(BatchCount).ToListAsync();\n        }\n\n        [Benchmark]\n        public Task<List<Person>?> VenflowQueryBatchAsync()\n        {\n            return Database.People.QueryBatch(sql).JoinWith(x => x.Emails).ThenWith(x => x.Contents).TrackChanges().Build().QueryAsync();\n        }\n\n        [Benchmark]\n        public Task<List<Person>?> VenflowQueryBatchNoChangeTrackingAsync()\n        {\n            return Database.People.QueryBatch(sql).JoinWith(x => x.Emails).ThenWith(x => x.Contents).Build().QueryAsync();\n        }\n\n        [Benchmark]\n        public async Task<List<Person>> RecommendedDapperQueryBatchAsync()\n        {\n            var peopleDict = new Dictionary<int, Person>();\n            var emailDict = new Dictionary<int, Email>();\n            var emailContentDict = new Dictionary<int, EmailContent>();\n\n            var people = (await Dapper.SqlMapper.QueryAsync<Person, Email, EmailContent, Person>(Database.GetConnection(), sql, (person, email, emailContent) =>\n            {\n                var isEmailNew = false;\n                var isEmailContentNew = false;\n\n                if (peopleDict.TryGetValue(person.Id, out var tempPerson))\n                {\n                    person = tempPerson;\n                }\n                else\n                {\n                    person.Emails = new List<Email>();\n                    peopleDict.Add(person.Id, person);\n                }\n\n                if (emailDict.TryGetValue(email.Id, out var tempEmail))\n                {\n                    email = tempEmail;\n                }\n                else\n                {\n                    email.Contents = new List<EmailContent>();\n                    isEmailNew = true;\n                    emailDict.Add(email.Id, email);\n                }\n\n                if (emailContentDict.TryGetValue(emailContent.Id, out var tempEmailContent))\n                {\n                    emailContent = tempEmailContent;\n                }\n                else\n                {\n                    isEmailContentNew = true;\n                    emailContentDict.Add(emailContent.Id, emailContent);\n                }\n\n                if (isEmailNew)\n                {\n                    person.Emails.Add(email);\n                }\n\n                if (isEmailContentNew)\n                {\n                    email.Contents.Add(emailContent);\n                }\n\n                return person;\n            })).Distinct().ToList();\n\n            return people;\n        }\n\n        [Benchmark]\n        public async Task<List<Person>> CustomDapperQueryBatchAsync()\n        {\n            var people = new List<Person>();\n            var peopleDict = new Dictionary<int, Person>();\n            var emailDict = new Dictionary<int, Email>();\n            var emailContentDict = new Dictionary<int, EmailContent>();\n\n            await Dapper.SqlMapper.QueryAsync<Person, Email, EmailContent, Person>(Database.GetConnection(), sql, (person, email, emailContent) =>\n            {\n                var isEmailNew = false;\n                var isEmailContentNew = false;\n\n                if (peopleDict.TryGetValue(person.Id, out var tempPerson))\n                {\n                    person = tempPerson;\n                }\n                else\n                {\n                    person.Emails = new List<Email>();\n                    people.Add(person);\n                    peopleDict.Add(person.Id, person);\n                }\n\n                if (emailDict.TryGetValue(email.Id, out var tempEmail))\n                {\n                    email = tempEmail;\n                }\n                else\n                {\n                    email.Contents = new List<EmailContent>();\n                    isEmailNew = true;\n                    emailDict.Add(email.Id, email);\n                }\n\n                if (emailContentDict.TryGetValue(emailContent.Id, out var tempEmailContent))\n                {\n                    emailContent = tempEmailContent;\n                }\n                else\n                {\n                    isEmailContentNew = true;\n                    emailContentDict.Add(emailContent.Id, emailContent);\n                }\n\n                if (isEmailNew)\n                {\n                    person.Emails.Add(email);\n                }\n\n                if (isEmailContentNew)\n                {\n                    email.Contents.Add(emailContent);\n                }\n\n                return null!;\n            });\n\n            return people;\n        }\n\n        [GlobalCleanup]\n        public override Task Cleanup()\n        {\n            return base.Cleanup();\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Benchmarks/Benchmarks/QueryBenchmarks/QuerySingleAsyncBenchmark.cs",
    "content": "﻿using System.Linq;\nusing System.Threading.Tasks;\nusing BenchmarkDotNet.Attributes;\nusing BenchmarkDotNet.Jobs;\nusing Dapper;\nusing Microsoft.EntityFrameworkCore;\nusing RepoDb;\nusing Venflow.Benchmarks.Benchmarks.InsertBenchmarks;\nusing Venflow.Benchmarks.Models;\n\nnamespace Venflow.Benchmarks.Benchmarks.QueryBenchmarks\n{\n    [MemoryDiagnoser]\n    [SimpleJob(RuntimeMoniker.Net60)]\n\n    public class QuerySingleAsyncBenchmark : BenchmarkBase\n    {\n        private const string sql = @\"SELECT * FROM \"\"People\"\" LIMIT 1\";\n\n        [GlobalSetup]\n        public override async Task Setup()\n        {\n            await base.Setup();\n\n            var insertBenchmark = new InsertBatchWithRelationsAsyncBenchmark();\n\n            await insertBenchmark.Setup();\n\n            insertBenchmark.BatchCount = 10000;\n\n            await insertBenchmark.VenflowInsertBatchAsync();\n\n            await insertBenchmark.Database.DisposeAsync();\n\n            await insertBenchmark.PersonDbContext.DisposeAsync();\n\n            await EfCoreQuerySingleAsync();\n            await EfCoreQuerySingleNoChangeTrackingAsync();\n            await EfCoreQuerySingleRawNoChangeTrackingAsync();\n            await VenflowQuerySingleAsync();\n            await VenflowQuerySingleNoChangeTrackingAsync();\n            await RepoDbQuerySingleAsync();\n            await DapperQuerySingleAsync();\n        }\n\n        [Benchmark(Baseline = true)]\n        public Task<Person?> EfCoreQuerySingleAsync()\n        {\n            PersonDbContext.ChangeTracker.AutoDetectChangesEnabled = true;\n            PersonDbContext.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.TrackAll;\n            return PersonDbContext.People.FirstOrDefaultAsync();\n        }\n\n        [Benchmark]\n        public Task<Person?> EfCoreQuerySingleNoChangeTrackingAsync()\n        {\n            PersonDbContext.ChangeTracker.AutoDetectChangesEnabled = false;\n            PersonDbContext.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;\n            return PersonDbContext.People.AsNoTracking().FirstOrDefaultAsync();\n        }\n\n        [Benchmark]\n        public Task<Person?> EfCoreQuerySingleRawNoChangeTrackingAsync()\n        {\n            PersonDbContext.ChangeTracker.AutoDetectChangesEnabled = false;\n            PersonDbContext.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;\n            return PersonDbContext.People.FromSqlRaw(sql).AsNoTracking().FirstOrDefaultAsync();\n        }\n\n        [Benchmark]\n        public Task<Person?> VenflowQuerySingleAsync()\n        {\n            return Database.People.QuerySingle(sql).TrackChanges().Build().QueryAsync();\n        }\n\n        [Benchmark]\n        public Task<Person?> VenflowQuerySingleNoChangeTrackingAsync()\n        {\n            return Database.People.QuerySingle(sql).Build().QueryAsync();\n        }\n\n        [Benchmark]\n        public Task<Person> RepoDbQuerySingleAsync()\n        {\n            return DbConnectionExtension.QueryAsync<Person>(Database.GetConnection(), what: null, top: 1).ContinueWith(x => x.Result.First());\n        }\n\n        [Benchmark]\n        public Task<Person> DapperQuerySingleAsync()\n        {\n            return SqlMapper.QueryFirstAsync<Person>(Database.GetConnection(), sql);\n        }\n\n        [GlobalCleanup]\n        public override Task Cleanup()\n        {\n            return base.Cleanup();\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Benchmarks/Benchmarks/QueryBenchmarks/QuerySingleWithParameterAsyncBenchmark.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing BenchmarkDotNet.Attributes;\nusing BenchmarkDotNet.Jobs;\nusing Dapper;\nusing Microsoft.EntityFrameworkCore;\nusing Npgsql;\nusing RepoDb;\nusing Venflow.Benchmarks.Benchmarks.InsertBenchmarks;\nusing Venflow.Benchmarks.Models;\n\nnamespace Venflow.Benchmarks.Benchmarks.QueryBenchmarks\n{\n    [MemoryDiagnoser]\n    [SimpleJob(RuntimeMoniker.Net60)]\n    public class QuerySingleWithParameterAsyncBenchmark : BenchmarkBase\n    {\n        private readonly int _id = 1;\n\n        [GlobalSetup]\n        public override async Task Setup()\n        {\n            await base.Setup();\n\n            var insertBenchmark = new InsertSingleAsyncBenchmark();\n\n            await insertBenchmark.Setup();\n\n            await insertBenchmark.VenflowInsertSingleAsync();\n        }\n\n        [Benchmark]\n        public Task<Person?> VenflowQueryWithParameters()\n        {\n            return Database.People.QuerySingle(@\"SELECT * FROM \"\"People\"\" WHERE \"\"Id\"\" = @p1\", new NpgsqlParameter<int>(\"@p1\", 1)).QueryAsync();\n        }\n\n        [Benchmark]\n        public Task<Person?> VenflowQueryWithInterpolation()\n        {\n            return Database.People.QueryInterpolatedSingle($@\"SELECT * FROM \"\"People\"\" WHERE \"\"Id\"\" = {1}\").QueryAsync();\n        }\n\n        [Benchmark]\n        public Task<Person?> VenflowQueryWithConstLambda()\n        {\n            return Database.People.QuerySingle(p => $\"SELECT * FROM {p} WHERE {p.Id} = {1}\").QueryAsync();\n        }\n\n        [Benchmark]\n        public Task<Person?> VenflowQueryWithLocalLambda()\n        {\n            var id = 1;\n\n            return Database.People.QuerySingle(p => $\"SELECT * FROM {p} WHERE {p.Id} = {id}\").QueryAsync();\n        }\n\n        [Benchmark]\n        public Task<Person?> VenflowQueryWithFieldLambda()\n        {\n            return Database.People.QuerySingle(p => $\"SELECT * FROM {p} WHERE {p.Id} = {_id}\").QueryAsync();\n        }\n\n        [Benchmark]\n        public Task<Person?> RepoDbQueryWithParameters()\n        {\n            return DbConnectionExtension.ExecuteQueryAsync<Person>(Database.GetConnection(), @\"SELECT * FROM \"\"People\"\" WHERE \"\"Id\"\" = @p1\", new { p1 = 1 }).ContinueWith(x => x.Result.FirstOrDefault());\n        }\n\n        [Benchmark]\n        public Task<Person> DapperQueryWithParameters()\n        {\n            return SqlMapper.QuerySingleAsync<Person>(Database.GetConnection(), @\"SELECT * FROM \"\"People\"\" LIMIT @p1\", new { p1 = 1 });\n        }\n\n        [Benchmark]\n        public Task<Person> DapperQueryWithBag()\n        {\n            var dictionary = new Dictionary<string, object>\n            {\n                { \"@p1\", 1 }\n            };\n            var parameters = new DynamicParameters(dictionary);\n\n            return SqlMapper.QuerySingleAsync<Person>(Database.GetConnection(), @\"SELECT * FROM \"\"People\"\" LIMIT @p1\", parameters);\n        }\n\n        [Benchmark]\n        public Task<Person?> EFCoreQueryWithConstLambda()\n        {\n            return PersonDbContext.People.FirstOrDefaultAsync(x => x.Id == 1);\n        }\n\n        [Benchmark]\n        public Task<Person?> EFCoreQueryWithLocalLambda()\n        {\n            var id = 1;\n\n            return PersonDbContext.People.FirstOrDefaultAsync(x => x.Id == id);\n        }\n\n        [Benchmark]\n        public Task<Person?> EFCoreQueryWithFieldLambda()\n        {\n            return PersonDbContext.People.FirstOrDefaultAsync(x => x.Id == _id);\n        }\n\n        [GlobalCleanup]\n        public override Task Cleanup()\n        {\n            return base.Cleanup();\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Benchmarks/Benchmarks/QueryBenchmarks/QuerySingleWithRelationsAsyncBenchmark.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing BenchmarkDotNet.Attributes;\nusing BenchmarkDotNet.Jobs;\nusing Microsoft.EntityFrameworkCore;\nusing Venflow.Benchmarks.Benchmarks.InsertBenchmarks;\nusing Venflow.Benchmarks.Models;\n\nnamespace Venflow.Benchmarks.Benchmarks.QueryBenchmarks\n{\n    [MemoryDiagnoser]\n    [SimpleJob(RuntimeMoniker.Net60)]\n\n    public class QuerySingleWithRelationsAsyncBenchmark : BenchmarkBase\n    {\n        private string sql => @\"SELECT * FROM (SELECT * FROM \"\"People\"\" LIMIT 1) AS \"\"People\"\" INNER JOIN \"\"Emails\"\" ON \"\"Emails\"\".\"\"PersonId\"\" = \"\"People\"\".\"\"Id\"\" INNER JOIN \"\"EmailContents\"\" ON \"\"EmailContents\"\".\"\"EmailId\"\" = \"\"Emails\"\".\"\"Id\"\"\";\n\n        [GlobalSetup]\n        public override async Task Setup()\n        {\n            await base.Setup();\n\n            var insertBenchmark = new InsertBatchWithRelationsAsyncBenchmark();\n\n            await insertBenchmark.Setup();\n\n            insertBenchmark.BatchCount = 10000;\n\n            await insertBenchmark.VenflowInsertBatchAsync();\n\n            await insertBenchmark.Database.DisposeAsync();\n\n            await insertBenchmark.PersonDbContext.DisposeAsync();\n\n            await EfCoreQuerySingleAsync();\n            await EfCoreQuerySingleNoChangeTrackingAsync();\n            await VenflowQuerySingleAsync();\n            await VenflowQuerySingleNoChangeTrackingAsync();\n            await RecommendedDapperQuerySingleAsync();\n            await CustomDapperQuerySingleAsync();\n        }\n\n        [Benchmark(Baseline = true)]\n        public Task<Person?> EfCoreQuerySingleAsync()\n        {\n            PersonDbContext.ChangeTracker.AutoDetectChangesEnabled = true;\n            PersonDbContext.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.TrackAll;\n\n            return PersonDbContext.People.Include(x => x.Emails).ThenInclude(x => x.Contents).FirstOrDefaultAsync();\n        }\n\n        [Benchmark]\n        public Task<Person?> EfCoreQuerySingleNoChangeTrackingAsync()\n        {\n            PersonDbContext.ChangeTracker.AutoDetectChangesEnabled = false;\n            PersonDbContext.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;\n            return PersonDbContext.People.AsNoTracking().Include(x => x.Emails).ThenInclude(x => x.Contents).FirstOrDefaultAsync();\n        }\n\n        [Benchmark]\n        public Task<Person?> VenflowQuerySingleAsync()\n        {\n            return Database.People.QuerySingle(sql).JoinWith(x => x.Emails).ThenWith(x => x.Contents).TrackChanges().Build().QueryAsync();\n        }\n\n        [Benchmark]\n        public Task<Person?> VenflowQuerySingleNoChangeTrackingAsync()\n        {\n            return Database.People.QuerySingle(sql).JoinWith(x => x.Emails).ThenWith(x => x.Contents).Build().QueryAsync();\n        }\n\n        [Benchmark]\n        public async Task<Person> RecommendedDapperQuerySingleAsync()\n        {\n            var peopleDict = new Dictionary<int, Person>();\n            var emailDict = new Dictionary<int, Email>();\n            var emailContentDict = new Dictionary<int, EmailContent>();\n\n            var person = (await Dapper.SqlMapper.QueryAsync<Person, Email, EmailContent, Person>(Database.GetConnection(), sql, (person, email, emailContent) =>\n            {\n                var isEmailNew = false;\n                var isEmailContentNew = false;\n\n                if (peopleDict.TryGetValue(person.Id, out var tempPerson))\n                {\n                    person = tempPerson;\n                }\n                else\n                {\n                    person.Emails = new List<Email>();\n                    peopleDict.Add(person.Id, person);\n                }\n\n                if (emailDict.TryGetValue(email.Id, out var tempEmail))\n                {\n                    email = tempEmail;\n                }\n                else\n                {\n                    email.Contents = new List<EmailContent>();\n                    isEmailNew = true;\n                    emailDict.Add(email.Id, email);\n                }\n\n                if (emailContentDict.TryGetValue(emailContent.Id, out var tempEmailContent))\n                {\n                    emailContent = tempEmailContent;\n                }\n                else\n                {\n                    isEmailContentNew = true;\n                    emailContentDict.Add(emailContent.Id, emailContent);\n                }\n\n                if (isEmailNew)\n                {\n                    person.Emails.Add(email);\n                }\n\n                if (isEmailContentNew)\n                {\n                    email.Contents.Add(emailContent);\n                }\n\n                return person;\n            })).Distinct().FirstOrDefault();\n\n            return person!;\n        }\n\n        [Benchmark]\n        public async Task<Person> CustomDapperQuerySingleAsync()\n        {\n            Person? resultPerson = default;\n            var emailDict = new Dictionary<int, Email>();\n            var emailContentDict = new Dictionary<int, EmailContent>();\n\n            await Dapper.SqlMapper.QueryAsync<Person, Email, EmailContent, Person>(Database.GetConnection(), sql, (person, email, emailContent) =>\n            {\n                var isEmailNew = false;\n                var isEmailContentNew = false;\n\n                if (resultPerson is null)\n                {\n                    resultPerson = person;\n\n                    person.Emails = new List<Email>();\n                }\n                else\n                {\n                    person = resultPerson;\n                }\n\n                if (emailDict.TryGetValue(email.Id, out var tempEmail))\n                {\n                    email = tempEmail;\n                }\n                else\n                {\n                    email.Contents = new List<EmailContent>();\n                    isEmailNew = true;\n                    emailDict.Add(email.Id, email);\n                }\n\n                if (emailContentDict.TryGetValue(emailContent.Id, out var tempEmailContent))\n                {\n                    emailContent = tempEmailContent;\n                }\n                else\n                {\n                    isEmailContentNew = true;\n                    emailContentDict.Add(emailContent.Id, emailContent);\n                }\n\n                if (isEmailNew)\n                {\n                    person.Emails.Add(email);\n                }\n\n                if (isEmailContentNew)\n                {\n                    email.Contents.Add(emailContent);\n                }\n\n                return null!;\n            });\n\n            return resultPerson!;\n        }\n\n        [GlobalCleanup]\n        public override Task Cleanup()\n        {\n            return base.Cleanup();\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Benchmarks/Benchmarks/UpdateBenchmarks/UpdateBatchAsyncBenchmark.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing BenchmarkDotNet.Attributes;\nusing BenchmarkDotNet.Jobs;\nusing Microsoft.EntityFrameworkCore;\nusing RepoDb;\nusing Venflow.Benchmarks.Benchmarks.InsertBenchmarks;\nusing Venflow.Benchmarks.Models;\n\nnamespace Venflow.Benchmarks.Benchmarks.UpdateBenchmarks\n{\n    [MemoryDiagnoser]\n    [SimpleJob(RuntimeMoniker.Net60)]\n\n    public class UpdateBatchAsyncBenchmark : BenchmarkBase\n    {\n        [Params(10, 100, 1000, 10000)]\n        public int BatchCount { get; set; }\n\n        private List<Person> _efCorePeople = null!;\n        private List<Person> _venflowPeople = null!;\n        private List<Person> _repoDbPeople = null!;\n\n        private int index = 0;\n\n        [GlobalSetup]\n        public override async Task Setup()\n        {\n            await base.Setup();\n\n            PersonDbContext.ChangeTracker.AutoDetectChangesEnabled = true;\n            PersonDbContext.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.TrackAll;\n\n            var insertBenchmark = new InsertBatchWithRelationsAsyncBenchmark();\n\n            await insertBenchmark.Setup();\n\n            insertBenchmark.BatchCount = 10000;\n\n            await insertBenchmark.VenflowInsertBatchAsync();\n\n            await insertBenchmark.Database.DisposeAsync();\n\n            await insertBenchmark.PersonDbContext.DisposeAsync();\n\n            _efCorePeople = await PersonDbContext.People.Take(BatchCount).ToListAsync();\n            _venflowPeople = (await Database.People.QueryBatch(@\"SELECT * FROM \"\"People\"\" LIMIT \" + BatchCount).TrackChanges().Build().QueryAsync())!;\n            _repoDbPeople = (await DbConnectionExtension.QueryAsync<Person>(Database.GetConnection(), what: null, top: BatchCount)).ToList();\n\n            await EFCoreUpdateBatchAsync();\n            await VenflowUpdateBatchAsync();\n            await RepoDbUpdateBatchAsync();\n        }\n\n        [Benchmark(Baseline = true)]\n        public Task EFCoreUpdateBatchAsync()\n        {\n            for (int i = 0; i < _efCorePeople.Count; i++)\n            {\n                _efCorePeople[i].Name = \"EFCoreUpdateBatchAsync\" + index++.ToString();\n            }\n\n            return PersonDbContext.SaveChangesAsync();\n        }\n\n        [Benchmark]\n        public ValueTask VenflowUpdateBatchAsync()\n        {\n            for (int i = 0; i < _venflowPeople.Count; i++)\n            {\n                _venflowPeople[i].Name = \"VenflowUpdateBatchAsync\" + index++.ToString();\n            }\n\n            return Database.People.UpdateAsync(_venflowPeople);\n        }\n\n        [Benchmark]\n        public Task RepoDbUpdateBatchAsync()\n        {\n            for (int i = 0; i < _repoDbPeople.Count; i++)\n            {\n                _repoDbPeople[i].Name = \"RepoDbUpdateSingleAsync\" + index++.ToString();\n            }\n\n            return DbConnectionExtension.UpdateAllAsync(Database.GetConnection(), _repoDbPeople);\n        }\n\n        [GlobalCleanup]\n        public override Task Cleanup()\n        {\n            return base.Cleanup();\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Benchmarks/Benchmarks/UpdateBenchmarks/UpdateSingleAsyncBenchmark.cs",
    "content": "﻿using System.Linq;\nusing System.Threading.Tasks;\nusing BenchmarkDotNet.Attributes;\nusing BenchmarkDotNet.Jobs;\nusing Microsoft.EntityFrameworkCore;\nusing RepoDb;\nusing Venflow.Benchmarks.Benchmarks.InsertBenchmarks;\nusing Venflow.Benchmarks.Models;\n\nnamespace Venflow.Benchmarks.Benchmarks.UpdateBenchmarks\n{\n    [MemoryDiagnoser]\n    [SimpleJob(RuntimeMoniker.Net60)]\n\n    public class UpdateSingleAsyncBenchmark : BenchmarkBase\n    {\n        private Person _efCorePerson = null!;\n        private Person _venflowPerson = null!;\n        private Person _repoDbPerson = null!;\n\n        private int index = 0;\n\n        [GlobalSetup]\n        public override async Task Setup()\n        {\n            await base.Setup();\n\n            PersonDbContext.ChangeTracker.AutoDetectChangesEnabled = true;\n            PersonDbContext.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.TrackAll;\n\n            var insertBenchmark = new InsertBatchWithRelationsAsyncBenchmark();\n\n            await insertBenchmark.Setup();\n\n            insertBenchmark.BatchCount = 10000;\n\n            await insertBenchmark.VenflowInsertBatchAsync();\n\n            await insertBenchmark.Database.DisposeAsync();\n\n            await insertBenchmark.PersonDbContext.DisposeAsync();\n\n            _efCorePerson = (await PersonDbContext.People.FirstOrDefaultAsync())!;\n            _venflowPerson = (await Database.People.QuerySingle(@\"SELECT * FROM \"\"People\"\" LIMIT 1\").TrackChanges().Build().QueryAsync())!;\n            _repoDbPerson = (await DbConnectionExtension.QueryAsync<Person>(Database.GetConnection(), what: null, top: 1)).FirstOrDefault()!;\n\n            await EFCoreUpdateSingleAsync();\n            await VenflowUpdateSingleAsync();\n            await RepoDbUpdateSingleAsync();\n        }\n\n        [Benchmark(Baseline = true)]\n        public Task EFCoreUpdateSingleAsync()\n        {\n            _efCorePerson.Name = \"EFCoreUpdateSingleAsync\" + index++.ToString();\n\n            return PersonDbContext.SaveChangesAsync();\n        }\n\n        [Benchmark]\n        public ValueTask VenflowUpdateSingleAsync()\n        {\n            _venflowPerson.Name = \"VenflowUpdateSingleAsync\" + index++.ToString();\n\n            return Database.People.UpdateAsync(_venflowPerson);\n        }\n\n        [Benchmark]\n        public Task RepoDbUpdateSingleAsync()\n        {\n            _repoDbPerson.Name = \"RepoDbUpdateSingleAsync\" + index++.ToString();\n\n            return DbConnectionExtension.UpdateAsync(Database.GetConnection(), _repoDbPerson);\n        }\n\n        [GlobalCleanup]\n        public override Task Cleanup()\n        {\n            return base.Cleanup();\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Benchmarks/Models/Configurations/BenchmarkDb.cs",
    "content": "﻿#pragma warning disable 8618\nusing Venflow.Shared;\n\nnamespace Venflow.Benchmarks.Models.Configurations\n{\n    public class BenchmarkDb : Database\n    {\n        public Table<Person> People { get; set; }\n        public Table<Email> Emails { get; set; }\n        public Table<EmailContent> EmailContents { get; set; }\n\n        public BenchmarkDb() : base(SecretsHandler.GetConnectionString<Startup>(\"Benchmarks\"))\n        {\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Benchmarks/Models/Configurations/BenchmarkDbContext.cs",
    "content": "﻿#pragma warning disable 8618\nusing Microsoft.EntityFrameworkCore;\nusing Venflow.Shared;\n\nnamespace Venflow.Benchmarks.Models.Configurations\n{\n    public class BenchmarkDbContext : DbContext\n    {\n        public DbSet<Person> People { get; set; }\n        public DbSet<Email> Emails { get; set; }\n        public DbSet<EmailContent> EmailContents { get; set; }\n\n        public BenchmarkDbContext() : base(new DbContextOptionsBuilder().UseNpgsql(SecretsHandler.GetConnectionString<Startup>(\"Benchmarks\")).Options)\n        {\n\n        }\n\n        protected override void OnModelCreating(ModelBuilder modelBuilder)\n        {\n            modelBuilder.Entity<Person>()\n                .HasMany(x => x.Emails)\n                .WithOne(x => x.Person)\n                .HasForeignKey(x => x.PersonId);\n\n            modelBuilder.Entity<Person>()\n                        .ToTable(\"People\");\n\n            modelBuilder.Entity<Email>()\n                .HasMany(x => x.Contents)\n                .WithOne(x => x.Email)\n                .HasForeignKey(x => x.EmailId);\n\n            modelBuilder.Entity<Email>()\n                       .ToTable(\"Emails\");\n\n            modelBuilder.Entity<EmailContent>()\n                       .ToTable(\"EmailContents\");\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Benchmarks/Models/Email.cs",
    "content": "﻿#pragma warning disable 8618\nusing System.Collections.Generic;\nusing System.ComponentModel.DataAnnotations.Schema;\nusing Venflow.Modeling.Definitions;\nusing Venflow.Modeling.Definitions.Builder;\n\nnamespace Venflow.Benchmarks.Models\n{\n    [Table(\"Emails\")]\n    public class Email\n    {\n        public int Id { get; set; }\n\n        public string Address { get; set; }\n\n        public int PersonId { get; set; }\n\n        public Person Person { get; set; }\n\n        public List<EmailContent> Contents { get; set; }\n    }\n\n    public class EmailConfiguration : EntityConfiguration<Email>\n    {\n        protected override void Configure(IEntityBuilder<Email> entityBuilder)\n        {\n            entityBuilder.HasMany(x => x.Contents)\n                         .WithOne(x => x.Email)\n                         .UsingForeignKey(x => x.EmailId);\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Benchmarks/Models/EmailContent.cs",
    "content": "﻿#pragma warning disable 8618\nusing System.ComponentModel.DataAnnotations.Schema;\n\nnamespace Venflow.Benchmarks.Models\n{\n    [Table(\"EmailContents\")]\n    public class EmailContent\n    {\n        public int Id { get; set; }\n\n        public string Content { get; set; }\n\n        public int EmailId { get; set; }\n\n        public Email Email { get; set; }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Benchmarks/Models/Person.cs",
    "content": "﻿#pragma warning disable 8618\nusing System.Collections.Generic;\nusing System.ComponentModel.DataAnnotations.Schema;\nusing Venflow.Modeling.Definitions;\nusing Venflow.Modeling.Definitions.Builder;\n\nnamespace Venflow.Benchmarks.Models\n{\n    [Table(\"People\")]\n    public class Person\n    {\n        public int Id { get; set; }\n\n        public virtual string Name { get; set; }\n\n        public List<Email> Emails { get; set; }\n    }\n\n    public class PersonConfiguration : EntityConfiguration<Person>\n    {\n        protected override void Configure(IEntityBuilder<Person> entityBuilder)\n        {\n            entityBuilder.HasMany(x => x.Emails)\n                         .WithOne(x => x.Person)\n                         .UsingForeignKey(x => x.PersonId);\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Benchmarks/Startup.cs",
    "content": "﻿using BenchmarkDotNet.Running;\n\nnamespace Venflow.Benchmarks\n{\n    public class Startup\n    {\n        public static void Main(string[] args)\n        {\n            BenchmarkSwitcher.FromAssembly(typeof(Startup).Assembly).Run(args);\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Benchmarks/Venflow.Benchmarks.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <OutputType>Exe</OutputType>\n    <TargetFramework>net6.0</TargetFramework>\n    <UserSecretsId>9ee3e386-8d57-4d94-bde3-820b26e3efdf</UserSecretsId>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"BenchmarkDotNet\" Version=\"0.13.1\" />\n    <PackageReference Include=\"Microsoft.Extensions.Configuration.UserSecrets\" Version=\"5.0.0\" />\n    <PackageReference Include=\"Dapper\" Version=\"2.0.90\" />\n    <PackageReference Include=\"RepoDb\" Version=\"1.12.8\" />\n    <PackageReference Include=\"RepoDb.PostgreSql\" Version=\"1.1.4\" />\n    <PackageReference Include=\"Npgsql.EntityFrameworkCore.PostgreSQL\" Version=\"6.0.0-rc.1\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\src\\Venflow\\Venflow.csproj\" />\n    <ProjectReference Include=\"..\\Venflow.Shared\\Venflow.Shared.csproj\" />\n  </ItemGroup>\n\n  <Target Name=\"RemoveAnalyzers\" BeforeTargets=\"CoreCompile\">\n    <ItemGroup>\n      <Analyzer Remove=\"@(Analyzer)\" Condition=\"%(FileName) == 'Microsoft.Extensions.Logging.Generators'\" />\n      <Analyzer Remove=\"@(Analyzer)\" Condition=\"%(FileName) == 'System.Text.Json.SourceGeneration'\" />\n    </ItemGroup>\n  </Target>\n</Project>"
  },
  {
    "path": "test/Venflow.Score/BenchResult.cs",
    "content": "﻿namespace Venflow.Score\n{\n    public class BenchResult\n    {\n        public string Method { get; set; } = null!;\n        public string Job { get; set; } = null!;\n        public string Mean { get; set; } = null!;\n        public string Allocated { get; set; } = null!;\n    }\n\n    public class BatchBenchResult : BenchResult\n    {\n        public int? BatchCount { get; set; }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Score/Orm.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Linq;\n\nnamespace Venflow.Score\n{\n    public class Orm\n    {\n        public double BenchScore { get; private set; }\n        public double AllocScore { get; private set; }\n        public bool HasCurrentBench { get; private set; }\n        public (string Name, string Link) OrmName { get; }\n\n        private readonly List<double> _benchTimeScores;\n        private readonly List<double> _benchAllocScores;\n\n        public Orm((string Name, string Link) ormName)\n        {\n            OrmName = ormName;\n\n            _benchTimeScores = new List<double>();\n            _benchAllocScores = new List<double>();\n        }\n\n        public void AddBenchScore(double benchScore, double allocScore)\n        {\n            _benchTimeScores.Add(benchScore);\n            _benchAllocScores.Add(allocScore);\n\n            HasCurrentBench = true;\n        }\n\n        public void FinishBench(double lowestBenchScore, double lowestAllocScore)\n        {\n            if (_benchTimeScores.Count != 0 &&\n                !_benchTimeScores.Any(x => x == lowestBenchScore))\n            {\n\n                BenchScore += _benchTimeScores.Min() / lowestBenchScore - 1;\n            }\n\n            _benchTimeScores.Clear();\n\n            if (_benchAllocScores.Count != 0 &&\n                !_benchAllocScores.Any(x => x == lowestAllocScore))\n            {\n\n                AllocScore += (_benchAllocScores.Min() / lowestAllocScore - 1) / 10; // Divided, in order to lower the impact by memory usage on the final score.\n            }\n\n            _benchAllocScores.Clear();\n\n            HasCurrentBench = false;\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Score/Startup.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.Globalization;\nusing System.IO;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing CsvHelper;\nusing CsvHelper.Configuration;\n\nnamespace Venflow.Score\n{\n    public static class Startup\n    {\n        private static readonly (string Name, string Link)[] _ormNames = new[]\n        {\n            (\"EFCore\",\"https://github.com/dotnet/efcore\"),\n            (\"Venflow\",\"https://github.com/TwentyFourMinutes/Venflow\"),\n            (\"RepoDb\",\"https://github.com/mikependon/RepoDb\"),\n            (\"Dapper\",\"https://github.com/StackExchange/Dapper\")\n        };\n\n        private static readonly Dictionary<string, Orm> _orms = new Dictionary<string, Orm>(_ormNames.Length);\n\n        public static async Task Main(string[] args)\n        {\n            string rootDirectory;\n\n            while (true)\n            {\n                Console.WriteLine(\"Enter the full path to the root directory of all the .csv benchmark results.\");\n                rootDirectory = args.Length > 0 ? args[0] : Console.ReadLine() ?? string.Empty;\n\n                if (!Directory.Exists(rootDirectory))\n                {\n                    Console.WriteLine(\"This directory doesn't exist.\");\n\n                    continue;\n                }\n\n                break;\n            }\n\n            foreach (var ormName in _ormNames)\n            {\n                _orms.Add(ormName.Name, new Orm(ormName));\n            }\n\n            if (args.Length > 2)\n            {\n                var benchmarkDestionationPath = args[1];\n\n                if (!Directory.Exists(benchmarkDestionationPath))\n                    throw new ArgumentException($\"The directory '{benchmarkDestionationPath}' could not be found.\");\n\n                var readmePath = args[2];\n\n                if (!File.Exists(readmePath))\n                    throw new ArgumentException($\"The file '{readmePath}' could not be found.\");\n\n                var fileExtensions = new string[] { \".csv\", \".md\" };\n\n                foreach (var fullFileName in Directory.EnumerateFiles(rootDirectory))\n                {\n                    if (!fileExtensions.Any(x => fullFileName.EndsWith(x)))\n                        continue;\n\n                    var fileName = Path.GetFileName(fullFileName);\n\n                    var reportIndex = fileName.IndexOf(\"-report\");\n\n                    string newFileName;\n\n                    if (reportIndex != -1)\n                    {\n                        var benchmarkNameIndex = fileName.LastIndexOf(\".\", reportIndex) + 1;\n\n                        newFileName = fileName[benchmarkNameIndex..reportIndex];\n\n                        newFileName = newFileName.TrimEnd(\"Benchmark\").TrimEnd(\"Async\");\n\n                        newFileName += Path.GetExtension(fileName);\n                    }\n                    else\n                    {\n                        newFileName = fileName;\n                    }\n\n                    try\n                    {\n                        File.Copy(fullFileName, Path.Combine(benchmarkDestionationPath, newFileName), true);\n                    }\n                    catch (IOException ex)\n                    {\n                        Console.WriteLine($\"Couldn't write to the file '{Path.Combine(benchmarkDestionationPath, newFileName)}'. Error: {ex.Message}\");\n                    }\n                }\n\n                await CalculateOrmResults(ReadBenchResultFiles(benchmarkDestionationPath));\n\n                var readmeFileRawContent = await File.ReadAllTextAsync(readmePath);\n\n                var readmeFileContent = new StringBuilder(readmeFileRawContent);\n\n                string benchmarkStartMarker = \"<!--Benchmark Start-->\" + Environment.NewLine;\n                const string benchmarkEndMarker = \"<!--Benchmark End-->\";\n\n                var benchmarkStartIndex = readmeFileRawContent.IndexOf(benchmarkStartMarker) + benchmarkStartMarker.Length;\n\n                var benchmarkEndIndex = readmeFileRawContent.IndexOf(benchmarkEndMarker, benchmarkStartIndex);\n\n                readmeFileContent.Remove(benchmarkStartIndex, benchmarkEndIndex - benchmarkStartIndex);\n\n                InsertMarkdownTable(readmeFileContent, benchmarkStartIndex, new[] { \"ORM Name\", \"Composite Score\\\\*\", \"Mean Score\\\\*\", \"Allocation Score\\\\*\" }, _orms.Values.OrderBy(x => x.AllocScore + x.BenchScore).Select((x, index) => new string[] { $\"#{++index} [{x.OrmName.Name}]({x.OrmName.Link})\", Math.Round(x.AllocScore + x.BenchScore, 3).ToString(), Math.Round(x.BenchScore, 3).ToString(), Math.Round(x.AllocScore, 3).ToString() }));\n\n                await File.WriteAllTextAsync(readmePath, readmeFileContent.ToString());\n            }\n            else\n            {\n                await CalculateOrmResults(ReadBenchResultFiles(rootDirectory));\n\n                var index = 0;\n\n                foreach (var orm in _orms.Values.OrderBy(x => x.AllocScore + x.BenchScore))\n                {\n                    Console.WriteLine($\"#{++index} {orm.OrmName.Name} - {Math.Round(orm.AllocScore + orm.BenchScore, 3)}. Mean Score: {Math.Round(orm.BenchScore, 3)}, Allocation Score: {Math.Round(orm.AllocScore, 3) }.\");\n                }\n\n                Console.ReadKey();\n            }\n        }\n\n        private static async IAsyncEnumerable<List<BenchResult>> ReadBenchResultFiles(string rootDirectory)\n        {\n            var benchResults = new List<BenchResult>();\n            string? lastJobName = null;\n            int? lastBatchCount = null;\n\n            foreach (var fullFileName in Directory.EnumerateFiles(rootDirectory, \"*.csv\", SearchOption.TopDirectoryOnly))\n            {\n                var isBatch = fullFileName.Contains(\"Batch\");\n\n                using var reader = new StreamReader(fullFileName);\n                using var csv = new CsvReader(reader, isBatch ? new CsvConfiguration(CultureInfo.InvariantCulture) { MissingFieldFound = new MissingFieldFound(e => { }) } : new CsvConfiguration(CultureInfo.InvariantCulture));\n\n                var benchRecordResults = isBatch ? csv.GetRecordsAsync<BatchBenchResult>() : csv.GetRecordsAsync<BenchResult>();\n\n                await foreach (var benchResult in benchRecordResults)\n                {\n                    var batchBenchResult = benchResult as BatchBenchResult;\n\n                    if ((batchBenchResult is not null && batchBenchResult.BatchCount != lastBatchCount) ||\n                        (lastJobName is not null && benchResult.Job != lastJobName))\n                    {\n                        yield return benchResults;\n\n                        benchResults = new List<BenchResult>();\n                    }\n\n                    lastJobName = benchResult.Job;\n\n                    if (batchBenchResult is not null)\n                    {\n                        lastBatchCount = batchBenchResult.BatchCount;\n                    }\n\n                    benchResults.Add(benchResult);\n                }\n\n                yield return benchResults;\n            }\n        }\n\n        private static async Task CalculateOrmResults(IAsyncEnumerable<List<BenchResult>> batchBenchResults)\n        {\n            await foreach (var batchBenchResult in batchBenchResults)\n            {\n                var lowestTime = double.MaxValue;\n                var highestTime = double.MinValue;\n                var lowestAlloc = double.MaxValue;\n                var highestAlloc = double.MinValue;\n\n                foreach (var benchResult in batchBenchResult)\n                {\n                    var benchOrmName = _ormNames.FirstOrDefault(x => benchResult.Method.IndexOf(x.Name, StringComparison.InvariantCultureIgnoreCase) != -1);\n\n                    if (benchOrmName.Name == default ||\n                        !_orms.TryGetValue(benchOrmName.Name, out var orm))\n                    {\n                        throw new InvalidOperationException($\"No ORM name in method '{benchResult.Method}' found.\");\n                    }\n\n                    var benchTime = benchResult.Mean.GetNanoSecondTime();\n                    var benchAlloc = benchResult.Allocated.GetAllocation();\n\n                    orm.AddBenchScore(benchTime, benchAlloc);\n\n                    if (lowestTime > benchTime)\n                    {\n                        lowestTime = benchTime;\n                    }\n\n                    if (highestTime < benchTime)\n                    {\n                        highestTime = benchTime;\n                    }\n\n                    if (lowestAlloc > benchAlloc)\n                    {\n                        lowestAlloc = benchAlloc;\n                    }\n\n                    if (highestAlloc < benchAlloc)\n                    {\n                        highestAlloc = benchAlloc;\n                    }\n                }\n\n                foreach (var orm in _orms.Values)\n                {\n                    if (!orm.HasCurrentBench)\n                    {\n                        //orm.AddBenchScore(highestTime, highestAlloc);\n                        orm.AddBenchScore(lowestTime, lowestAlloc);\n                    }\n\n                    orm.FinishBench(lowestTime, lowestAlloc);\n                }\n            }\n        }\n\n        private static void InsertMarkdownTable(StringBuilder stringBuilder, int index, IEnumerable<string> headers, IEnumerable<IEnumerable<string>> rows)\n        {\n            int columnCount = 0;\n\n            foreach (var header in headers)\n            {\n                if (columnCount == 0)\n                {\n                    stringBuilder.Insert(index, \"| \");\n\n                    index += 2;\n                }\n                else\n                {\n                    stringBuilder.Insert(index, \" | \");\n\n                    index += 3;\n                }\n\n                stringBuilder.Insert(index, header);\n                index += header.Length;\n\n                columnCount++;\n            }\n\n            stringBuilder.Insert(index, \" |\" + Environment.NewLine);\n            index += 2 + Environment.NewLine.Length;\n\n            for (int columnIndex = 0; columnIndex < columnCount; columnIndex++)\n            {\n                if (columnIndex == 0)\n                {\n                    stringBuilder.Insert(index, \"| :- \");\n\n                    index += 5;\n                }\n                else\n                {\n                    stringBuilder.Insert(index, \"| :-: \");\n\n                    index += 6;\n                }\n            }\n\n            stringBuilder.Insert(index, \"|\" + Environment.NewLine);\n            index += 1 + Environment.NewLine.Length;\n\n            foreach (var row in rows)\n            {\n                columnCount = 0;\n\n                foreach (var rowCotent in row)\n                {\n                    if (columnCount == 0)\n                    {\n                        stringBuilder.Insert(index, \"| \");\n\n                        index += 2;\n                    }\n                    else\n                    {\n                        stringBuilder.Insert(index, \" | \");\n\n                        index += 3;\n                    }\n\n                    stringBuilder.Insert(index, rowCotent);\n                    index += rowCotent.Length;\n\n                    columnCount++;\n                }\n\n                stringBuilder.Insert(index, \" |\" + Environment.NewLine);\n                index += 2 + Environment.NewLine.Length;\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Score/StringExtensions.cs",
    "content": "﻿using System;\nusing System.Globalization;\n\nnamespace Venflow.Score\n{\n\n    public static class StringExtensions\n    {\n        public static string TrimEnd(this string source, string value)\n        {\n            if (!source.EndsWith(value))\n                return source;\n\n            return source.Remove(source.LastIndexOf(value));\n        }\n        public static double GetNanoSecondTime(this string val)\n        {\n            var splittedVal = val.Split(' ', StringSplitOptions.RemoveEmptyEntries);\n\n            if (splittedVal.Length != 2)\n            {\n                throw new InvalidOperationException($\"The format {val} is invalid.\");\n            }\n\n            var time = double.Parse(splittedVal[0], NumberStyles.Number, CultureInfo.InvariantCulture.NumberFormat);\n\n            switch (splittedVal[1])\n            {\n                case \"ns\":\n                    break;\n                case \"μs\":\n                    time *= 1000;\n                    break;\n                case \"ms\":\n                    time *= 1000000;\n                    break;\n                case \"s\":\n                    time *= 1000000000;\n                    break;\n                default:\n                    throw new InvalidOperationException($\"The time format {splittedVal[1]} is invalid.\");\n            }\n\n            return time;\n        }\n\n        public static double GetAllocation(this string val)\n        {\n            var splittedVal = val.Split(' ', StringSplitOptions.RemoveEmptyEntries);\n\n            if (splittedVal.Length != 2)\n            {\n                throw new InvalidOperationException($\"The format {val} is invalid.\");\n            }\n\n            var size = double.Parse(splittedVal[0], NumberStyles.Number, CultureInfo.InvariantCulture.NumberFormat);\n\n            switch (splittedVal[1])\n            {\n                case \"KB\":\n                    break;\n                case \"B\":\n                    size /= 1024;\n                    break;\n                default:\n                    throw new InvalidOperationException($\"The size format {splittedVal[1]} is invalid.\");\n            }\n\n            return size;\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Score/Venflow.Score.csproj",
    "content": "<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <OutputType>Exe</OutputType>\n    <TargetFramework>net6.0</TargetFramework>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"CsvHelper\" Version=\"27.1.1\" />\n  </ItemGroup>\n\n</Project>\n"
  },
  {
    "path": "test/Venflow.Shared/SecretsHandler.cs",
    "content": "﻿using System;\nusing Microsoft.Extensions.Configuration;\n\nnamespace Venflow.Shared\n{\n    public static class SecretsHandler\n    {\n        public static string GetConnectionString<T>(string type) where T : class\n        {\n            var configuration = new ConfigurationBuilder();\n\n            if (IsDevelopmentMachine(type))\n            {\n                return configuration.AddUserSecrets<T>().Build().GetConnectionString(type);\n            }\n            else\n            {\n                return configuration.AddEnvironmentVariables().Build()[$\"VENFLOW_{type.ToUpper()}_CONNECTION_STRING\"];\n            }\n        }\n\n        public static bool IsDevelopmentMachine(string type)\n            => Environment.GetEnvironmentVariable($\"VENFLOW_{type.ToUpper()}_CONNECTION_STRING\") is null;\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Shared/Venflow.Shared.csproj",
    "content": "﻿<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFrameworks>net6.0;net5.0;netcoreapp3.1;net48;netstandard2.1</TargetFrameworks>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"Microsoft.Extensions.Configuration\" Version=\"5.0.0\" />\n    <PackageReference Include=\"Microsoft.Extensions.Configuration.Abstractions\" Version=\"5.0.0\" />\n    <PackageReference Include=\"Microsoft.Extensions.Configuration.UserSecrets\" Version=\"5.0.0\" />\n    <PackageReference Include=\"Microsoft.Extensions.Configuration.EnvironmentVariables\" Version=\"5.0.0\" />\n  </ItemGroup>\n\n</Project>"
  },
  {
    "path": "test/Venflow.Tests/DatabaseTests/RelationMapping.cs",
    "content": "using System.Collections.Generic;\nusing Venflow.Modeling;\nusing Venflow.Tests.Models;\nusing Xunit;\n\nnamespace Venflow.Tests.DatabaseTests\n{\n    public class RelationMapping\n    {\n        [Fact]\n        public void ModelBuilding()\n        {\n            var relationalDb = new RelationDatabase();\n\n            VerifyModelBuildingOrder(relationalDb.Entities, false);\n        }\n\n        [Fact]\n        public void ReverseModelBuilding()\n        {\n            var reverseRelationDb = new ReverseRelationDatabase();\n\n            VerifyModelBuildingOrder(reverseRelationDb.Entities, true);\n        }\n\n        private void VerifyModelBuildingOrder(IReadOnlyDictionary<string, Entity> entities, bool isReverse)\n        {\n            Assert.True(entities.TryGetValue((isReverse ? \"Reverse\" : string.Empty) + \"Person\", out var entity));\n            Assert.NotNull(entity.Relations);\n            Assert.Equal(1, entity.Relations.Count);\n\n            var relation = entity.Relations[0];\n\n            Assert.Equal(Enums.ForeignKeyLocation.Right, relation.ForeignKeyLocation);\n            Assert.Equal(entity, relation.LeftEntity);\n            Assert.Equal((isReverse ? \"Reverse\" : string.Empty) + \"Email\", relation.RightEntity.EntityName);\n\n            var emailEntity = relation.RightEntity;\n            Assert.NotNull(emailEntity.Relations);\n            Assert.Equal(2, emailEntity.Relations.Count);\n\n            relation = emailEntity.Relations[0];\n            var relationTwo = emailEntity.Relations[1];\n\n            if (relation.RightEntity == entity)\n            {\n                Assert.Equal(Enums.ForeignKeyLocation.Left, relation.ForeignKeyLocation);\n                Assert.Equal((isReverse ? \"Reverse\" : string.Empty) + \"Person\", relation.RightEntity.EntityName);\n\n                Assert.Equal(Enums.ForeignKeyLocation.Right, relationTwo.ForeignKeyLocation);\n                Assert.Equal((isReverse ? \"Reverse\" : string.Empty) + \"EmailContent\", relationTwo.RightEntity.EntityName);\n\n                relation = relationTwo;\n            }\n            else\n            {\n                Assert.Equal(Enums.ForeignKeyLocation.Left, relationTwo.ForeignKeyLocation);\n                Assert.Equal((isReverse ? \"Reverse\" : string.Empty) + \"Person\", relationTwo.RightEntity.EntityName);\n\n                Assert.Equal(Enums.ForeignKeyLocation.Right, relation.ForeignKeyLocation);\n                Assert.Equal((isReverse ? \"Reverse\" : string.Empty) + \"EmailContent\", relation.RightEntity.EntityName);\n            }\n\n            var emailContentEntity = relation.RightEntity;\n            Assert.NotNull(emailContentEntity.Relations);\n            Assert.Equal(1, emailContentEntity.Relations.Count);\n\n            relation = emailContentEntity.Relations[0];\n\n            Assert.Equal(Enums.ForeignKeyLocation.Left, relation.ForeignKeyLocation);\n            Assert.Equal(emailContentEntity, relation.LeftEntity);\n            Assert.Equal(emailEntity, relation.RightEntity);\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/DeleteTests/BatchDelete.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Threading.Tasks;\nusing Npgsql;\nusing Venflow.Tests.Models;\nusing Xunit;\n\nnamespace Venflow.Tests.DeleteTests\n{\n    public class BatchDelete : TestBase\n    {\n        [Fact]\n        public async Task DeleteAsync()\n        {\n            var people = await InsertPeopleAsync();\n\n            await Database.People.DeleteAsync(people);\n\n            Assert.Empty(await Database.People.QueryBatch(@\"SELECT * FROM \"\"People\"\" WHERE \"\"People\"\".\"\"Id\"\"=@id1 OR \"\"People\"\".\"\"Id\"\"=@id2\", new NpgsqlParameter(\"@id1\", people[0].Id), new NpgsqlParameter(\"@id2\", people[1].Id)).Build().QueryAsync());\n        }\n\n        private async Task<List<Person>> InsertPeopleAsync()\n        {\n            var people = new List<Person>();\n\n            people.Add(new Person { Name = \"None1\" });\n            people.Add(new Person { Name = \"None2\" });\n\n            await Database.People.InsertAsync(people);\n\n            return people;\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/DeleteTests/SingleDelete.cs",
    "content": "using System.Threading.Tasks;\nusing Npgsql;\nusing Venflow.Tests.Models;\nusing Xunit;\n\nnamespace Venflow.Tests.DeleteTests\n{\n    public class SingleDelete : TestBase\n    {\n        [Fact]\n        public async Task DeleteAsync()\n        {\n            var person = await InsertPersonAsync();\n\n            await Database.People.DeleteAsync(person);\n\n            Assert.Null(await Database.People.QuerySingle(@\"SELECT * FROM \"\"People\"\" WHERE \"\"People\"\".\"\"Id\"\"=@id\", new NpgsqlParameter(\"@id\", person.Id)).Build().QueryAsync());\n        }\n\n        private async Task<Person> InsertPersonAsync()\n        {\n            var person = new Person { Name = \"None\" };\n\n            await Database.People.InsertAsync(person);\n\n            return person;\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/GeneratorTests/KeyGenerationTests.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Reflection;\nusing Microsoft.CodeAnalysis;\nusing Microsoft.CodeAnalysis.CSharp;\nusing Venflow.Generators;\nusing Xunit;\n\nnamespace Venflow.Tests.GeneratorTests\n{\n    public class KeyGeneration\n    {\n        [Theory]\n        [InlineData(typeof(int))]\n        [InlineData(typeof(decimal))]\n        [InlineData(typeof(string))]\n        [InlineData(typeof(Guid))]\n        public void GenerateKey(Type underlyingKeyType)\n        {\n            var inputCompilation = CreateCompilation(\n$@\"using Venflow;\n\nnamespace MyCode\n{{\n    public class Program\n    {{\n        public static void Main(string[] args)\n        {{\n        }}\n    }}\n\n    [GeneratedKey(typeof({underlyingKeyType.FullName}))]\n    public partial struct Key<T> {{ }}\n}}\", typeof(IKey).Assembly, typeof(System.Text.Json.JsonSerializer).Assembly, typeof(Venflow.NewtonsoftJson.NewtonsoftJsonKeyConverter).Assembly);\n\n            var generator = new KeyGenerator();\n\n            var driver = (GeneratorDriver)CSharpGeneratorDriver.Create(generator);\n\n            driver = driver.RunGeneratorsAndUpdateCompilation(inputCompilation, out var outputCompilation, out var diagnostics);\n\n            Assert.Empty(diagnostics);\n            Assert.Equal(3, outputCompilation.SyntaxTrees.Count());\n            Assert.Empty(outputCompilation.GetDiagnostics().Where(x => x.Severity == DiagnosticSeverity.Error));\n\n            var runResult = driver.GetRunResult();\n\n            Assert.Equal(2, runResult.GeneratedTrees.Count());\n            Assert.Empty(runResult.Diagnostics.Where(x => x.Severity == DiagnosticSeverity.Error));\n\n            var generatorResult = runResult.Results.First();\n\n            Assert.Equal(generator, generatorResult.Generator);\n            Assert.Empty(generatorResult.Diagnostics.Where(x => x.Severity == DiagnosticSeverity.Error));\n            Assert.Equal(2, generatorResult.GeneratedSources.Count());\n            Assert.Null(generatorResult.Exception);\n        }\n\n        private static Compilation CreateCompilation(string source, params Assembly[] references)\n        {\n            var loadedAssemblies = new List<Assembly>(AppDomain.CurrentDomain.GetAssemblies());\n            var effectiveReferences = new List<Assembly>();\n\n            foreach (var assembly in references.Union(new[] { typeof(Binder).Assembly, typeof(IConvertible).Assembly, Assembly.Load(new AssemblyName(\"netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51\")) }))\n            {\n                var referencedAssemblies = assembly.GetReferencedAssemblies();\n\n                effectiveReferences.Add(assembly);\n\n                foreach (var referencedAssemblyName in referencedAssemblies)\n                {\n                    var referencedAssembly = loadedAssemblies.FirstOrDefault(x => x.FullName == referencedAssemblyName.FullName);\n\n                    if (referencedAssembly is null)\n                    {\n                        referencedAssembly = Assembly.Load(referencedAssemblyName);\n\n                        loadedAssemblies.Add(referencedAssembly);\n\n                        effectiveReferences.Add(referencedAssembly);\n                    }\n                    else if (!effectiveReferences.Any(x => x.FullName == referencedAssembly.FullName))\n                    {\n                        effectiveReferences.Add(referencedAssembly);\n                    }\n                }\n            }\n\n            return CSharpCompilation.Create(\"compilation\", new[] { CSharpSyntaxTree.ParseText(source) }, effectiveReferences.Select(x => MetadataReference.CreateFromFile(x.Location)), new CSharpCompilationOptions(OutputKind.ConsoleApplication, nullableContextOptions: NullableContextOptions.Enable));\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/InsertTests/BatchInsert.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Venflow.Tests.Models;\nusing Xunit;\n\nnamespace Venflow.Tests.InsertTests\n{\n    public class BatchInsert : TestBase\n    {\n        [Fact]\n        public async Task InsertWithNoRelationAsync()\n        {\n            var people = GetPeople();\n\n            var insertCount = await Database.People.Insert().InsertAsync(people);\n\n            Assert.Equal(2, insertCount);\n\n            Assert.Equal(2, await Database.People.DeleteAsync(people));\n        }\n\n        [Fact]\n        public async Task InsertWithNoRelationNoPKAsync()\n        {\n            var users = new List<User>\n            {\n                new User{ Id = 0, Name = \"Foo\" },\n                new User { Id = 1, Name = \"Bar\" }\n            };\n\n            var insertCount = await Database.Users.Insert().InsertAsync(users);\n\n            Assert.Equal(2, insertCount);\n\n            Assert.Equal(2, await Database.Users.DeleteAsync(users));\n        }\n\n        [Fact]\n        public async Task InsertWithRelationAsync()\n        {\n            var people = GetPeopleWithRelation();\n\n            var insertCount = await Database.People.InsertAsync(people);\n\n            Assert.Equal(4, insertCount);\n\n            Assert.Equal(2, await Database.People.DeleteAsync(people));\n        }\n\n        [Fact]\n        public async Task InsertWithRelationNoPKAsync()\n        {\n            var users = new List<User>\n            {\n                new User { Id = 20, Name = \"Foo\", Blogs = new List<Blog> { new Blog { Id = 21, Topic = \"BazFoo\" } } },\n                new User { Id = 22, Name = \"Bar\",  Blogs = new List<Blog> { new Blog { Id = 23, Topic = \"BazBar\" } }}\n            };\n\n            var insertCount = await Database.Users.InsertAsync(users);\n\n            Assert.Equal(4, insertCount);\n\n            Assert.Equal(2, await Database.Users.DeleteAsync(users));\n        }\n\n        [Fact]\n        public async Task InsertWithPartialRelationAsync()\n        {\n            var people = GetPeopleWithFullRelation();\n\n            var insertCount = await Database.People.Insert().With(x => x.Emails).InsertAsync(people);\n\n            Assert.Equal(4, insertCount);\n\n            Assert.Equal(2, await Database.People.DeleteAsync(people));\n        }\n\n        [Fact]\n        public async Task InsertWithPartialRelationReversedAsync()\n        {\n            var emails = GetEmailsWithFullRelation();\n\n            var insertCount = await Database.Emails.Insert().With(x => x.Person).InsertAsync(emails);\n\n            Assert.Equal(3, insertCount);\n\n            Assert.Equal(1, await Database.People.DeleteAsync(emails.First().Person));\n        }\n\n        [Fact]\n        public async Task ReverseInsertWithRelationAsync()\n        {\n            var emails = GetEmailsWithRelation();\n\n            var insertCount = await Database.Emails.InsertAsync(emails);\n\n            Assert.Equal(3, insertCount);\n\n            Assert.Equal(2, await Database.Emails.DeleteAsync(emails));\n        }\n\n        private List<Person> GetPeople()\n        {\n            var people = new List<Person>();\n\n            people.Add(new Person { Name = \"None1\" });\n            people.Add(new Person { Name = \"None2\" });\n\n            return people;\n        }\n\n        private List<Person> GetPeopleWithRelation()\n        {\n            var people = new List<Person>();\n\n            people.Add(new Person { Name = \"None1\", Emails = new List<Email> { new Email { Address = \"None1\" } } });\n            people.Add(new Person { Name = \"None2\", Emails = new List<Email> { new Email { Address = \"None2\" } } });\n\n            return people;\n        }\n\n        private List<Person> GetPeopleWithFullRelation()\n        {\n            var people = new List<Person>();\n\n            people.Add(new Person { Name = \"None1\", Emails = new List<Email> { new Email { Address = \"None1\", Contents = new List<EmailContent> { new EmailContent { Content = \"None1\" } } } } });\n            people.Add(new Person { Name = \"None2\", Emails = new List<Email> { new Email { Address = \"None2\", Contents = new List<EmailContent> { new EmailContent { Content = \"None2\" } } } } });\n\n            return people;\n        }\n\n        private List<Email> GetEmailsWithFullRelation()\n        {\n            var emails = new List<Email>();\n\n            var person = new Person { Name = \"None\" };\n\n            emails.Add(new Email { Address = \"None1\", Person = person, Contents = new List<EmailContent> { new EmailContent { Content = \"None1\" } } });\n            emails.Add(new Email { Address = \"None2\", Person = person, Contents = new List<EmailContent> { new EmailContent { Content = \"None2\" } } });\n\n            return emails;\n        }\n\n        private List<Email> GetEmailsWithRelation()\n        {\n            var emails = new List<Email>();\n\n            var person = new Person { Name = \"None\" };\n\n            emails.Add(new Email { Address = \"None1\", Person = person });\n            emails.Add(new Email { Address = \"None2\", Person = person });\n\n            return emails;\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/InsertTests/SingleInsert.cs",
    "content": "using System.Collections.Generic;\nusing System.Threading.Tasks;\nusing Venflow.Tests.Models;\nusing Xunit;\n\nnamespace Venflow.Tests.InsertTests\n{\n    public class SingleInsert : TestBase\n    {\n        [Fact]\n        public async Task InsertIndividualRelationAsync()\n        {\n            var person = GetPerson();\n\n            var insertCount = await Database.People.InsertAsync(person);\n\n            Assert.Equal(1, insertCount);\n\n            var email = new Email { Address = \"None\", PersonId = person.Id };\n\n            insertCount = await Database.Emails.InsertAsync(email);\n\n            Assert.Equal(1, insertCount);\n\n            Assert.Equal(1, await Database.People.DeleteAsync(person));\n        }\n\n        [Fact]\n        public async Task InsertWithNoRelationAsync()\n        {\n            var person = GetPerson();\n\n            var insertCount = await Database.People.InsertAsync(person);\n\n            Assert.Equal(1, insertCount);\n\n            Assert.Equal(1, await Database.People.DeleteAsync(person));\n        }\n\n        [Fact]\n        public async Task InsertWithNoRelationNoPKAsync()\n        {\n            var user = new User { Id = 0, Name = \"Foo\" };\n\n            var insertCount = await Database.Users.Insert().InsertAsync(user);\n\n            Assert.Equal(1, insertCount);\n\n            Assert.Equal(1, await Database.Users.DeleteAsync(user));\n        }\n\n        [Fact]\n        public async Task InsertWithRelationNoPKAsync()\n        {\n            var user = new User\n            {\n                Id = 10,\n                Name = \"Foo\",\n                Blogs = new List<Blog> { new Blog { Id = 11, Topic = \"BazFoo\" } }\n            };\n\n            var insertCount = await Database.Users.Insert().With(x => x.Blogs).InsertAsync(user);\n\n            Assert.Equal(2, insertCount);\n\n            Assert.Equal(1, await Database.Users.DeleteAsync(user));\n        }\n\n        [Fact]\n        public async Task InsertWithPartialRelationAsync()\n        {\n            var person = GetPersonWithFullRelation();\n\n            var insertCount = await Database.People.Insert().With(x => x.Emails).InsertAsync(person);\n\n            Assert.Equal(2, insertCount);\n\n            Assert.Equal(1, await Database.People.DeleteAsync(person));\n        }\n\n        [Fact]\n        public async Task InsertWithPartialRelationReversedAsync()\n        {\n            var email = GetEmailWithFullRelation();\n\n            var insertCount = await Database.Emails.Insert().With(x => x.Person).InsertAsync(email);\n\n            Assert.Equal(2, insertCount);\n\n            Assert.Equal(1, await Database.People.DeleteAsync(email.Person));\n        }\n\n        [Fact]\n        public async Task InsertWithRelationAsync()\n        {\n            var person = GetPersonWithRelation();\n\n            var insertCount = await Database.People.InsertAsync(person);\n\n            Assert.Equal(2, insertCount);\n\n            Assert.Equal(1, await Database.People.DeleteAsync(person));\n        }\n\n        [Fact]\n        public async Task ReverseInsertWithRelationAsync()\n        {\n            var email = GetEmailWithRelation();\n\n            var insertCount = await Database.Emails.InsertAsync(email);\n\n            Assert.Equal(2, insertCount);\n\n            Assert.Equal(1, await Database.Emails.DeleteAsync(email));\n        }\n\n        private Person GetPerson()\n        {\n            return new Person { Name = \"None\" };\n        }\n\n        private Person GetPersonWithRelation()\n        {\n            return new Person { Name = \"None\", Emails = new List<Email> { new Email { Address = \"None\" } } };\n        }\n\n        private Person GetPersonWithFullRelation()\n        {\n            return new Person { Name = \"None\", Emails = new List<Email> { new Email { Address = \"None\", Contents = new List<EmailContent> { new EmailContent { Content = \"None\" } } } } };\n        }\n\n        private Email GetEmailWithRelation()\n        {\n            return new Email { Address = \"None\", Person = new Person { Name = \"None\" } };\n        }\n\n        private Email GetEmailWithFullRelation()\n        {\n            return new Email { Address = \"None\", Person = new Person { Name = \"None\" }, Contents = new List<EmailContent> { new EmailContent { Content = \"None\" } } };\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/JsonTests/KeyConverter.cs",
    "content": "﻿using System;\nusing System.ComponentModel;\nusing Venflow.Tests.Keys;\nusing Venflow.Tests.Models;\nusing Xunit;\n\nnamespace Venflow.Tests.JsonTests\n{\n    public class KeyConverter : TestBase\n    {\n        [Fact]\n        public void TwoWayParsing()\n        {\n            var uncommonType = new UncommonType\n            {\n                GuidKey = Guid.NewGuid(),\n                NGuidKey = Guid.NewGuid()\n            };\n\n            var guidConverter = TypeDescriptor.GetConverter(uncommonType.GuidKey.GetType());\n            var nullableGuidConverter = TypeDescriptor.GetConverter(uncommonType.NGuidKey.GetType());\n\n            var guidValue = guidConverter.ConvertTo(uncommonType.GuidKey, typeof(Guid));\n            var nullableGuidValue = nullableGuidConverter.ConvertTo(uncommonType.NGuidKey, typeof(Guid));\n\n            Assert.Equal((Guid)uncommonType.GuidKey, guidValue);\n            Assert.Equal((Guid)uncommonType.NGuidKey, nullableGuidValue);\n\n            var boxedGuidValue = (Key<UncommonType, Guid>)guidConverter.ConvertFrom(guidValue);\n            var boxedNullableGuidValue = (Key<UncommonType, Guid>)guidConverter.ConvertFrom(nullableGuidValue);\n\n            Assert.Equal(uncommonType.GuidKey, boxedGuidValue);\n            Assert.Equal(uncommonType.NGuidKey, boxedNullableGuidValue);\n        }\n\n        [Fact]\n        public void TwoWayParsingOfKey()\n        {\n            var entity = new Entity();\n\n            var guidConverter = TypeDescriptor.GetConverter(entity.Key.GetType());\n            var nullableGuidConverter = TypeDescriptor.GetConverter(entity.NKey.GetType());\n\n            var guidValue = guidConverter.ConvertTo(entity.Key, typeof(Guid));\n            var nullableGuidValue = nullableGuidConverter.ConvertTo(entity.NKey, typeof(Guid));\n\n            Assert.Equal((Guid)entity.Key, guidValue);\n            Assert.Equal((Guid)entity.NKey, nullableGuidValue);\n\n            var boxedGuidValue = (Key<Entity>)guidConverter.ConvertFrom(guidValue);\n            var boxedNullableGuidValue = (Key<Entity>)guidConverter.ConvertFrom(nullableGuidValue);\n\n            Assert.Equal(entity.Key, boxedGuidValue);\n            Assert.Equal(entity.NKey, boxedNullableGuidValue);\n        }\n\n        private class Entity\n        {\n            public Key<Entity> Key { get; set; } = Guid.NewGuid();\n            public Key<Entity>? NKey { get; set; } = Guid.NewGuid();\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/JsonTests/NewtonsoftJson.cs",
    "content": "﻿using System;\nusing Newtonsoft.Json;\nusing Venflow.NewtonsoftJson;\nusing Venflow.Tests.Keys;\nusing Venflow.Tests.Models;\nusing Xunit;\n\nnamespace Venflow.Tests.JsonTests\n{\n    public class NewtonsoftJson : TestBase\n    {\n        [Fact]\n        public void TwoWayParsing()\n        {\n            var uncommonType = new UncommonType\n            {\n                GuidKey = Guid.NewGuid(),\n                NGuidKey = Guid.NewGuid()\n            };\n\n            var settings = new JsonSerializerSettings { Converters = new[] { new NewtonsoftJsonKeyConverter() } };\n\n            var value = JsonConvert.SerializeObject(uncommonType, settings);\n\n            var parsedUncommonType = JsonConvert.DeserializeObject<UncommonType>(value, settings);\n\n            Assert.NotNull(parsedUncommonType);\n\n            Assert.Equal(uncommonType.GuidKey, parsedUncommonType.GuidKey);\n            Assert.Equal(uncommonType.NGuidKey, parsedUncommonType.NGuidKey);\n        }\n\n        [Fact]\n        public void TwoWayParsingOfNull()\n        {\n            var uncommonType = new UncommonType\n            {\n                NGuidKey = null\n            };\n\n            var settings = new JsonSerializerSettings { Converters = new[] { new NewtonsoftJsonKeyConverter() } };\n\n            var value = JsonConvert.SerializeObject(uncommonType, settings);\n\n            var parsedUncommonType = JsonConvert.DeserializeObject<UncommonType>(value, settings);\n\n            Assert.NotNull(parsedUncommonType);\n\n            Assert.Equal(uncommonType.NGuidKey, parsedUncommonType.NGuidKey);\n        }\n\n        [Fact]\n        public void TwoWayParsingOfKey()\n        {\n            var entity = new Entity();\n\n            var settings = new JsonSerializerSettings { Converters = new[] { new NewtonsoftJsonKeyConverter() } };\n\n            var value = JsonConvert.SerializeObject(entity, settings);\n\n            var parsedEntity = JsonConvert.DeserializeObject<Entity>(value, settings);\n\n            Assert.NotNull(parsedEntity);\n\n            Assert.Equal(entity.Key, parsedEntity.Key);\n        }\n\n        private class Entity\n        {\n            public Key<Entity> Key { get; set; } = Guid.NewGuid();\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/JsonTests/SystemJson.cs",
    "content": "﻿using System;\nusing System.Text.Json;\nusing Venflow.Tests.Keys;\nusing Venflow.Tests.Models;\nusing Xunit;\n\nnamespace Venflow.Tests.JsonTests\n{\n    public class SystemJson : TestBase\n    {\n        [Fact]\n        public void TwoWayParsing()\n        {\n            var uncommonType = new UncommonType\n            {\n                GuidKey = Guid.NewGuid(),\n                NGuidKey = Guid.NewGuid()\n            };\n\n            var value = JsonSerializer.Serialize(uncommonType);\n\n            var parsedUncommonType = JsonSerializer.Deserialize<UncommonType>(value);\n\n            Assert.NotNull(parsedUncommonType);\n\n            Assert.Equal(uncommonType.GuidKey, parsedUncommonType.GuidKey);\n            Assert.Equal(uncommonType.NGuidKey, parsedUncommonType.NGuidKey);\n        }\n\n        [Fact]\n        public void TwoWayParsingOfNull()\n        {\n            var uncommonType = new UncommonType\n            {\n                NGuidKey = null\n            };\n\n            var value = JsonSerializer.Serialize(uncommonType);\n\n            var parsedUncommonType = JsonSerializer.Deserialize<UncommonType>(value);\n\n            Assert.NotNull(parsedUncommonType);\n\n            Assert.Equal(uncommonType.NGuidKey, parsedUncommonType.NGuidKey);\n        }\n\n        [Fact]\n        public void TwoWayParsingOfKey()\n        {\n            var entity = new Entity();\n\n            var value = JsonSerializer.Serialize(entity);\n\n            var parsedEntity = JsonSerializer.Deserialize<Entity>(value);\n\n            Assert.NotNull(parsedEntity);\n\n            Assert.Equal(entity.Key, parsedEntity.Key);\n        }\n\n        private class Entity\n        {\n            public Key<Entity> Key { get; set; } = Guid.NewGuid();\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/LogTests/LogTests.cs",
    "content": "﻿using System.Threading.Tasks;\nusing Venflow.Enums;\nusing Venflow.Tests.Models;\nusing Xunit;\n\nnamespace Venflow.Tests.LogTests\n{\n    public class LogTests : TestBase\n    {\n        [Fact]\n        public async Task LogToWrapperAsync()\n        {\n            var person = new Person { Name = \"LogTest\" };\n\n            var logCount = 0;\n\n            await Database.People.Insert().LogTo(new LoggerCallback((cmd, type, ex) =>\n            {\n                Assert.NotNull(cmd);\n                Assert.Null(ex);\n                Assert.Equal(CommandType.InsertSingle, type);\n\n                logCount++;\n            })).InsertAsync(person);\n\n            Assert.Equal(1, logCount);\n        }\n\n        [Fact]\n        public async Task LogMultipleToWrapperAsync()\n        {\n            var person = new Person { Name = \"LogTest\", Emails = new Email[] { new Email() { Address = \"LogTest\" } } };\n\n            var logCount = 0;\n\n            await Database.People.Insert().With(x => x.Emails).LogTo(new LoggerCallback((cmd, type, ex) =>\n             {\n                 Assert.NotNull(cmd);\n                 Assert.Null(ex);\n                 Assert.Equal(CommandType.InsertSingle, type);\n\n                 logCount++;\n             })).InsertAsync(person);\n\n            Assert.Equal(2, logCount);\n        }\n\n        [Fact]\n        public async Task DoNotLogMultipleToWrapperAsync()\n        {\n            var person = new Person { Name = \"LogTest\" };\n\n            var logCount = 0;\n\n            await Database.People.Insert().WithAll().LogTo(new LoggerCallback((cmd, type, ex) =>\n            {\n                Assert.NotNull(cmd);\n                Assert.Null(ex);\n                Assert.Equal(CommandType.InsertSingle, type);\n\n                logCount++;\n            })).InsertAsync(person);\n\n            Assert.Equal(1, logCount);\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/MiscTests.cs",
    "content": "﻿using System;\nusing System.Linq;\nusing Xunit;\n\nnamespace Venflow.Tests\n{\n    public class MiscTests\n    {\n        [Fact]\n        public void EnsureFormattableSqlStringBuilderUsesParameters()\n        {\n            var stringBuilder = new FormattableSqlStringBuilder();\n\n            stringBuilder.AppendInterpolatedLine($\"This {\"is\"} an interpolated {\"string\"}\");\n            stringBuilder.Append(\".\");\n            stringBuilder.AppendInterpolated($\"It parameterizes the {\"argument\"}.\");\n            stringBuilder.AppendLine(\"This are very nice numbers:\");\n            stringBuilder.AppendParameter(10);\n            stringBuilder.AppendParameter(new[] { 11, 12 });\n\n            Assert.Equal($@\"This @p0 an interpolated @p1{Environment.NewLine}.It parameterizes the @p2.This are very nice numbers:{Environment.NewLine}@p3@p4, @p5\", stringBuilder.ToString());\n\n            Assert.True(stringBuilder.Parameters.Select(x => (x.ParameterName, x.Value))\n                                    .SequenceEqual(new (string, object)[] {\n                                        (\"@p0\", \"is\"),\n                                        (\"@p1\", \"string\"),\n                                        (\"@p2\", \"argument\"),\n                                        (\"@p3\", 10),\n                                        (\"@p4\", 11),\n                                        (\"@p5\", 12),\n                                    }));\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/Models/Blog.cs",
    "content": "﻿namespace Venflow.Tests.Models\n{\n    public class Blog\n    {\n        public int Id { get; set; }\n        public string Topic { get; set; }\n\n        public int UserId { get; set; }\n        public User User { get; set; }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/Models/BlogConfiguration.cs",
    "content": "﻿using Venflow.Modeling.Definitions;\nusing Venflow.Modeling.Definitions.Builder;\n\nnamespace Venflow.Tests.Models\n{\n\n    public class BlogConfiguration : EntityConfiguration<Blog>\n    {\n        protected override void Configure(IEntityBuilder<Blog> entityBuilder)\n        {\n            entityBuilder.MapId(x => x.Id, System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.None);\n\n            entityBuilder.HasOne(x => x.User)\n                         .WithMany(x => x.Blogs)\n                         .UsingForeignKey(x => x.UserId);\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/Models/Dummy.cs",
    "content": "﻿namespace Venflow.Tests.Models\n{\n    public class Dummy\n    {\n        public int Id { get; set; }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/Models/DummyEnum.cs",
    "content": "﻿namespace Venflow.Tests.Models\n{\n    public enum DummyEnum\n    {\n        Foo,\n        Bar\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/Models/Email.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Venflow.Tests.Models\n{\n    public class Email\n    {\n        public int Id { get; set; }\n\n        public virtual string Address { get; set; }\n\n        public int PersonId { get; set; }\n\n        public Person Person { get; set; }\n\n        public List<EmailContent> Contents { get; set; }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/Models/EmailConfiguration.cs",
    "content": "﻿using Venflow.Modeling.Definitions;\nusing Venflow.Modeling.Definitions.Builder;\n\nnamespace Venflow.Tests.Models\n{\n    public class EmailConfiguration : EntityConfiguration<Email>\n    {\n        protected override void Configure(IEntityBuilder<Email> entityBuilder)\n        {\n            entityBuilder.HasMany(x => x.Contents)\n                         .WithOne(x => x.Email)\n                         .UsingForeignKey(x => x.EmailId);\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/Models/EmailContent.cs",
    "content": "﻿namespace Venflow.Tests.Models\n{\n    public class EmailContent\n    {\n        public int Id { get; set; }\n\n        public string Content { get; set; }\n\n        public int EmailId { get; set; }\n\n        public Email Email { get; set; }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/Models/Person.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.ComponentModel.DataAnnotations.Schema;\n\nnamespace Venflow.Tests.Models\n{\n    public class Person\n    {\n        public int Id { get; }\n\n        public virtual string? Name { get; set; }\n\n        public string Something { get; }\n        public string SomethingElse { get; private set; } = \"SomethingElse\";\n        public DateTime DefaultValue { get; set; }\n\n        [NotMapped]\n        public string Stuff { get; set; }\n\n        public IList<Email> Emails { get; set; }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/Models/PersonConfiguration.cs",
    "content": "﻿using Venflow.Modeling.Definitions;\nusing Venflow.Modeling.Definitions.Builder;\n\nnamespace Venflow.Tests.Models\n{\n    public class PersonConfiguration : EntityConfiguration<Person>\n    {\n        protected override void Configure(IEntityBuilder<Person> entityBuilder)\n        {\n            entityBuilder.HasMany(x => x.Emails)\n                         .WithOne(x => x.Person)\n                         .UsingForeignKey(x => x.PersonId);\n\n            entityBuilder.Column(x => x.DefaultValue)\n                         .HasDefault();\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/Models/PostgreEnum.cs",
    "content": "﻿namespace Venflow.Tests.Models\n{\n    public enum PostgreEnum\n    {\n        Foo,\n        Bar\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/Models/RelationDatabase.cs",
    "content": "﻿using Venflow.Shared;\n\nnamespace Venflow.Tests.Models\n{\n    public class RelationDatabase : Database\n    {\n        public Table<Person> People { get; set; }\n        public Table<Email> Emails { get; set; }\n        public Table<EmailContent> EmailContents { get; set; }\n\n        public Table<UncommonType> UncommonTypes { get; set; }\n        public Table<User> Users { get; set; }\n        public Table<Blog> Blogs { get; set; }\n\n        public RelationDatabase() : base(SecretsHandler.GetConnectionString<RelationDatabase>(\"Tests\"))\n        {\n            UnitTestHandler.Init(this);\n        }\n\n        protected override void Configure(DatabaseConfigurationOptionsBuilder optionsBuilder)\n        {\n            optionsBuilder.RegisterPostgresEnum<PostgreEnum>();\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/Models/ReverseEmail.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Venflow.Tests.Models\n{\n    public class ReverseEmail\n    {\n        public int Id { get; set; }\n\n        public string Address { get; set; }\n\n        public int PersonId { get; set; }\n\n        public ReversePerson Person { get; set; }\n\n        public List<ReverseEmailContent> Contents { get; set; }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/Models/ReverseEmailConfiguration.cs",
    "content": "﻿using Venflow.Modeling.Definitions;\nusing Venflow.Modeling.Definitions.Builder;\n\nnamespace Venflow.Tests.Models\n{\n    public class ReverseEmailConfiguration : EntityConfiguration<ReverseEmail>\n    {\n        protected override void Configure(IEntityBuilder<ReverseEmail> entityBuilder)\n        {\n            entityBuilder.HasOne(x => x.Person)\n                         .WithMany(x => x.Emails)\n                         .UsingForeignKey(x => x.PersonId);\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/Models/ReverseEmailContent.cs",
    "content": "﻿namespace Venflow.Tests.Models\n{\n    public class ReverseEmailContent\n    {\n        public int Id { get; set; }\n\n        public string Content { get; set; }\n\n        public int EmailId { get; set; }\n\n        public ReverseEmail Email { get; set; }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/Models/ReverseEmailContentConfiguration.cs",
    "content": "﻿using Venflow.Modeling.Definitions;\nusing Venflow.Modeling.Definitions.Builder;\n\nnamespace Venflow.Tests.Models\n{\n    public class ReverseEmailContentConfiguration : EntityConfiguration<ReverseEmailContent>\n    {\n        protected override void Configure(IEntityBuilder<ReverseEmailContent> entityBuilder)\n        {\n            entityBuilder.HasOne(x => x.Email)\n                         .WithMany(x => x.Contents)\n                         .UsingForeignKey(x => x.EmailId);\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/Models/ReversePerson.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Venflow.Tests.Models\n{\n    public class ReversePerson\n    {\n        public int Id { get; set; }\n\n        public virtual string Name { get; set; }\n\n        public List<ReverseEmail> Emails { get; set; }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/Models/ReverseRelationDatabase.cs",
    "content": "﻿using Venflow.Shared;\n\nnamespace Venflow.Tests.Models\n{\n    public class ReverseRelationDatabase : Database\n    {\n        public Table<ReversePerson> People { get; set; }\n        public Table<ReverseEmail> Emails { get; set; }\n        public Table<ReverseEmailContent> EmailContents { get; set; }\n\n        public ReverseRelationDatabase() : base(SecretsHandler.GetConnectionString<ReverseRelationDatabase>(\"Tests\"))\n        {\n            UnitTestHandler.Init(this);\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/Models/UncommonType.cs",
    "content": "﻿using System;\n\nnamespace Venflow.Tests.Models\n{\n    public class UncommonType\n    {\n        public Guid Id { get; set; }\n\n        public virtual Key<UncommonType, Guid> GuidKey { get; set; }\n        public virtual Key<UncommonType, Guid>? NGuidKey { get; set; }\n\n        public virtual Key<UncommonType, ulong> CLRUInt64Key { get; set; }\n        public virtual Key<UncommonType, ulong>? NCLRUInt64Key { get; set; }\n\n        public virtual Guid CLRGuid { get; set; }\n        public virtual Guid? NCLRGuid { get; set; }\n\n        public virtual DummyEnum CLREnum { get; set; }\n        public virtual DummyEnum? NCLREnum { get; set; }\n\n        public virtual PostgreEnum PostgreEnum { get; set; }\n        public virtual PostgreEnum? NPostgreEnum { get; set; }\n\n        public virtual ulong CLRUInt64 { get; set; }\n        public virtual ulong? NCLRUInt64 { get; set; }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/Models/User.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Venflow.Tests.Models\n{\n    public class User\n    {\n        public int Id { get; set; }\n\n        public string Name { get; set; }\n\n        public IList<Blog> Blogs { get; set; }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/Models/UserConfiguration.cs",
    "content": "﻿using Venflow.Modeling.Definitions;\nusing Venflow.Modeling.Definitions.Builder;\n\nnamespace Venflow.Tests.Models\n{\n    public class UserConfiguration : EntityConfiguration<User>\n    {\n        protected override void Configure(IEntityBuilder<User> entityBuilder)\n        {\n            entityBuilder.MapId(x => x.Id, System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.None);\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/QueryTests/BatchQuery.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\nusing Npgsql;\nusing Venflow.Tests.Models;\nusing Xunit;\nusing Xunit.Priority;\n\nnamespace Venflow.Tests.QueryTests\n{\n    [TestCaseOrderer(PriorityOrderer.Name, PriorityOrderer.Assembly)]\n    public class BatchQuery : TestBase\n    {\n        [Fact, Priority(0)]\n        public async Task QueryWithRelationAndNoIncludeAsync()\n        {\n            var people = await InsertPeopleWithRelationAsync();\n\n            Database.People.ClearMaterializerCache();\n\n            await Assert.ThrowsAsync<InvalidOperationException>(() =>\n            {\n                return Database.People.QueryBatch(@\"SELECT * FROM \"\"People\"\" INNER JOIN \"\"Emails\"\" ON \"\"Emails\"\".\"\"PersonId\"\" = \"\"People\"\".\"\"Id\"\" WHERE \"\"People\"\".\"\"Id\"\"=@id1 OR \"\"People\"\".\"\"Id\"\"=@id2\", new NpgsqlParameter(\"@id1\", people[0].Id), new NpgsqlParameter(\"@id2\", people[1].Id)).Build().QueryAsync();\n            });\n\n            await Database.People.DeleteAsync(people);\n        }\n\n        [Fact, Priority(1)]\n        public async Task QueryWithNoRelationAndIncludeAsync()\n        {\n            var people = await InsertPeopleAsync();\n\n            Database.People.ClearMaterializerCache();\n\n            await Assert.ThrowsAsync<InvalidOperationException>(() =>\n            {\n                return Database.People.QueryBatch(@\"SELECT * FROM \"\"People\"\" WHERE \"\"People\"\".\"\"Id\"\"=@id1 OR \"\"People\"\".\"\"Id\"\"=@id2\", new NpgsqlParameter(\"@id1\", people[0].Id), new NpgsqlParameter(\"@id2\", people[1].Id)).AddFormatter().JoinWith(x => x.Emails).Build().QueryAsync();\n            });\n\n            await Database.People.DeleteAsync(people);\n        }\n\n        [Fact]\n        public async Task QueryWithNoRelationAndNoResultAsync()\n        {\n            var queriedPeople = await Database.People.QueryInterpolatedBatch($@\"SELECT * FROM \"\"People\"\" WHERE \"\"People\"\".\"\"Id\"\"={-1}\").Build().QueryAsync();\n\n            Assert.Empty(queriedPeople);\n        }\n\n        [Fact]\n        public async Task QueryWithNoRelationAsync()\n        {\n            var people = await InsertPeopleAsync();\n\n            var queriedPeople = await Database.People.QueryBatch(@\"SELECT * FROM \"\"People\"\" WHERE \"\"People\"\".\"\"Id\"\"=@id1 OR \"\"People\"\".\"\"Id\"\"=@id2\", new NpgsqlParameter(\"@id1\", people[0].Id), new NpgsqlParameter(\"@id2\", people[1].Id)).Build().QueryAsync();\n\n            Assert.NotNull(queriedPeople);\n            Assert.Equal(people.Count, queriedPeople.Count);\n\n            for (int i = 0; i < queriedPeople.Count; i++)\n            {\n                Assert.Equal(people[i].Id, queriedPeople[i].Id);\n                Assert.Equal(people[i].Name, queriedPeople[i].Name);\n                Assert.NotEqual(people[i].DefaultValue, queriedPeople[i].DefaultValue);\n                Assert.Null(queriedPeople[i].Emails);\n            }\n\n            await Database.People.DeleteAsync(people);\n        }\n\n        [Fact]\n        public async Task QueryWithRelationAsync()\n        {\n            var people = await InsertPeopleWithRelationAsync();\n\n            var queriedPeople = await Database.People.QueryBatch(@\"SELECT * FROM \"\"People\"\">< WHERE \"\"People\"\".\"\"Id\"\"=@id1 OR \"\"People\"\".\"\"Id\"\"=@id2\", new NpgsqlParameter(\"@id1\", people[0].Id), new NpgsqlParameter(\"@id2\", people[1].Id)).AddFormatter().JoinWith(x => x.Emails).Build().QueryAsync();\n\n            Assert.NotNull(queriedPeople);\n            Assert.Equal(people.Count, queriedPeople.Count);\n\n            for (int i = 0; i < queriedPeople.Count; i++)\n            {\n                Assert.Equal(people[i].Id, queriedPeople[i].Id);\n                Assert.Equal(people[i].Name, queriedPeople[i].Name);\n                Assert.NotEqual(people[i].DefaultValue, queriedPeople[i].DefaultValue);\n\n                Assert.NotNull(queriedPeople[i].Emails);\n                Assert.Single(queriedPeople[i].Emails);\n\n                var email = queriedPeople[i].Emails[0];\n\n                Assert.Equal(people[i].Emails[0].Id, email.Id);\n                Assert.Equal(people[i].Emails[0].Address, email.Address);\n                Assert.Equal(people[i].Emails[0].PersonId, email.PersonId);\n            }\n\n            await Database.People.DeleteAsync(people);\n        }\n\n        private async Task<List<Person>> InsertPeopleAsync()\n        {\n            var people = new List<Person>();\n\n            people.Add(new Person { Name = \"None1\" });\n            people.Add(new Person { Name = \"None2\" });\n\n            await Database.People.InsertAsync(people);\n\n            return people;\n        }\n\n        private async Task<List<Person>> InsertPeopleWithRelationAsync()\n        {\n            var people = new List<Person>();\n\n            people.Add(new Person { Name = \"None1\", Emails = new List<Email> { new Email { Address = \"None1\" } } });\n            people.Add(new Person { Name = \"None2\", Emails = new List<Email> { new Email { Address = \"None2\" } } });\n\n            await Database.People.InsertAsync(people);\n\n            return people;\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/QueryTests/CustomQuery.cs",
    "content": "using System.Threading.Tasks;\nusing Xunit;\nusing Xunit.Priority;\n\nnamespace Venflow.Tests.QueryTests\n{\n    [TestCaseOrderer(PriorityOrderer.Name, PriorityOrderer.Assembly)]\n    public class CustomQuery : TestBase\n    {\n        [Fact]\n        public async Task QueryWithNoRelationAsync()\n        {\n            var customResponse = await Database.Custom<CustomResponse>()\n                                               .QuerySingle(@\"SELECT Count(\"\"Id\"\") As \"\"Count\"\" FROM \"\"People\"\"\")\n                                               .QueryAsync();\n\n            Assert.NotNull(customResponse);\n            Assert.NotNull(customResponse.Count);\n        }\n\n        [Fact]\n        public async Task QueryBatchWithNoRelationAsync()\n        {\n            var customResponse = await Database.Custom<CustomResponse>()\n                                               .QueryBatch(@\"SELECT Count(\"\"Id\"\") As \"\"Count\"\" FROM \"\"People\"\"\")\n                                               .QueryAsync();\n\n            Assert.Single(customResponse);\n            Assert.NotNull(customResponse[0]);\n            Assert.NotNull(customResponse[0].Count);\n        }\n    }\n\n    public class CustomResponse\n    {\n        public long? Count { get; set; }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/QueryTests/ExpressionQuery.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Threading.Tasks;\nusing Npgsql;\nusing Venflow.Tests.Models;\nusing Xunit;\n\nnamespace Venflow.Tests.QueryTests\n{\n    public class ExpressionQuery : TestBase\n    {\n        [Fact]\n        public async Task QueryWithExpressionAndCustomAsync()\n        {\n            var customResponse = await Database.Custom<CustomResponse>()\n                                               .QuerySingle<Person>((_, x) => $@\"SELECT Count({x.Id}) As \"\"Count\"\" FROM {x}\")\n                                               .QueryAsync();\n\n            Assert.NotNull(customResponse);\n            Assert.NotNull(customResponse.Count);\n        }\n\n        [Fact]\n        public async Task QueryWithExpressionAsync()\n        {\n            var person = await InsertPersonAsync();\n\n            var queriedPerson = await Database.People.QuerySingle(x => $\"SELECT * FROM {x} WHERE {x.Id} = {person.Id}\").QueryAsync();\n\n            Assert.NotNull(queriedPerson);\n\n            Assert.Equal(person.Id, queriedPerson.Id);\n            Assert.Equal(person.Name, queriedPerson.Name);\n            Assert.Null(queriedPerson.Emails);\n\n            await Database.People.DeleteAsync(person);\n        }\n\n        [Fact]\n        public async Task QueryWithRelationsExpressionAsync()\n        {\n            var people = await InsertPeopleWithRelationAsync();\n\n            var queriedPeople = await Database.People.QueryBatch<Email>((x, y) => $\"SELECT * FROM {x} LEFT JOIN {y} ON {y.PersonId} = {x.Id} WHERE {x.Id} = {people[0].Id} OR {x.Id} = {people[1].Id}\").JoinWith(x => x.Emails).QueryAsync();\n\n            Assert.NotNull(queriedPeople);\n            Assert.Equal(people.Count, queriedPeople.Count);\n\n            for (int i = 0; i < queriedPeople.Count; i++)\n            {\n                Assert.Equal(people[i].Id, queriedPeople[i].Id);\n                Assert.Equal(people[i].Name, queriedPeople[i].Name);\n\n                Assert.NotNull(queriedPeople[i].Emails);\n                Assert.Single(queriedPeople[i].Emails);\n\n                var email = queriedPeople[i].Emails[0];\n\n                Assert.Equal(people[i].Emails[0].Id, email.Id);\n                Assert.Equal(people[i].Emails[0].Address, email.Address);\n                Assert.Equal(people[i].Emails[0].PersonId, email.PersonId);\n            }\n\n            await Database.People.DeleteAsync(people);\n        }\n\n        [Theory]\n        [InlineData(0)]\n        [InlineData(1)]\n        public async Task QueryWithExpressionAndLocalsAsync(int parameterValue)\n        {\n            var value = 0;\n            var descreteValue1 = 0;\n            string commandText = null!;\n\n            await Assert.ThrowsAsync<PostgresException>(() => Database.People.QuerySingle(x => $\"sample query {0} {value} {descreteValue1} {parameterValue}\")\n                .LogTo((x, _, _) =>\n                {\n                    commandText = x.GetUnParameterizedCommandText();\n                }).QueryAsync());\n\n            Assert.Equal($\"sample query '0' '0' '0' '{parameterValue}'\", commandText);\n\n            value = 1;\n            var descreteValue2 = 1;\n\n            await Assert.ThrowsAsync<PostgresException>(() => Database.People.QuerySingle(x => $\"sample query {1} {value} {descreteValue2} {parameterValue}\")\n                 .LogTo((x, _, _) =>\n                 {\n                     commandText = x.GetUnParameterizedCommandText();\n                 }).QueryAsync());\n\n            Assert.Equal($\"sample query '1' '1' '1' '{parameterValue}'\", commandText);\n        }\n\n        [Fact]\n        public async Task QueryWithExpressionAndThisAsync()\n        {\n            string commandText = null!;\n\n            await Assert.ThrowsAsync<PostgresException>(() => Database.People.QuerySingle(x => $\"sample query {SampleMethod(0)}\")\n                .LogTo((x, _, _) =>\n                {\n                    commandText = x.GetUnParameterizedCommandText();\n                }).QueryAsync());\n\n            Assert.Equal($\"sample query '0'\", commandText);\n\n\n            await Assert.ThrowsAsync<PostgresException>(() => Database.People.QuerySingle(x => $\"sample query {SampleMethod(1)}\")\n                 .LogTo((x, _, _) =>\n                 {\n                     commandText = x.GetUnParameterizedCommandText();\n                 }).QueryAsync());\n\n            Assert.Equal($\"sample query '1'\", commandText);\n        }\n\n        public async Task QueryWithExpressionAndLocalsAndThisAsync(int parameterValue)\n        {\n            var value = 0;\n            var descreteValue1 = 0;\n            string commandText = null!;\n\n            await Assert.ThrowsAsync<PostgresException>(() => Database.People.QuerySingle(x => $\"sample query {0} {value} {descreteValue1} {SampleMethod(0)} {parameterValue}\")\n                .LogTo((x, _, _) =>\n                {\n                    commandText = x.GetUnParameterizedCommandText();\n                }).QueryAsync());\n\n            Assert.Equal($\"sample query '0' '0' '0' '0' '{parameterValue}'\", commandText);\n\n            value = 1;\n            var descreteValue2 = 1;\n\n            await Assert.ThrowsAsync<PostgresException>(() => Database.People.QuerySingle(x => $\"sample query {1} {value} {descreteValue2} {SampleMethod(1)} {parameterValue}\")\n                 .LogTo((x, _, _) =>\n                 {\n                     commandText = x.GetUnParameterizedCommandText();\n                 }).QueryAsync());\n\n            Assert.Equal($\"sample query '1' '1' '1' '1' '{parameterValue}'\", commandText);\n        }\n\n        [Fact]\n        public async Task QueryWithExpressionAndDbTypeAsync()\n        {\n            var person = await InsertPersonAsync();\n\n            var queriedPerson = await Database.People.QuerySingle(x => $\"SELECT * FROM {x} WHERE {x.Id} = {person.Id,VenflowDbType.Integer}\").QueryAsync();\n\n            Assert.NotNull(queriedPerson);\n\n            Assert.Equal(person.Id, queriedPerson.Id);\n            Assert.Equal(person.Name, queriedPerson.Name);\n            Assert.Null(queriedPerson.Emails);\n\n            await Database.People.DeleteAsync(person);\n        }\n\n        private int SampleMethod(int value)\n            => value;\n\n        private async Task<Person> InsertPersonAsync()\n        {\n            var person = new Person { Name = \"None\" };\n\n            await Database.People.InsertAsync(person);\n\n            return person;\n        }\n\n        private async Task<List<Person>> InsertPeopleWithRelationAsync()\n        {\n            var people = new List<Person>();\n\n            people.Add(new Person { Name = \"None1\", Emails = new List<Email> { new Email { Address = \"None1\" } } });\n            people.Add(new Person { Name = \"None2\", Emails = new List<Email> { new Email { Address = \"None2\" } } });\n\n            await Database.People.InsertAsync(people);\n\n            return people;\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/QueryTests/SingleQuery.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\nusing Npgsql;\nusing Venflow.Tests.Models;\nusing Xunit;\nusing Xunit.Priority;\n\nnamespace Venflow.Tests.QueryTests\n{\n    [TestCaseOrderer(PriorityOrderer.Name, PriorityOrderer.Assembly)]\n    public class SingleQuery : TestBase\n    {\n        [Fact]\n        public async Task QueryWithNoRelationAsync()\n        {\n            var person = await InsertPersonAsync();\n\n            var queriedPerson = await Database.People.QuerySingle(@\"SELECT * FROM \"\"People\"\" WHERE \"\"People\"\".\"\"Id\"\"=@id\", new NpgsqlParameter(\"@id\", person.Id)).Build().QueryAsync();\n\n            Assert.NotNull(queriedPerson);\n\n            Assert.Equal(person.Id, queriedPerson.Id);\n            Assert.Equal(person.Name, queriedPerson.Name);\n            Assert.NotEqual(person.DefaultValue, queriedPerson.DefaultValue);\n            Assert.Null(queriedPerson.Emails);\n\n            await Database.People.DeleteAsync(person);\n        }\n\n        [Fact]\n        public async Task QueryWithLogger()\n        {\n            var person = await InsertPersonAsync();\n\n            var hasLogHit = false;\n\n            var queriedPerson = await Database.People.QueryInterpolatedSingle(@$\"SELECT * FROM \"\"People\"\" WHERE \"\"People\"\".\"\"Id\"\" = {person.Id}\").LogTo((cmd, _, _) =>\n            {\n                hasLogHit = true;\n\n                Assert.DoesNotContain(\"@p1\", cmd.GetUnParameterizedCommandText());\n            }).QueryAsync();\n\n            Assert.True(hasLogHit);\n\n            Assert.NotNull(queriedPerson);\n\n            Assert.Equal(person.Id, queriedPerson.Id);\n            Assert.Equal(person.Name, queriedPerson.Name);\n            Assert.NotEqual(person.DefaultValue, queriedPerson.DefaultValue);\n            Assert.Null(queriedPerson.Emails);\n\n            await Database.People.DeleteAsync(person);\n        }\n\n        [Fact]\n        public async Task QueryWithInterpolatedArray()\n        {\n            var person = await InsertPersonAsync();\n\n            var queriedPerson = await Database.ExecuteInterpolatedAsync<long>($@\"SELECT COUNT(1) FROM \"\"People\"\" WHERE \"\"People\"\".\"\"Id\"\" IN ({new[] { person.Id, new Random().Next() }})\");\n\n            Assert.Equal(1, queriedPerson);\n        }\n\n        [Fact]\n        public async Task QueryWithMissingColumnAsync()\n        {\n            var person = await InsertPersonAsync();\n\n            var queriedPerson = await Database.People.QuerySingle(@\"SELECT \"\"Id\"\" FROM \"\"People\"\" WHERE \"\"People\"\".\"\"Id\"\"=@id\", new NpgsqlParameter(\"@id\", person.Id)).Build().QueryAsync();\n\n            Assert.NotNull(queriedPerson);\n\n            Assert.Equal(person.Id, queriedPerson.Id);\n            Assert.Null(queriedPerson.Name);\n            Assert.NotEqual(person.Name, queriedPerson.Name);\n            Assert.Null(queriedPerson.Emails);\n            Assert.Equal(person.DefaultValue, queriedPerson.DefaultValue);\n\n            await Database.People.DeleteAsync(person);\n        }\n\n        [Fact]\n        public async Task QueryWithMissingNullColumnAsync()\n        {\n            var person = await InsertPersonWithNullAsync();\n\n            var queriedPerson = await Database.People.QuerySingle(@\"SELECT * FROM \"\"People\"\" WHERE \"\"People\"\".\"\"Id\"\"=@id\", new NpgsqlParameter(\"@id\", person.Id)).Build().QueryAsync();\n\n            Assert.NotNull(queriedPerson);\n\n            Assert.Equal(person.Id, queriedPerson.Id);\n            Assert.Equal(person.Name, queriedPerson.Name);\n            Assert.NotEqual(person.DefaultValue, queriedPerson.DefaultValue);\n            Assert.Null(queriedPerson.Emails);\n\n            await Database.People.DeleteAsync(person);\n        }\n\n        [Fact]\n        public async Task QueryWithNoRelationAndNoResultAsync()\n        {\n            var queriedPerson = await Database.People.QueryInterpolatedSingle($@\"SELECT * FROM \"\"People\"\" WHERE \"\"People\"\".\"\"Id\"\"={-1}\").Build().QueryAsync();\n\n            Assert.Null(queriedPerson);\n        }\n\n        [Fact, Priority(0)]\n        public async Task QueryWithNoRelationAndIncludeAsync()\n        {\n            var person = await InsertPersonAsync();\n\n            Database.People.ClearMaterializerCache();\n\n            await Assert.ThrowsAsync<InvalidOperationException>(() =>\n            {\n                return Database.People.QuerySingle(@\"SELECT * FROM \"\"People\"\" WHERE \"\"People\"\".\"\"Id\"\" = @id\", new NpgsqlParameter(\"@id\", person.Id)).JoinWith(x => x.Emails).Build().QueryAsync();\n            });\n\n            await Database.People.DeleteAsync(person);\n        }\n\n        [Fact]\n        public async Task QueryWithRelationAsync()\n        {\n            var person = await InsertPersonWithRelationAsync();\n\n            var queriedPerson = await Database.People.QuerySingle(@\"SELECT * FROM \"\"People\"\" JOIN \"\"Emails\"\" ON \"\"Emails\"\".\"\"PersonId\"\" = \"\"People\"\".\"\"Id\"\" WHERE \"\"People\"\".\"\"Id\"\" = @id\", new NpgsqlParameter(\"@id\", person.Id)).JoinWith(x => x.Emails).Build().QueryAsync();\n\n            Assert.NotNull(queriedPerson);\n\n            Assert.Equal(person.Id, queriedPerson.Id);\n            Assert.Equal(person.Name, queriedPerson.Name);\n            Assert.NotEqual(person.DefaultValue, queriedPerson.DefaultValue);\n\n            Assert.NotNull(queriedPerson.Emails);\n            Assert.Single(queriedPerson.Emails);\n\n            var email = queriedPerson.Emails[0];\n\n            Assert.Equal(person.Emails[0].Id, email.Id);\n            Assert.Equal(person.Emails[0].Address, email.Address);\n            Assert.Equal(person.Emails[0].PersonId, email.PersonId);\n\n            await Database.People.DeleteAsync(person);\n        }\n\n        [Fact]\n        public async Task QueryWithInterpolationRelationAsync()\n        {\n            var person = await InsertPersonWithRelationAsync();\n\n            var queriedPerson = await Database.People.QueryInterpolatedSingle($@\"SELECT * FROM \"\"People\"\" >< WHERE \"\"People\"\".\"\"Id\"\" = {person.Id}\").AddFormatter().JoinWith(x => x.Emails).Build().QueryAsync();\n\n            Assert.NotNull(queriedPerson);\n\n            Assert.Equal(person.Id, queriedPerson.Id);\n            Assert.Equal(person.Name, queriedPerson.Name);\n            Assert.NotEqual(person.DefaultValue, queriedPerson.DefaultValue);\n\n            Assert.NotNull(queriedPerson.Emails);\n            Assert.Single(queriedPerson.Emails);\n\n            var email = queriedPerson.Emails[0];\n\n            Assert.Equal(person.Emails[0].Id, email.Id);\n            Assert.Equal(person.Emails[0].Address, email.Address);\n            Assert.Equal(person.Emails[0].PersonId, email.PersonId);\n\n            await Database.People.DeleteAsync(person);\n        }\n\n        [Fact, Priority(0)]\n        public async Task QueryWithRelationAndNoIncludeAsync()\n        {\n            var person = await InsertPersonAsync();\n\n            await Assert.ThrowsAsync<InvalidOperationException>(() =>\n            {\n                return Database.People.QuerySingle(@\"SELECT * FROM \"\"People\"\" JOIN \"\"Emails\"\" ON \"\"Emails\"\".\"\"PersonId\"\" = \"\"People\"\".\"\"Id\"\" WHERE \"\"People\"\".\"\"Id\"\" = @id\", new NpgsqlParameter(\"@id\", person.Id)).Build().QueryAsync();\n            });\n\n            await Database.People.DeleteAsync(person);\n        }\n\n        private async Task<Person> InsertPersonAsync()\n        {\n            var person = new Person { Name = \"None\" };\n\n            await Database.People.InsertAsync(person);\n\n            return person;\n        }\n\n        private async Task<Person> InsertPersonWithNullAsync()\n        {\n            var person = new Person { Name = null };\n\n            await Database.People.InsertAsync(person);\n\n            return person;\n        }\n\n        private async Task<Person> InsertPersonWithRelationAsync()\n        {\n            var person = new Person { Name = \"None\", Emails = new List<Email> { new Email { Address = \"None\" } } };\n\n            await Database.People.InsertAsync(person);\n\n            return person;\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/SpecificTypes/CLREnumTests.cs",
    "content": "using System.Threading.Tasks;\nusing Venflow.Tests.Models;\nusing Xunit;\n\nnamespace Venflow.Tests.SpecificTypes\n{\n    public class CLREnumTests : TestBase\n    {\n        [Fact]\n        public async Task Query()\n        {\n            var dummy = new UncommonType\n            {\n                CLREnum = DummyEnum.Foo\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"CLREnum\"\" = {dummy.CLREnum}\").Build().QueryAsync();\n\n            Assert.Equal(DummyEnum.Foo, dummy.CLREnum);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task QueryNullableValue()\n        {\n            var dummy = new UncommonType\n            {\n                NCLREnum = DummyEnum.Foo\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"NCLREnum\"\" = {dummy.NCLREnum}\").Build().QueryAsync();\n\n            Assert.Equal(DummyEnum.Foo, dummy.NCLREnum);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task Insert()\n        {\n            var dummy = new UncommonType\n            {\n                CLREnum = DummyEnum.Foo\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.Equal(DummyEnum.Foo, dummy.CLREnum);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task InsertNullable()\n        {\n            var dummy = new UncommonType\n            {\n                NCLREnum = null\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.False(dummy.NCLREnum.HasValue);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task InsertNullableValue()\n        {\n            var dummy = new UncommonType\n            {\n                NCLREnum = DummyEnum.Foo\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.Equal(DummyEnum.Foo, dummy.NCLREnum);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task Update()\n        {\n            var dummy = new UncommonType();\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.CLREnum = DummyEnum.Foo;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.Equal(DummyEnum.Foo, dummy.CLREnum);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task UpdateNullable()\n        {\n            var dummy = new UncommonType\n            {\n                NCLREnum = DummyEnum.Foo\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.NCLREnum = null;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.False(dummy.NCLREnum.HasValue);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task UpdateNullableValue()\n        {\n            var dummy = new UncommonType\n            {\n                NCLREnum = null\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.NCLREnum = DummyEnum.Foo;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.Equal(DummyEnum.Foo, dummy.NCLREnum);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/SpecificTypes/CLRUIntKeyTests.cs",
    "content": "﻿using System.Threading.Tasks;\nusing Venflow.Tests.Models;\nusing Xunit;\n\nnamespace Venflow.Tests.SpecificTypes\n{\n    public class CLRUIntKeyTests : TestBase\n    {\n        [Fact]\n        public async Task Query()\n        {\n            var dummy = new UncommonType\n            {\n                CLRUInt64Key = 1\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"CLRUInt64Key\"\" = {dummy.CLRUInt64Key}\").Build().QueryAsync();\n\n            Assert.Equal(1uL, (ulong)dummy.CLRUInt64Key);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task QueryNullableValue()\n        {\n            var dummy = new UncommonType\n            {\n                NCLRUInt64Key = 1\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"NCLRUInt64Key\"\" = {dummy.NCLRUInt64Key}\").QueryAsync();\n\n            Assert.Equal(1uL, dummy.NCLRUInt64Key);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task Insert()\n        {\n            var dummy = new UncommonType\n            {\n                CLRUInt64Key = 1\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.Equal(1uL, (ulong)dummy.CLRUInt64Key);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task InsertMax()\n        {\n            var dummy = new UncommonType\n            {\n                CLRUInt64Key = ulong.MaxValue\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.Equal(ulong.MaxValue, (ulong)dummy.CLRUInt64Key);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task InsertNullable()\n        {\n            var dummy = new UncommonType\n            {\n                NCLRUInt64Key = null\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.False(dummy.NCLRUInt64Key.HasValue);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task InsertNullableValue()\n        {\n            var dummy = new UncommonType\n            {\n                NCLRUInt64Key = 1\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").QueryAsync();\n\n            Assert.Equal(1uL, dummy.NCLRUInt64Key);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task InsertMaxNullableValue()\n        {\n            var dummy = new UncommonType\n            {\n                NCLRUInt64Key = ulong.MaxValue\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").QueryAsync();\n\n            Assert.Equal(ulong.MaxValue, dummy.NCLRUInt64Key);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task Update()\n        {\n            var dummy = new UncommonType();\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.CLRUInt64Key = 1;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").QueryAsync();\n\n            Assert.Equal(1uL, (ulong)dummy.CLRUInt64Key);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task UpdateMax()\n        {\n            var dummy = new UncommonType();\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.CLRUInt64Key = ulong.MaxValue;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").QueryAsync();\n\n            Assert.Equal(ulong.MaxValue, (ulong)dummy.CLRUInt64Key);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task UpdateNullable()\n        {\n            var dummy = new UncommonType\n            {\n                NCLRUInt64Key = 1\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.NCLRUInt64Key = null;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").QueryAsync();\n\n            Assert.False(dummy.NCLRUInt64Key.HasValue);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task UpdateMaxNullable()\n        {\n            var dummy = new UncommonType\n            {\n                NCLRUInt64Key = ulong.MaxValue\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.NCLRUInt64Key = null;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").QueryAsync();\n\n            Assert.False(dummy.NCLRUInt64Key.HasValue);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task UpdateNullableValue()\n        {\n            var dummy = new UncommonType\n            {\n                NCLRUInt64Key = null\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.NCLRUInt64Key = 1;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").QueryAsync();\n\n            Assert.Equal(1uL, (ulong)dummy.NCLRUInt64Key);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task UpdateMaxNullableValue()\n        {\n            var dummy = new UncommonType\n            {\n                NCLRUInt64Key = null\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.NCLRUInt64Key = ulong.MaxValue;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").QueryAsync();\n\n            Assert.Equal(ulong.MaxValue, (ulong)dummy.NCLRUInt64Key);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/SpecificTypes/CLRUIntTests.cs",
    "content": "﻿using System.Threading.Tasks;\nusing Venflow.Tests.Models;\nusing Xunit;\n\nnamespace Venflow.Tests.SpecificTypes\n{\n    public class CLRUIntTests : TestBase\n    {\n        [Fact]\n        public async Task Query()\n        {\n            var dummy = new UncommonType\n            {\n                CLRUInt64 = ulong.MaxValue\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id} AND \"\"CLRUInt64\"\" = {dummy.CLRUInt64}\").Build().QueryAsync();\n\n            Assert.Equal(ulong.MaxValue, dummy.CLRUInt64);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task QueryNullableValue()\n        {\n            var dummy = new UncommonType\n            {\n                NCLRUInt64 = ulong.MaxValue\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id} AND \"\"NCLRUInt64\"\" = {dummy.NCLRUInt64}\").Build().QueryAsync();\n\n            Assert.Equal(ulong.MaxValue, dummy.NCLRUInt64);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task Insert()\n        {\n            var dummy = new UncommonType\n            {\n                CLRUInt64 = 1\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.Equal(1uL, dummy.CLRUInt64);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task InsertMax()\n        {\n            var dummy = new UncommonType\n            {\n                CLRUInt64 = ulong.MaxValue\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.Equal(ulong.MaxValue, dummy.CLRUInt64);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task InsertNullable()\n        {\n            var dummy = new UncommonType\n            {\n                NCLRUInt64 = null\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.False(dummy.NCLRUInt64.HasValue);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task InsertNullableValue()\n        {\n            var dummy = new UncommonType\n            {\n                NCLRUInt64 = 1\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").QueryAsync();\n\n            Assert.Equal(1uL, dummy.NCLRUInt64);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task InsertMaxNullableValue()\n        {\n            var dummy = new UncommonType\n            {\n                NCLRUInt64 = ulong.MaxValue\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").QueryAsync();\n\n            Assert.Equal(ulong.MaxValue, dummy.NCLRUInt64);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task Update()\n        {\n            var dummy = new UncommonType();\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.CLRUInt64 = 1;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").QueryAsync();\n\n            Assert.Equal(1uL, dummy.CLRUInt64);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task UpdateMax()\n        {\n            var dummy = new UncommonType();\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.CLRUInt64 = ulong.MaxValue;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").QueryAsync();\n\n            Assert.Equal(ulong.MaxValue, dummy.CLRUInt64);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task UpdateNullable()\n        {\n            var dummy = new UncommonType\n            {\n                NCLRUInt64 = 1\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.NCLRUInt64 = null;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").QueryAsync();\n\n            Assert.False(dummy.NCLRUInt64.HasValue);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task UpdateMaxNullable()\n        {\n            var dummy = new UncommonType\n            {\n                NCLRUInt64 = ulong.MaxValue\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.NCLRUInt64 = null;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").QueryAsync();\n\n            Assert.False(dummy.NCLRUInt64.HasValue);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task UpdateNullableValue()\n        {\n            var dummy = new UncommonType\n            {\n                NCLRUInt64 = null\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.NCLRUInt64 = 1;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").QueryAsync();\n\n            Assert.Equal(1uL, dummy.NCLRUInt64);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task UpdateMaxNullableValue()\n        {\n            var dummy = new UncommonType\n            {\n                NCLRUInt64 = null\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.NCLRUInt64 = ulong.MaxValue;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").QueryAsync();\n\n            Assert.Equal(ulong.MaxValue, dummy.NCLRUInt64);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/SpecificTypes/GuidTests.cs",
    "content": "﻿using System;\nusing System.Threading.Tasks;\nusing Venflow.Tests.Models;\nusing Xunit;\n\nnamespace Venflow.Tests.SpecificTypes\n{\n    public class GuidTests : TestBase\n    {\n        [Fact]\n        public async Task Insert()\n        {\n            var guid = Guid.NewGuid();\n\n            var dummy = new UncommonType\n            {\n                CLRGuid = guid\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.Equal(guid, dummy.CLRGuid);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task InsertNullable()\n        {\n            var dummy = new UncommonType\n            {\n                NCLRGuid = null\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.False(dummy.NCLRGuid.HasValue);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task InsertNullableValue()\n        {\n            var guid = Guid.NewGuid();\n\n            var dummy = new UncommonType\n            {\n                NCLRGuid = guid\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.Equal(guid, dummy.NCLRGuid);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task Update()\n        {\n            var guid = Guid.NewGuid();\n\n            var dummy = new UncommonType();\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.CLRGuid = guid;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.Equal(guid, dummy.CLRGuid);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task UpdateNullable()\n        {\n            var dummy = new UncommonType\n            {\n                NCLRGuid = Guid.NewGuid()\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.NCLRGuid = null;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.False(dummy.NCLRGuid.HasValue);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task UpdateNullableValue()\n        {\n            var guid = Guid.NewGuid();\n\n            var dummy = new UncommonType\n            {\n                NCLRGuid = null\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.NCLRGuid = guid;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.Equal(guid, dummy.NCLRGuid);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/SpecificTypes/KeyTests.cs",
    "content": "﻿using System;\nusing System.Threading.Tasks;\nusing Venflow.Tests.Keys;\nusing Venflow.Tests.Models;\nusing Xunit;\n\nnamespace Venflow.Tests.SpecificTypes\n{\n    public class KeyTests : TestBase\n    {\n        [Fact]\n        public void Equality()\n        {\n            var guid = Guid.NewGuid();\n\n            Key<KeyTests> key1 = guid;\n            Key<KeyTests> key2 = guid;\n\n            Assert.True(key1 == key2);\n            Assert.False(key1 != key2);\n        }\n\n        [Fact]\n        public void HashCode()\n        {\n            var guid = Guid.NewGuid();\n\n            Key<KeyTests> key = guid;\n\n            Assert.Equal(guid.GetHashCode(), key.GetHashCode());\n        }\n\n        [Fact]\n        public void KeyToString()\n        {\n            var guid = Guid.NewGuid();\n\n            Key<KeyTests> key = guid;\n\n            Assert.Equal(guid.ToString(), key.ToString());\n        }\n\n        [Fact]\n        public async Task Query()\n        {\n            var guid = Guid.NewGuid();\n\n            var dummy = new UncommonType\n            {\n                GuidKey = guid\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"GuidKey\"\" = {dummy.GuidKey}\").Build().QueryAsync();\n\n            Assert.Equal(guid, (Guid)dummy.GuidKey);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task QueryNullableValue()\n        {\n            var guid = Guid.NewGuid();\n\n            var dummy = new UncommonType\n            {\n                NGuidKey = guid\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"NGuidKey\"\" = {dummy.NGuidKey}\").Build().QueryAsync();\n\n            Assert.Equal(guid, (Guid)dummy.NGuidKey);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task Insert()\n        {\n            var guid = Guid.NewGuid();\n\n            var dummy = new UncommonType\n            {\n                GuidKey = guid\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.Equal(guid, (Guid)dummy.GuidKey);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task InsertNullable()\n        {\n            var dummy = new UncommonType\n            {\n                NGuidKey = null\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.False(dummy.NGuidKey.HasValue);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task InsertNullableValue()\n        {\n            var guid = Guid.NewGuid();\n\n            var dummy = new UncommonType\n            {\n                NGuidKey = guid\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.Equal(guid, dummy.NGuidKey);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task Update()\n        {\n            var guid = Guid.NewGuid();\n\n            var dummy = new UncommonType();\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.GuidKey = guid;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.Equal(guid, (Guid)dummy.GuidKey);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task UpdateNullable()\n        {\n            var dummy = new UncommonType\n            {\n                NGuidKey = Guid.NewGuid()\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.NGuidKey = null;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.False(dummy.NGuidKey.HasValue);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task UpdateNullableValue()\n        {\n            var guid = Guid.NewGuid();\n\n            var dummy = new UncommonType\n            {\n                NGuidKey = null\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.NGuidKey = guid;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.Equal(guid, dummy.NGuidKey);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/SpecificTypes/PostgresEnumTests.cs",
    "content": "﻿using System.Threading.Tasks;\nusing Venflow.Tests.Models;\nusing Xunit;\n\nnamespace Venflow.Tests.SpecificTypes\n{\n    public class PostgresEnumTests : TestBase\n    {\n        [Fact]\n        public async Task Query()\n        {\n            var dummy = new UncommonType\n            {\n                PostgreEnum = PostgreEnum.Foo\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"PostgreEnum\"\" = {dummy.PostgreEnum}\").Build().QueryAsync();\n\n            Assert.False(dummy.NPostgreEnum.HasValue);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task QueryNullableValue()\n        {\n            var dummy = new UncommonType\n            {\n                NPostgreEnum = PostgreEnum.Foo\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"NPostgreEnum\"\" = {dummy.NPostgreEnum}\").Build().QueryAsync();\n\n            Assert.Equal(PostgreEnum.Foo, dummy.NPostgreEnum);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task Insert()\n        {\n            var dummy = new UncommonType\n            {\n                PostgreEnum = PostgreEnum.Foo\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.Equal(PostgreEnum.Foo, dummy.PostgreEnum);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task InsertNullable()\n        {\n            var dummy = new UncommonType\n            {\n                NPostgreEnum = null\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").Build().QueryAsync();\n\n            Assert.False(dummy.NPostgreEnum.HasValue);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task InsertNullableValue()\n        {\n            var dummy = new UncommonType\n            {\n                NPostgreEnum = PostgreEnum.Foo\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").QueryAsync();\n\n            Assert.Equal(PostgreEnum.Foo, dummy.NPostgreEnum);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task Update()\n        {\n            var dummy = new UncommonType();\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.PostgreEnum = PostgreEnum.Foo;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").QueryAsync();\n\n            Assert.Equal(PostgreEnum.Foo, dummy.PostgreEnum);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task UpdateNullable()\n        {\n            var dummy = new UncommonType\n            {\n                NPostgreEnum = PostgreEnum.Foo\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.NPostgreEnum = null;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").QueryAsync();\n\n            Assert.False(dummy.NPostgreEnum.HasValue);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n\n        [Fact]\n        public async Task UpdateNullableValue()\n        {\n            var dummy = new UncommonType\n            {\n                NPostgreEnum = null\n            };\n\n            Assert.Equal(1, await Database.UncommonTypes.InsertAsync(dummy));\n\n            Database.UncommonTypes.TrackChanges(ref dummy);\n\n            dummy.NPostgreEnum = PostgreEnum.Foo;\n\n            await Database.UncommonTypes.UpdateAsync(dummy);\n\n            dummy = await Database.UncommonTypes.QueryInterpolatedSingle($@\"SELECT * FROM \"\"UncommonTypes\"\" WHERE \"\"Id\"\" = {dummy.Id}\").QueryAsync();\n\n            Assert.Equal(PostgreEnum.Foo, dummy.NPostgreEnum);\n\n            await Database.UncommonTypes.DeleteAsync(dummy);\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/TableExtensions.cs",
    "content": "﻿using System.Collections;\nusing Venflow.Dynamic.Materializer;\nusing Venflow.Modeling;\n\nnamespace Venflow.Tests\n{\n    internal static class TableExtensions\n    {\n        internal static void ClearMaterializerCache<TEntity>(this Table<TEntity> table) where TEntity : class, new()\n        {\n            var entity = (Entity<TEntity>)typeof(Table<TEntity>).GetProperty(\"Configuration\", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetGetMethod(true).Invoke(table, null);\n\n            var factory = entity.MaterializerFactory;\n\n            var materializerCache = (IDictionary)typeof(MaterializerFactory<TEntity>).GetField(\"_materializerCache\", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(factory);\n            var primaryCache = (IDictionary)typeof(MaterializerFactory<TEntity>).GetField(\"_primaryMaterializerCache\", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(factory);\n\n            var expirationField = typeof(MaterializerFactory<TEntity>).GetField(\"_primaryExpirations\", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);\n            var expirationCache = expirationField.GetValue(factory);\n\n            var materializerLock = typeof(MaterializerFactory<TEntity>).GetField(\"_materializerLock\", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(factory);\n\n            lock (materializerLock)\n            {\n                materializerCache.Clear();\n                primaryCache.Clear();\n                expirationField.FieldType.GetMethod(\"Clear\").Invoke(expirationCache, null);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/TableTests.cs",
    "content": "﻿using System.Threading.Tasks;\nusing Venflow.Tests.Models;\nusing Xunit;\n\nnamespace Venflow.Tests\n{\n    public class TableTests : TestBase\n    {\n        [Fact]\n        public async Task Count()\n        {\n            await using var transaction = await Database.BeginTransactionAsync();\n\n            var intialCount = await Database.People.CountAsync();\n\n            await Database.People.InsertAsync(new[] { new Person(), new Person(), new Person() });\n\n            Assert.True(await Database.People.CountAsync() >= intialCount + 3);\n\n            transaction.Rollback();\n        }\n\n        [Fact]\n        public async Task Truncate()\n        {\n            await using var transaction = await Database.BeginTransactionAsync();\n\n            await Database.People.InsertAsync(new[] { new Person(), new Person(), new Person() });\n\n            await Database.People.TruncateAsync(Enums.ForeignTruncateOptions.Cascade);\n\n            Assert.Equal(0, await Database.People.CountAsync());\n\n            transaction.Rollback();\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/TestBase.cs",
    "content": "﻿using System;\nusing Venflow.Tests.Models;\n\nnamespace Venflow.Tests\n{\n    public abstract class TestBase : IDisposable\n    {\n        protected RelationDatabase Database { get; }\n\n        protected TestBase()\n        {\n            Database = new RelationDatabase();\n        }\n\n        public void Dispose()\n        {\n            Database.Dispose();\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/TransactionTests/TransactionTests.cs",
    "content": "using System;\nusing System.Reflection;\nusing System.Threading.Tasks;\nusing Npgsql;\nusing Venflow.Tests.Models;\nusing Xunit;\n\nnamespace Venflow.Tests.TransactionTests\n{\n    public class TransactionTests : TestBase\n    {\n        [Fact]\n        public async Task ReuseTransactionAsync()\n        {\n            await using var transaction = await Database.BeginTransactionAsync();\n\n            Assert.Equal(transaction, await Database.BeginTransactionAsync());\n        }\n\n        [Fact]\n        public async Task RollbackToTransactionSavepointAsync()\n        {\n            await using var transaction = await Database.BeginTransactionAsync();\n\n            var person = new Person { Name = \"RollbackPerson\" };\n\n            await Database.People.InsertAsync(person);\n\n            var throwingPerson = new Person { Emails = new Email[] { new ThrowingEmail() } };\n\n            await Assert.ThrowsAsync<NotImplementedException>(() => Database.People.InsertAsync(throwingPerson));\n\n            Assert.Null(await Database.People.QueryInterpolatedSingle(@$\"SELECT * FROM \"\"People\"\" WHERE \"\"Id\"\" = {throwingPerson.Id}\").QueryAsync());\n\n            var transactionType = transaction.GetType();\n            var npgsqlTransactionType = typeof(NpgsqlTransaction);\n\n            Assert.False((bool)transactionType.GetProperty(\"IsDisposed\", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(transaction));\n            Assert.False((bool)npgsqlTransactionType.GetProperty(\"IsCompleted\", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(transaction.GetNpgsqlTransaction()));\n\n            await transaction.CommitAsync();\n\n            Assert.Null(await Database.People.QueryInterpolatedSingle(@$\"SELECT * FROM \"\"People\"\" WHERE \"\"Id\"\" = {throwingPerson.Id}\").QueryAsync());\n            Assert.NotNull(await Database.People.QueryInterpolatedSingle(@$\"SELECT * FROM \"\"People\"\" WHERE \"\"Id\"\" = {person.Id}\").QueryAsync());\n        }\n\n        private class ThrowingEmail : Email\n        {\n            public override string Address { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/UnitTestHandler.cs",
    "content": "﻿using System.Threading.Tasks;\nusing Npgsql;\nusing Venflow.Shared;\n\nnamespace Venflow.Tests\n{\n    public class UnitTestHandler\n    {\n        private static UnitTestHandler _current;\n        private static Database _database;\n\n        private static readonly object _buildLocker = new object();\n        private static readonly TaskCompletionSource<bool> _waitHandle = new TaskCompletionSource<bool>();\n\n        private UnitTestHandler()\n        {\n            NpgsqlConnection connection;\n            NpgsqlCommand command;\n\n            if (SecretsHandler.IsDevelopmentMachine(\"Tests\"))\n            {\n                connection = new NpgsqlConnection(SecretsHandler.GetConnectionString<UnitTestHandler>(\"Postgres\").TrimEnd(';') + \";Enlist=true;Pooling=false;\");\n\n                connection.Open();\n\n                command = new NpgsqlCommand(@\"\n                    DROP DATABASE IF EXISTS venflow_tests;\n                    CREATE DATABASE venflow_tests OWNER venflow_tests;\n                    \", connection);\n\n                command.ExecuteNonQuery();\n\n                command.Dispose();\n                connection.Dispose();\n            }\n\n            try\n            {\n                connection = new NpgsqlConnection(_database.ConnectionString);\n                connection.Open();\n\n                command = new NpgsqlCommand(_createTablesCommand, connection);\n\n                command.ExecuteNonQuery();\n\n                command.Dispose();\n\n                connection.ReloadTypes();\n\n                connection.Close();\n            }\n            catch\n            {\n                // We are testing in a different Framework version.\n            }\n        }\n\n        public static void Init(Database database)\n        {\n            lock (_buildLocker)\n            {\n                if (_current is not null)\n                    return;\n\n                _database = database;\n                _current = new UnitTestHandler();\n\n                _waitHandle.SetResult(true);\n            }\n        }\n\n        public static void Wait()\n        {\n            _waitHandle.Task.GetAwaiter().GetResult();\n        }\n\n        ~UnitTestHandler()\n        {\n            _database.ExecuteAsync(\"DROP DATABASE venflow_tests\").GetAwaiter().GetResult();\n            _database.GetConnection().Close();\n        }\n\n        private const string _createTablesCommand =\n@\"ALTER SCHEMA public OWNER TO venflow_tests;\n\nCOMMENT ON SCHEMA public IS 'standard public schema';\n\nCREATE EXTENSION \"\"uuid-ossp\"\";\n\nCREATE TYPE public.postgre_enum AS ENUM(\n    'foo',\n    'bar'\n);\n\nALTER TYPE public.postgre_enum OWNER TO venflow_tests;\n\nCREATE TABLE public.\"\"Blogs\"\" (\n    \"\"Id\"\" integer NOT NULL,\n    \"\"Topic\"\" text NOT NULL,\n    \"\"UserId\"\" integer NOT NULL\n);\n\n\nALTER TABLE public.\"\"Blogs\"\" OWNER TO venflow_tests;\n\nCREATE TABLE public.\"\"EmailContents\"\" (\n    \"\"Id\"\" integer NOT NULL,\n    \"\"Content\"\" text NOT NULL,\n    \"\"EmailId\"\" integer NOT NULL\n);\n\nALTER TABLE public.\"\"EmailContents\"\" OWNER TO venflow_tests;\n\nALTER TABLE public.\"\"EmailContents\"\" ALTER COLUMN \"\"Id\"\" ADD GENERATED ALWAYS AS IDENTITY(\n    SEQUENCE NAME public.\"\"EmailContents_Id_seq\"\"\n    START WITH 0\n    INCREMENT BY 1\n    MINVALUE 0\n    NO MAXVALUE\n    CACHE 1\n);\n\nCREATE TABLE public.\"\"Emails\"\" (\n    \"\"Id\"\" integer NOT NULL,\n    \"\"Address\"\" text NOT NULL,\n    \"\"PersonId\"\" integer NOT NULL\n);\n\nALTER TABLE public.\"\"Emails\"\" OWNER TO venflow_tests;\n\nALTER TABLE public.\"\"Emails\"\" ALTER COLUMN \"\"Id\"\" ADD GENERATED ALWAYS AS IDENTITY(\n    SEQUENCE NAME public.\"\"Emails_Id_seq\"\"\n    START WITH 1\n    INCREMENT BY 1\n    NO MINVALUE\n    NO MAXVALUE\n    CACHE 1\n);\n\nCREATE TABLE public.\"\"People\"\" (\n    \"\"Id\"\" integer NOT NULL,\n    \"\"Name\"\" text,\n    \"\"DefaultValue\"\" timestamp without time zone NOT NULL DEFAULT now()\n);\n\nALTER TABLE public.\"\"People\"\" OWNER TO venflow_tests;\n\nALTER TABLE public.\"\"People\"\" ALTER COLUMN \"\"Id\"\" ADD GENERATED ALWAYS AS IDENTITY(\n    SEQUENCE NAME public.\"\"People_Id_seq\"\"\n    START WITH 0\n    INCREMENT BY 1\n    MINVALUE 0\n    NO MAXVALUE\n    CACHE 1\n);\n\nCREATE TABLE public.\"\"UncommonTypes\"\" (\n    \"\"Id\"\" uuid DEFAULT public.uuid_generate_v4() NOT NULL,\n    \"\"GuidKey\"\" uuid NOT NULL,\n    \"\"NGuidKey\"\" uuid,\n    \"\"CLRUInt64Key\"\" bigint NOT NULL,\n    \"\"NCLRUInt64Key\"\" bigint,\n    \"\"CLRGuid\"\" uuid NOT NULL,\n    \"\"NCLRGuid\"\" uuid,\n    \"\"CLREnum\"\" integer NOT NULL,\n    \"\"NCLREnum\"\" integer,\n    \"\"CLRUInt64\"\" bigint NOT NULL,\n    \"\"NCLRUInt64\"\" bigint,\n    \"\"PostgreEnum\"\" public.postgre_enum NOT NULL,\n    \"\"NPostgreEnum\"\" public.postgre_enum\n);\n\nALTER TABLE public.\"\"UncommonTypes\"\" OWNER TO venflow_tests;\n\nCREATE TABLE public.\"\"Users\"\" (\n    \"\"Id\"\" integer NOT NULL,\n    \"\"Name\"\" text NOT NULL\n);\n\nALTER TABLE public.\"\"Users\"\" OWNER TO venflow_tests;\n\nALTER TABLE ONLY public.\"\"Blogs\"\"\n    ADD CONSTRAINT \"\"Blogs_pkey\"\" PRIMARY KEY(\"\"Id\"\");\n\n        ALTER TABLE ONLY public.\"\"EmailContents\"\"\n    ADD CONSTRAINT \"\"EmailContents_pkey\"\" PRIMARY KEY(\"\"Id\"\");\n\n        ALTER TABLE ONLY public.\"\"Emails\"\"\n    ADD CONSTRAINT \"\"Emails_pkey\"\" PRIMARY KEY(\"\"Id\"\");\n\n        ALTER TABLE ONLY public.\"\"People\"\"\n    ADD CONSTRAINT \"\"People_pkey\"\" PRIMARY KEY(\"\"Id\"\");\n\n        ALTER TABLE ONLY public.\"\"UncommonTypes\"\"\n    ADD CONSTRAINT \"\"UncommonTypes_pkey\"\" PRIMARY KEY(\"\"Id\"\");\n\n        ALTER TABLE ONLY public.\"\"Users\"\"\n    ADD CONSTRAINT \"\"Users_pkey\"\" PRIMARY KEY(\"\"Id\"\");\n\n        ALTER TABLE ONLY public.\"\"EmailContents\"\"\n    ADD CONSTRAINT \"\"FK_Emails_EmailContents\"\" FOREIGN KEY(\"\"EmailId\"\") REFERENCES public.\"\"Emails\"\"(\"\"Id\"\") ON DELETE CASCADE NOT VALID;\n\nALTER TABLE ONLY public.\"\"Blogs\"\"\n    ADD CONSTRAINT \"\"FK_Users_Blogs\"\" FOREIGN KEY(\"\"UserId\"\") REFERENCES public.\"\"Users\"\"(\"\"Id\"\") ON DELETE CASCADE NOT VALID;\n\nALTER TABLE ONLY public.\"\"Emails\"\"\n    ADD CONSTRAINT emails_people_id_fk FOREIGN KEY(\"\"PersonId\"\") REFERENCES public.\"\"People\"\"(\"\"Id\"\") ON DELETE CASCADE;\";\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/UpdateTests/BatchUpdate.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\nusing Npgsql;\nusing Venflow.Tests.Models;\nusing Xunit;\n\nnamespace Venflow.Tests.UpdateTests\n{\n    public class BatchUpdate : TestBase\n    {\n        [Fact]\n        public async Task UpdateFromQueryAsync()\n        {\n            var people = await InsertPeopleAsync();\n\n            var queriedPeople = await Database.People.QueryBatch(@\"SELECT * FROM \"\"People\"\" WHERE \"\"People\"\".\"\"Id\"\"=@id1 OR \"\"People\"\".\"\"Id\"\"=@id2\", new NpgsqlParameter(\"@id1\", people[0].Id), new NpgsqlParameter(\"@id2\", people[1].Id)).TrackChanges().Build().QueryAsync();\n\n            queriedPeople[0].Name = \"NoneUpdated\";\n            queriedPeople[1].Name = \"NoneUpdated\";\n\n            Assert.Equal(\"NoneUpdated\", queriedPeople[0].Name);\n            Assert.Equal(\"NoneUpdated\", queriedPeople[1].Name);\n\n            await Database.People.UpdateAsync(queriedPeople);\n\n            queriedPeople = await Database.People.QueryBatch(@\"SELECT * FROM \"\"People\"\" WHERE \"\"People\"\".\"\"Id\"\"=@id1 OR \"\"People\"\".\"\"Id\"\"=@id2\", new NpgsqlParameter(\"@id1\", people[0].Id), new NpgsqlParameter(\"@id2\", people[1].Id)).Build().QueryAsync();\n\n            Assert.Equal(\"NoneUpdated\", queriedPeople[0].Name);\n            Assert.Equal(\"NoneUpdated\", queriedPeople[1].Name);\n\n            await Database.People.DeleteAsync(queriedPeople);\n        }\n\n        [Fact]\n        public async Task UpdateFromManualAsync()\n        {\n            var people = await InsertPeopleAsync();\n\n            Database.People.TrackChanges(people);\n\n            people[0].Name = \"NoneUpdated\";\n            people[1].Name = \"NoneUpdated\";\n\n            Assert.Equal(\"NoneUpdated\", people[0].Name);\n            Assert.Equal(\"NoneUpdated\", people[1].Name);\n\n            await Database.People.UpdateAsync(people);\n\n            people = await Database.People.QueryBatch(@\"SELECT * FROM \"\"People\"\" WHERE \"\"People\"\".\"\"Id\"\"=@id1 OR \"\"People\"\".\"\"Id\"\"=@id2\", new NpgsqlParameter(\"@id1\", people[0].Id), new NpgsqlParameter(\"@id2\", people[1].Id)).Build().QueryAsync();\n\n            Assert.Equal(\"NoneUpdated\", people[0].Name);\n            Assert.Equal(\"NoneUpdated\", people[1].Name);\n\n            await Database.People.DeleteAsync(people);\n        }\n\n        [Fact]\n        public void ThrowOnNoneProxyEntityTrackChanges()\n        {\n            var emailContents = new List<EmailContent>\n            {\n                new EmailContent(),\n                new EmailContent()\n            };\n\n            Assert.Throws<InvalidOperationException>(() => Database.EmailContents.TrackChanges(emailContents));\n        }\n\n        private async Task<List<Person>> InsertPeopleAsync()\n        {\n            var people = new List<Person>\n            {\n                new Person { Name = \"None1\" },\n                new Person { Name = \"None2\" }\n            };\n\n            await Database.People.InsertAsync(people);\n\n            return people;\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/UpdateTests/CustomUpdate.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Threading.Tasks;\nusing Venflow.Tests.Models;\nusing Xunit;\n\nnamespace Venflow.Tests.UpdateTests\n{\n    public class CustomUpdate : TestBase\n    {\n        [Fact]\n        public async Task CopyChangeTrackingEntityAsync()\n        {\n            await InsertPersonWithRelationAsync();\n\n            var person = await Database.People.QuerySingle(@\"SELECT *, \"\"Name\"\" AS \"\"Something\"\" FROM \"\"People\"\" LIMIT 1\")\n                                              .QueryAsync();\n\n            person!.Stuff = \"Stuff\";\n\n            var oldPreson = person!;\n\n            Database.People.TrackChanges(ref person!);\n\n            Assert.Equal(oldPreson.Id, person.Id);\n            Assert.Equal(oldPreson.Name, person.Name);\n            Assert.Equal(oldPreson.Something, person.Something);\n            Assert.Equal(oldPreson.SomethingElse, person.SomethingElse);\n            Assert.Equal(oldPreson.Stuff, person.Stuff);\n\n            await Database.People.DeleteAsync(person);\n        }\n\n        [Fact]\n        public void InstantiateChangeTrackingEntity()\n        {\n            var person = Database.People.GetProxiedEntity();\n\n            Assert.NotNull(person);\n            Assert.IsNotType<Person>(person);\n        }\n\n        private async Task<Person> InsertPersonWithRelationAsync()\n        {\n            var person = new Person { Name = \"None\", Emails = new List<Email> { new Email { Address = \"None\" } } };\n\n            await Database.People.InsertAsync(person);\n\n            return person;\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/UpdateTests/SingleUpdate.cs",
    "content": "using System;\nusing System.Threading.Tasks;\nusing Npgsql;\nusing Venflow.Tests.Models;\nusing Xunit;\n\nnamespace Venflow.Tests.UpdateTests\n{\n    public class SingleUpdate : TestBase\n    {\n        [Fact]\n        public async Task UpdateFromQueryAsync()\n        {\n            var person = await InsertPersonAsync();\n\n            var queriedPerson = await Database.People.QuerySingle(@\"SELECT * FROM \"\"People\"\" WHERE \"\"People\"\".\"\"Id\"\"=@id\", new NpgsqlParameter(\"@id\", person.Id)).TrackChanges().Build().QueryAsync();\n\n            queriedPerson.Name = \"NoneUpdated\";\n\n            Assert.Equal(\"NoneUpdated\", queriedPerson.Name);\n\n            await Database.People.UpdateAsync(queriedPerson);\n\n            queriedPerson = await Database.People.QuerySingle(@\"SELECT * FROM \"\"People\"\" WHERE \"\"People\"\".\"\"Id\"\"=@id\", new NpgsqlParameter(\"@id\", person.Id)).Build().QueryAsync();\n\n            Assert.Equal(\"NoneUpdated\", queriedPerson.Name);\n\n            await Database.People.DeleteAsync(queriedPerson);\n        }\n\n        [Fact]\n        public async Task UpdateFromManualAsync()\n        {\n            var person = await InsertPersonAsync();\n\n            Database.People.TrackChanges(ref person);\n\n            person.Name = \"NoneUpdated\";\n\n            Assert.Equal(\"NoneUpdated\", person.Name);\n\n            await Database.People.UpdateAsync(person);\n\n            person = await Database.People.QuerySingle(@\"SELECT * FROM \"\"People\"\" WHERE \"\"People\"\".\"\"Id\"\"=@id\", new NpgsqlParameter(\"@id\", person.Id)).Build().QueryAsync();\n\n            Assert.Equal(\"NoneUpdated\", person.Name);\n\n            await Database.People.DeleteAsync(person);\n        }\n\n        [Fact]\n        public void ThrowOnNoneProxyEntityTrackChanges()\n        {\n            var emailContent = new EmailContent();\n\n            Assert.Throws<InvalidOperationException>(() => Database.EmailContents.TrackChanges(ref emailContent));\n        }\n\n        private async Task<Person> InsertPersonAsync()\n        {\n            var person = new Person { Name = \"None\" };\n\n            await Database.People.InsertAsync(person);\n\n            return person;\n        }\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests/Venflow.Tests.csproj",
    "content": "﻿<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFrameworks>net6.0;net5.0;netcoreapp3.1;net48</TargetFrameworks>\n    <AssemblyOriginatorKeyFile>../../Venflow.snk</AssemblyOriginatorKeyFile>\n    <SignAssembly>true</SignAssembly>\n    <NoWarn>8600;8602;8604;8605;8616;8618;8620;8629;8002</NoWarn>\n    <UserSecretsId>9ee3e386-8d57-4d94-bde3-820b26e3efdf</UserSecretsId>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"coverlet.msbuild\" Version=\"3.1.0\">\n      <PrivateAssets>all</PrivateAssets>\n      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>\n    </PackageReference>\n    <PackageReference Include=\"Microsoft.Extensions.Configuration.UserSecrets\" Version=\"6.0.0-rc.1.21451.13\" />\n    <PackageReference Include=\"Microsoft.NET.Test.Sdk\" Version=\"16.11.0\" />\n    <PackageReference Include=\"Newtonsoft.Json\" Version=\"13.0.1\" />\n    <PackageReference Include=\"xunit\" Version=\"2.4.1\" />\n    <PackageReference Include=\"Xunit.Priority\" Version=\"1.1.6\" />\n    <PackageReference Include=\"xunit.runner.console\" Version=\"2.4.1\">\n      <PrivateAssets>all</PrivateAssets>\n      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>\n    </PackageReference>\n    <PackageReference Include=\"xunit.runner.visualstudio\" Version=\"2.4.3\">\n      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>\n      <PrivateAssets>all</PrivateAssets>\n    </PackageReference>\n    <PackageReference Include=\"coverlet.collector\" Version=\"3.1.0\">\n      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>\n      <PrivateAssets>all</PrivateAssets>\n    </PackageReference>\n\n    <PackageReference Include=\"Microsoft.CodeAnalysis.CSharp\" Version=\"4.0.0-4.final\" PrivateAssets=\"all\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\src\\Venflow\\Venflow.csproj\" />\n    <ProjectReference Include=\"..\\..\\src\\Venflow.Generators\\Venflow.Generators.csproj\" />\n    <ProjectReference Include=\"..\\..\\src\\Venflow.NewtonsoftJson\\Venflow.NewtonsoftJson.csproj\" />\n    <ProjectReference Include=\"..\\Venflow.Shared\\Venflow.Shared.csproj\" />\n    <ProjectReference Include=\"..\\Venflow.Tests.Keys\\Venflow.Tests.Keys.csproj\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <None Include=\"xunit.runner.json\" CopyToOutputDirectory=\"Always\" />\n  </ItemGroup>\n\n</Project>\n"
  },
  {
    "path": "test/Venflow.Tests/xunit.runner.json",
    "content": "﻿{\n  \"parallelizeAssembly\": false,\n  \"parallelizeTestCollections\": false\n}"
  },
  {
    "path": "test/Venflow.Tests.Keys/Directory.Build.props",
    "content": "<Project>\n\n</Project>"
  },
  {
    "path": "test/Venflow.Tests.Keys/Key.cs",
    "content": "﻿using System;\n\nnamespace Venflow.Tests.Keys\n{\n    [Venflow.GeneratedKey(typeof(Guid))]\n    public partial struct Key<T>\n    {\n    }\n}\n"
  },
  {
    "path": "test/Venflow.Tests.Keys/Venflow.Tests.Keys.csproj",
    "content": "﻿<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFrameworks>net6.0;net5.0;netcoreapp3.1;net48</TargetFrameworks>\n    <LangVersion>preview</LangVersion>\n    <Nullable>enable</Nullable>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\src\\Venflow.Generators\\Venflow.Generators.csproj\" OutputItemType=\"Analyzer\" ReferenceOutputAssembly=\"false\" />\n    <ProjectReference Include=\"..\\..\\src\\Venflow.Keys\\Venflow.Keys.csproj\" />\n    <ProjectReference Include=\"..\\..\\src\\Venflow\\Venflow.csproj\" />\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "test/Venflow.Tests.Keys/Venflow.Tests.Keys.xml",
    "content": "<?xml version=\"1.0\"?>\n<doc>\n    <assembly>\n        <name>Venflow.Tests.Keys</name>\n    </assembly>\n    <members>\n    </members>\n</doc>\n"
  }
]